java.sql.SQLException: [Simba][JDBC](10340) Invalid column index: 9.

Cloudera Open Source | Jacobo Sánchez López | 11 months ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    Executing selects using JDBC41 driver in a concurrent environment throws exceptions on accessing the result set. Enviroment must match the following: # Concurrency # Use of prepared statements even without parameters (does not happen with statements) # Queries having a very different schema (in column types and number of columns) Debugging i have found that when i receive an error there is a S41ForwardResultSet having a m_resultSetMetadata (S41ResultSetMetadata) with the columns of one query and m_parentStatement(S41PreparedStatement) with a m_preparedSql from other query Exceptions obtained from the driver are like the following: {code:java} java.sql.SQLException: [Simba][JDBC](10340) Invalid column index: 9. at com.cloudera.exceptions.ExceptionConverter.toSQLException(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.checkIfValidColumnNumber(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getData(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getObject(Unknown Source) {code} {code:java} [Simba][JDBC](10140) Error converting value to long. at com.cloudera.exceptions.ExceptionConverter.toSQLException(Unknown Source) at com.cloudera.utilities.conversion.TypeConverter.toLong(Unknown Source) at com.cloudera.utilities.conversion.TypeConverter.toObject(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getObject(Unknown Source) {code} {code:java} java.sql.SQLException: [JDBC Driver]1 at com.cloudera.hivecommon.api.HS2Client.getData(Unknown Source) at com.cloudera.hivecommon.dataengine.HiveJDBCResultSet.getData(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getData(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getObject(Unknown Source) {code} Original use case is a client using connection pool but i managed to reproduce the problem using the Java class attached (Main.java). This class needs to be updated with connection parameters and at least two threads with queries having a very different schema (different data types and column number)

    Cloudera Open Source | 11 months ago | Jacobo Sánchez López
    java.sql.SQLException: [Simba][JDBC](10340) Invalid column index: 9.
  2. 0

    Executing selects using JDBC41 driver in a concurrent environment throws exceptions on accessing the result set. Enviroment must match the following: # Concurrency # Use of prepared statements even without parameters (does not happen with statements) # Queries having a very different schema (in column types and number of columns) Debugging i have found that when i receive an error there is a S41ForwardResultSet having a m_resultSetMetadata (S41ResultSetMetadata) with the columns of one query and m_parentStatement(S41PreparedStatement) with a m_preparedSql from other query Exceptions obtained from the driver are like the following: {code:java} java.sql.SQLException: [Simba][JDBC](10340) Invalid column index: 9. at com.cloudera.exceptions.ExceptionConverter.toSQLException(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.checkIfValidColumnNumber(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getData(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getObject(Unknown Source) {code} {code:java} [Simba][JDBC](10140) Error converting value to long. at com.cloudera.exceptions.ExceptionConverter.toSQLException(Unknown Source) at com.cloudera.utilities.conversion.TypeConverter.toLong(Unknown Source) at com.cloudera.utilities.conversion.TypeConverter.toObject(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getObject(Unknown Source) {code} {code:java} java.sql.SQLException: [JDBC Driver]1 at com.cloudera.hivecommon.api.HS2Client.getData(Unknown Source) at com.cloudera.hivecommon.dataengine.HiveJDBCResultSet.getData(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getData(Unknown Source) at com.cloudera.jdbc.common.SForwardResultSet.getObject(Unknown Source) {code} Original use case is a client using connection pool but i managed to reproduce the problem using the Java class attached (Main.java). This class needs to be updated with connection parameters and at least two threads with queries having a very different schema (different data types and column number)

    Cloudera Open Source | 11 months ago | Jacobo Sánchez López
    java.sql.SQLException: [Simba][JDBC](10340) Invalid column index: 9.

    Root Cause Analysis

    1. java.sql.SQLException

      [Simba][JDBC](10340) Invalid column index: 9.

      at com.cloudera.exceptions.ExceptionConverter.toSQLException()
    2. com.cloudera.exceptions
      ExceptionConverter.toSQLException
      1. com.cloudera.exceptions.ExceptionConverter.toSQLException(Unknown Source)
      1 frame
    3. com.cloudera.jdbc
      SForwardResultSet.getObject
      1. com.cloudera.jdbc.common.SForwardResultSet.checkIfValidColumnNumber(Unknown Source)
      2. com.cloudera.jdbc.common.SForwardResultSet.getData(Unknown Source)
      3. com.cloudera.jdbc.common.SForwardResultSet.getObject(Unknown Source)
      3 frames