[ 
https://issues.apache.org/jira/browse/DERBY-3221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12558015#action_12558015
 ] 

Dyre Tjeldvoll commented on DERBY-3221:
---------------------------------------

Thanks James,
I took your DERBY-39 repro for a spin, but unfortunately I keep hitting 
DERBY-3310 and this time I don't seem to be able to work around it with a cast, 
so I need to manually disable the ASSERT, I think.

I'm currently running tests for a new version of my patch, where I
- revert back to testing the presence of a temp conglom with CID==0
- make CID private
- make clients (TemporaryRowHolderResultSet) use the existing accessor 
(getTemporaryConglomId())
- always set CID to 0, when conglomCreated is set to false and the conglomerate 
is removed

Right now I'm providing a mutator for CID that reStartScan can use, but I 
cannot see what purpose this really serves. Changing the CID behind the owning 
class' back like that seems like it has the potential to introduce both leaks 
and inconsistencies. I'm trying to flag any situation where a conglomerate 
could be leaked, or the holder left in an inconsistent state, and see if this 
actually happens in the tests. 

> "java.sql.SQLException: The conglomerate (-5) requested does not exist." from 
> Derby 10.3.1.4 embedded within Eclipse 3.3 and RAD 7.0
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3221
>                 URL: https://issues.apache.org/jira/browse/DERBY-3221
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.3.1.4, 10.3.2.1
>         Environment: Windows Vista Ubuntu Linux on IBM's VM (RAD 7.0)
>            Reporter: Tim Halloran
>            Assignee: Dyre Tjeldvoll
>         Attachments: conlomerate.tar.gz, derby-3221.prelim.diff, 
> derby-3221.v1.diff, SubShape.properties
>
>
> We are getting an SQLException when several prepared statement deletes are 
> done upon an existing database.  As far as we can tell this exception should 
> never occur unless (evil) things like deleting the database or editing files 
> occurs.  This is using the embedded driver within a plug-in inside RAD 7.0 
> (and Eclipse 3.3).
> I'm not sure what else to submit that might be helpful.
> java.sql.SQLException: The conglomerate (-5) requested does not exist.
>  at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown 
> Source)
>  at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
>  at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>  at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
> Source)
>  at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
>  at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
>  at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
>  at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>  at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
>  at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>  at java.lang.reflect.Method.invoke(Unknown Source)
>  at 
> com.surelogic.sierra.jdbc.LazyPreparedStatementConnection$LazyPreparedStatement.invoke(Unknown
>  Source)
>  at $Proxy1.execute(Unknown Source)
>  at com.surelogic.sierra.jdbc.finding.FindingManager.delete(Unknown Source)
>  at 
> com.surelogic.sierra.jdbc.finding.ClientFindingManager.updateLocalFindings(Unknown
>  Source)
>  at 
> com.surelogic.sierra.jdbc.project.ClientProjectManager.synchronizeProject(Unknown
>  Source)
>  at 
> com.surelogic.sierra.client.eclipse.jobs.SynchronizeJob.synchronize(Unknown 
> Source)
>  at com.surelogic.sierra.client.eclipse.jobs.SynchronizeJob.run(Unknown 
> Source)
>  at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
> Caused by: ERROR XSAI2: The conglomerate (-5) requested does not exist.
>  at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
>  at 
> org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(Unknown
>  Source)
>  at org.apache.derby.impl.store.access.RAMTransaction.openScan(Unknown Source)
>  at 
> org.apache.derby.impl.sql.execute.TemporaryRowHolderResultSet.getNextRowCore(Unknown
>  Source)
>  at 
> org.apache.derby.impl.sql.execute.TemporaryRowHolderResultSet.getNextRow(Unknown
>  Source)
>  at org.apache.derby.impl.sql.execute.IndexChanger.finish(Unknown Source)
>  at org.apache.derby.impl.sql.execute.IndexSetChanger.finish(Unknown Source)
>  at org.apache.derby.impl.sql.execute.RowChangerImpl.finish(Unknown Source)
>  at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown Source)
>  at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
>  ... 14 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to