Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 44502 invoked from network); 10 Jun 2009 22:03:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 10 Jun 2009 22:03:18 -0000 Received: (qmail 90470 invoked by uid 500); 10 Jun 2009 22:03:29 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 90420 invoked by uid 500); 10 Jun 2009 22:03:29 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 90412 invoked by uid 99); 10 Jun 2009 22:03:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Jun 2009 22:03:29 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Jun 2009 22:03:27 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 579B2234C004 for ; Wed, 10 Jun 2009 15:03:07 -0700 (PDT) Message-ID: <1859101237.1244671387344.JavaMail.jira@brutus> Date: Wed, 10 Jun 2009 15:03:07 -0700 (PDT) From: "Kathey Marsden (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (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 In-Reply-To: <1085229514.1244566147719.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-4264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kathey Marsden updated DERBY-4264: ---------------------------------- Attachment: acf81e0010x0121xcb69x9b94x0000000eb0100.java Attached is the decompiled class from the query. The methods being invoked are e1(), e2(), e3() and e4() which all return return datavaluefactory.getCharDataValue(string, null); for the four different strings in our predicates. There's no place in this code where a Qualifier[][] would be returned. Looking at the places where we return a Qualifier[][] in generated code, the most likely suspect to me is in PredicateList.generateQualifiers() I do see us going through that method with our query but don't immediately see that generated code in the decompiled class. I will investigate further ... > highly intermittent java.lang.ClassCastException: [[Lorg.apache.derby.iapi.store.access.Qualifier; incompatible with org.apache.derby.iapi.types.DataValueDescriptor doing simple select > ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-4264 > URL: https://issues.apache.org/jira/browse/DERBY-4264 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.2.2.0 > Environment: Embedded Derby 10.2.2.0 - (485682) > z/OS J2RE 1.5.0 IBM z/OS build pmz31dev-20081210 (SR9-0) > Reporter: Kathey Marsden > Attachments: acf81e0010x0121xcb69x9b94x0000000eb0100.java > > > 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. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.