[
https://issues.apache.org/jira/browse/DERBY-5426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas closed DERBY-5426.
--------------------------------
> 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: 10.8.2.2, 10.9.1.0
> Reporter: Rick Hillegas
> Assignee: Rick Hillegas
> Fix For: 10.8.2.2, 10.9.1.0
>
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira