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

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

    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

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

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated: