Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-4264

highly intermittent java.lang.ClassCastException: [[Lorg.apache.derby.iapi.store.access.Qualifier; incompatible with org.apache.derby.iapi.types.DataValueDescriptor doing simple select

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • 10.2.2.0
    • None
    • SQL
    • Embedded Derby 10.2.2.0 - (485682)
      z/OS J2RE 1.5.0 IBM z/OS build pmz31dev-20081210 (SR9-0)
    • Normal
    • Seen in production

    Description

      I got a report from a user for a highly intermittent ClassCastException doing a select. Below is the stack trace:
      java.lang.ClassCastException:
      [[Lorg.apache.derby.iapi.store.access.Qualifier; incompatible
      with org.apache.derby.iapi.types.DataValueDescriptor
      at
      org.apache.derby.impl.sql.execute.GenericQualifier.getOrderable(
      Unknown Source)
      at
      org.apache.derby.impl.sql.execute.NoPutResultSetImpl.clearOrdera
      bleCache(Unknown Source)
      at
      org.apache.derby.impl.sql.execute.BulkTableScanResultSet.openSca
      nController(Unknown Source)
      at
      org.apache.derby.impl.sql.execute.TableScanResultSet.openCore(Un
      known Source)
      at
      org.apache.derby.impl.sql.execute.BulkTableScanResultSet.openCor
      e(Unknown Source)
      at
      org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(U
      nknown Source)
      at
      org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unkno
      wn Source)
      at
      org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unkno
      wn Source)
      at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown
      Source)
      at
      org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(Unknown
      Source)

      I don't have a reproduction yet but have some information on the schema and query that occasionally fails: The data here is contrived, I don't know the actual data in the table at the time of the failure. The column names have changed, but represent the same types.

      CREATE TABLE "APP"."RESOURCE"
      (
      "AUUID" CHAR(36) NOT NULL,
      "BUUID" CHAR(36) NOT NULL,
      "CUUID" CHAR(36) NOT NULL,
      "DUUID" CHAR(36) NOT NULL,
      "SECTION" CHAR(6) NOT NULL,
      "TYPE" CHAR(48) NOT NULL,
      "LASTUPDATE" TIMESTAMP NOT NULL
      );
      ALTER TABLE "APP"."RESOURCE" ADD CONSTRAINT "SQL060817095529130" PRIMARY KEY ("AUUID", "BUUID", "SECTION");

      – Not sure of the actual data. This data was made up so the query would get a match.

      INSERT INTO RESOURCE VALUES ('3b2c2edc-1401-0000-0080-c38634aef3ba', '3b2c2edc-1401-0000-0080-c38634aef3bb', '2be1347d-2001-0000-0080-8cd524f0d034', '2be1347d-2001-0000-0080-8cd524f0d033', 'GENRAL', 'NodeType', CURRENT_TIMESTAMP);

      SELECT * FROM RESOURCE WHERE
      SECTION='GENRAL' AND
      TYPE='NodeType' AND
      DUUID='2be1347d-2001-0000-0080-8cd524f0d033' AND
      BUUID='3b2c2edc-1401-0000-0080-c38634aef3bb';

      This has happened to just one user on z/OS with J2RE 1.5.0 IBM z/OS build pmz31dev-20081210 (SR9-0). Other users running the same application on the same versions have not seen this issue. This particular user has disabled the functionality causing the problem for now, so I am hoping we can glean some information from code inspection and debugging this sample query to see where the cast might go wrong.

      Attachments

        1. derby-4264_10.2_diag_diff.txt
          11 kB
          Katherine Marsden
        2. derby-4264_10.2_diag_diff.txt
          13 kB
          Katherine Marsden
        3. acf81e0010x0121xcb69x9b94x0000000eb0100.java
          5 kB
          Katherine Marsden

        Activity

          People

            kmarsden Katherine Marsden
            kmarsden Katherine Marsden
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: