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

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

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • SQL
    • 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

        1. sequence-no-cache.patch
          18 kB
          Mark Holster

        Issue Links

          Activity

            People

              Unassigned Unassigned
              markholster Mark Holster
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: