[
https://issues.apache.org/jira/browse/DERBY-2549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mayuresh Nirhali updated DERBY-2549:
------------------------------------
Attachment: derby2549_v3.diff
Thanks Mike for your expert comments. I realized that '--' is inappropriate
after posting the patch. I am sure it would have taken a bit more time for me
to come up with that solution due to my limited understanding. I appreciate
your time for the explanation and the patch.
I found two small nits in the latest patch. When, getRecordHandleAtSlot is
called scan_position has already moved back to the previous slot. This will
imply incorrect behavior when current_slot becomes -1. I have fixed this by
storing the current_slot number in a new variable temp_current_slot and passing
this to getRecordHandleAtSlot.
I am starting testruns for this latest patch now.
I plan to add a test for this based on the repro attached. I will try to cut
down the time taken by the test by using small size data. I need some time for
this as I am not very familiar with junit fixtures. I am hoping that the
testcase addition will go as a separate patch. let me know your thoughts ??
> ArrayIndexOutOfBoundsException in SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE
> -------------------------------------------------------------------------
>
> Key: DERBY-2549
> URL: https://issues.apache.org/jira/browse/DERBY-2549
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.2.2.0
> Environment: Linux 2.6.x, JRE 1.5.0_b7
> Reporter: Kurt Huwig
> Assigned To: Mayuresh Nirhali
> Attachments: 2549-histogram.png, A2549Test.java, A2549Test2.java,
> derby-2549-v1.diff, derby2549_mikem.diff, derby2549_mikemv2.diff,
> derby2549_v2.diff, derby2549_v3.diff, DerbyDiskSpaceDiag.java
>
>
> I am doing this in my code:
> CALL SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE('SPONTS','" +
> "journal".toUpperCase(Locale.US) + "',1,1,1)")
> ("journal" is actually a String-variable, but I replaced it here for easier
> understanding)
> Sometime - not always - I am getting this exception:
> java.sql.SQLException: The exception
> 'java.lang.ArrayIndexOutOfBoundsException: 100' was thrown while evaluating
> an expression. SQLSTATE: XJ001:
> Java exception: '100: java.lang.ArrayIndexOutOfBoundsException'.
> at
> org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
> at org.apache.derby.client.am.SqlException.getSQLException(Unknown
> Source)
> at org.apache.derby.client.am.Statement.execute(Unknown Source)
> [...]
> Caused by: org.apache.derby.client.am.SqlException: The exception
> 'java.lang.ArrayIndexOutOfBoundsException: 100' was thrown while evaluating
> an expression.
> SQLSTATE: XJ001: Java exception: '100:
> java.lang.ArrayIndexOutOfBoundsException'.
> at org.apache.derby.client.am.Statement.completeExecute(Unknown
> Source)
> at
> org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown
> Source)
> at
> org.apache.derby.client.net.NetStatementReply.readExecuteCall(Unknown Source)
> at org.apache.derby.client.net.StatementReply.readExecuteCall(Unknown
> Source)
> at org.apache.derby.client.net.NetStatement.readExecuteCall_(Unknown
> Source)
> at org.apache.derby.client.am.Statement.readExecuteCall(Unknown
> Source)
> at org.apache.derby.client.am.Statement.flowExecute(Unknown Source)
> at org.apache.derby.client.am.Statement.executeX(Unknown Source)
> ... 12 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.