Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-5741 External JDBC Read Support
  3. IMPALA-13256

SQLDataException in external JDBC table query request

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • Impala 4.5.0, Impala 4.4.1
    • None
    • None

    Description

      Logs from impala coordinator node:

      I0726 21:15:51.142773 3202116 GenericJdbcDatabaseAccessor.java:86] b34bb1ec996a2df9:a00f489200000000] Query to execute is [SELECT COUNT(*) FROM (SELECT * FROM test_table) tmptable]
      E0726 21:15:51.287364 3202116 GenericJdbcDatabaseAccessor.java:101] b34bb1ec996a2df9:a00f489200000000] Caught exception while trying to get the number of records
      Java exception follows:
      java.sql.SQLDataException: Value '3379400792' is outside of valid range for type java.lang.Integer
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:114)
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
      	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:92)
      	at com.mysql.cj.jdbc.result.ResultSetImpl.getObject(ResultSetImpl.java:1431)
      	at com.mysql.cj.jdbc.result.ResultSetImpl.getInt(ResultSetImpl.java:830)
      	at org.apache.commons.dbcp2.DelegatingResultSet.getInt(DelegatingResultSet.java:623)
      	at org.apache.commons.dbcp2.DelegatingResultSet.getInt(DelegatingResultSet.java:623)
      	at org.apache.impala.extdatasource.jdbc.dao.GenericJdbcDatabaseAccessor.getTotalNumberOfRecords(GenericJdbcDatabaseAccessor.java:92)
      	at org.apache.impala.extdatasource.jdbc.JdbcDataSource.buildQueryAndExecute(JdbcDataSource.java:335)
      	at org.apache.impala.extdatasource.jdbc.JdbcDataSource.open(JdbcDataSource.java:157)
      	at org.apache.impala.extdatasource.ExternalDataSourceExecutor.open(ExternalDataSourceExecutor.java:274)
      	at org.apache.impala.extdatasource.ExternalDataSourceExecutor.open(ExternalDataSourceExecutor.java:217)
      Caused by: com.mysql.cj.exceptions.NumberOutOfRange: Value '3379400792' is outside of valid range for type java.lang.Integer
      	at com.mysql.cj.result.IntegerValueFactory.createFromLong(IntegerValueFactory.java:62)
      	at com.mysql.cj.result.IntegerValueFactory.createFromLong(IntegerValueFactory.java:44)
      	at com.mysql.cj.protocol.a.MysqlTextValueDecoder.decodeInt8(MysqlTextValueDecoder.java:126)
      	at com.mysql.cj.protocol.result.AbstractResultsetRow.decodeAndCreateReturnValue(AbstractResultsetRow.java:113)
      	at com.mysql.cj.protocol.result.AbstractResultsetRow.getValueFromBytes(AbstractResultsetRow.java:243)
      	at com.mysql.cj.protocol.a.result.ByteArrayRow.getValue(ByteArrayRow.java:91)
      	at com.mysql.cj.jdbc.result.ResultSetImpl.getObject(ResultSetImpl.java:1324)
      	... 8 more 

      Attachments

        Activity

          People

            pranav.lodha Pranav Yogi Lodha
            zhangyifan27 YifanZhang
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: