db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5426) Improve the error raised by too much contention on a sequence/identity.
Date Thu, 29 Sep 2011 19:15:45 GMT

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

Rick Hillegas commented on DERBY-5426:

Hi Myrna,

I believe that both DERBY-5426 and DERBY-5423 are resolved. I resolved this issue but Mamta
re-opened it. Perhaps Mamta's additional investigation could happen in another JIRA. Thanks.
> Improve the error raised by too much contention on a sequence/identity.
> -----------------------------------------------------------------------
>                 Key: DERBY-5426
>                 URL: https://issues.apache.org/jira/browse/DERBY-5426
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions:,
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>             Fix For:,
>         Attachments: DERBY4437Sequence.java, derby-5426-01-aa-improveError.diff
> Currently, when there is too much contention on a sequence/identity, Derby raises an
error saying so. There are two properties which the user can adjust in order to reduce the
risk of this error:
> derby.locks.waitTimeout
> derby.language.sequence.preallocator
> It would be good to point the user at these knobs. The following change would improve
this error reporting:
> 1) Raise a lock timeout SQLException
> 2) Chain a "too much contention" SQLException (X0Y84) to the lock timeout.
> 3) Make the "too much contention" exception suggest that the user adjust the properties
mentioned above.
> To make the code easier to understand, the exception raising could replace the loop exit
inside the following "if" block in SequenceUpdater.getCurrentValueAndAdvance():
>             if (
>                 (_lockTimeoutInMillis >= 0L) &&
>                 ( (System.currentTimeMillis() - startTime.longValue()) > _lockTimeoutInMillis
>                 )
>             {
>                 break;
>             }
> This approach was recommended by the discussion on DERBY-5423.

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


View raw message