Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-5151

Don't leak unused identity/sequence values on abnormal exit.

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: SQL
    • Urgency:
      Normal

      Description

      Currently, a sequence in Derby always uses a pre allocating cache. I'm working on an usecase which requires a number to increase with a fixed value. The usecase fails after a restart because of the pre allocating cache.

      I've created a patch that adds the options CACHE | NO CACHE to the create sequence statement. When no cache is provided, the pre allocating cache size will be set to 1, which results in a "no cache sequence".
      I've followed the CYCLE | NO CYCLE code as much as possible. Tested it in my own app and it seems to work fine.

      RH: Note that part of this issue has been addressed by the work on DERBY-4437. Sequence values will NOT leak now if you perform an orderly shutdown of your database. However, values still leak if the VM exits before the database has been shutdown. I have changed this issue's title to indicate that the remaining work applies to both sequences and identity columns.

        Attachments

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              markholster Mark Holster

              Dates

              • Created:
                Updated:

                Issue deployment