db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-5406) Intermittent failures in CompressTableTest and TruncateTableTest
Date Wed, 09 Nov 2011 13:33:51 GMT

     [ https://issues.apache.org/jira/browse/DERBY-5406?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Knut Anders Hatlen updated DERBY-5406:
--------------------------------------

    Attachment: d5406-4a-retry-on-conglomerate-error.diff

I experimented with always retrying the compilation if it failed with conglomerate does not
exist, see the attached patch d5406-4a-retry-on-conglomerate-error.diff. That patch also backs
out the changes in the 2a patch, since the case addressed by that fix will also be covered
by the broader fix in the 4a patch.

I ran four parallel processes of the D4275 repro for almost two hours, two of the processes
with the fix and two without the fix. The processes that had the fix only had one occurrence
of DERBY-5358, and no other errors. The processes that ran without the fix, had about 30 errors.

So this fix appears to take care of the remaining issues, at least those I'm able to reproduce.
It is however just a workaround for a more fundamental problem with how we track dependencies
between statements and conglomerates. I would have felt more comfortable if we found a way
to fix the underlying issue that makes invalidation requests vanish. I'll do a little more
digging before I give up...

All regression tests ran cleanly with the 4a patch, except one intermittent failure (DERBY-5498)
that didn't show up when rerunning the tests.
                
> Intermittent failures in CompressTableTest and TruncateTableTest
> ----------------------------------------------------------------
>
>                 Key: DERBY-5406
>                 URL: https://issues.apache.org/jira/browse/DERBY-5406
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.8.2.2, 10.9.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: CompressAndPrepare.java, d5406-1a-detect-invalidation-during-compilation.diff,
d5406-1b.diff, d5406-2a-invalidate-self.diff, d5406-3a.diff, d5406-4a-push-retry-logic.diff,
d5406-4a-retry-on-conglomerate-error.diff
>
>
> The test cases CompressTableTest.testConcurrentInvalidation() and TruncateTableTest.testConcurrentInvalidation()
fail intermittently with errors such as:
> ERROR XSAI2: The conglomerate (2,720) requested does not exist.
> The problem has been analyzed in the comments on DERBY-4275, and a patch attached to
that issue (invalidation-during-compilation.diff) fixes the underlying race condition. However,
that patch only works correctly together with the fix for DERBY-5161, which was backed out
because it caused the regression DERBY-5280.
> We will therefore need to find a way to fix DERBY-5161 without reintroducing DERBY-5280
in order to resolve this issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message