Execution of Information Link created from Apache Drill data source fails with error "An Internal Error has occurred:unexpected exception" caused by UnsupportedOperationException cancel().

Execution of Information Link created from Apache Drill data source fails with error "An Internal Error has occurred:unexpected exception" caused by UnsupportedOperationException cancel().

book

Article ID: KB0081036

calendar_today

Updated On:

Products Versions
Spotfire Analyst All Versions

Description

In Information Designer, when a Information Link is created on a Table in Apache Drill data source, execution of Information Link may fail with the following error
ERROR 2018-05-07T08:44:51,824+0200 [291661, #5, #201] 

api.common.InformationModelServiceCommon: An Internal Error has occurred. com.spotfire.ws.dat.OperatorException: unexpected exception
at com.spotfire.ws.api.common.InformationModelServiceCommon.wrapException(InformationModelServiceCommon.java:688) ~[server-is.jar:?]
... 1 more

Caused by: java.lang.UnsupportedOperationException
        
at oadd.org.apache.calcite.avatica.AvaticaResultSet.cancel(AvaticaResultSet.java:168) ~[drill-jdbc-all-1.12.0.jar:1.12.0]
        
at org.apache.drill.jdbc.impl.DrillResultSetImpl.cancel(DrillResultSetImpl.java:115) ~[drill-jdbc-all-1.12.0.jar:1.12.0]
        
at oadd.org.apache.calcite.avatica.AvaticaStatement.cancel(AvaticaStatement.java:243) ~[drill-jdbc-all-1.12.0.jar:1.12.0]
...
...

This error is caused when a DBMS or JDBC Driver does not support the JDBC cancel() method.

Issue/Introduction

In Information Designer, when a Information Link is created on a Table in Apache Drill data source, execution of Information Link may fail if the driver does not support JDBC cancel operation.

Resolution

Whenever information link query takes longer than expected time, Spotfire executes a JDBC cancel() method which is called on Statement, ResultSet etc objects. This operation should be compatible with DBMS and the driver. But Apache drill JDBC driver till version 1.12 does not support cancel() operation and that will cause information link to fail with the above error.

To avoid this issue, install Apache Drill JDBC driver 1.13 or later, which supports the 'cancel' operation.

Additional Information

External: Apache Drill 1.13.0 Release Notes