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

Using setQueryTimeout will leak sections

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

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.3.1.4
    • 10.4.1.3
    • JDBC, Network Client
    • None

    Description

      The implementation of setQueryTimeout relies on NetStatementReply.writeSetSpecialRegister() which will allocate a dynamic section when called. No reference to this Section object is kept, and so Section.free() never gets called on it. Executing the same statment repeatedly with a query timeout set results in the client driver throwing an exception because the number of Sections exceeding 32000.

      Attachments

        1. derby-3198.v1.diff
          5 kB
          Dyre Tjeldvoll
        2. derby-3198.v2.diff
          5 kB
          Dyre Tjeldvoll
        3. derby-3198.v3.diff
          5 kB
          Dyre Tjeldvoll
        4. derby-3198.v4.diff
          7 kB
          Dyre Tjeldvoll
        5. derby-3198.v5.diff
          8 kB
          Dyre Tjeldvoll
        6. derby-3198.v6.diff
          8 kB
          Dyre Tjeldvoll
        7. repro.diff
          0.7 kB
          Dyre Tjeldvoll

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            dyret Dyre Tjeldvoll
            dyret Dyre Tjeldvoll
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment