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

LOB locators are not released if the LOB columns are not accessed by the client

    XMLWordPrintableJSON

    Details

      Description

      If the client creates a result set containing LOB locator columns and iterates through it without actually accessing the LOB columns, the locators are not released.
      The amount of locators and their associated LOB objects causes the server to consume large amounts of memory and it eventually gets an OOME.

      There are a few workarounds for this bug:
      a) Access and/or properly close the LOBs (i.e. Blob.free).
      This is partly dependent on DERBY-2892.
      b) Invoke Connection.commit (or rollback) periodically, which causes all locators on the connection to be released.

        Attachments

        1. derby-3571-1a-client_track_lob_fix.diff
          16 kB
          Kristian Waagan
        2. derby-3571-1a-client_track_lob_fix.stat
          0.5 kB
          Kristian Waagan
        3. derby-3571-1b-client_track_lob_fix.diff
          19 kB
          Kristian Waagan
        4. derby-3571-1c-client_track_lob_fix.diff
          19 kB
          Kristian Waagan
        5. derby-3571-1d-client_track_lob_fix.diff
          22 kB
          Kristian Waagan
        6. derby-3571-1e-client_track_lob_fix.diff
          22 kB
          Kristian Waagan
        7. derby-3571-2a-simple_release.diff
          34 kB
          Kristian Waagan
        8. derby-3571-2a-simple_release.stat
          0.6 kB
          Kristian Waagan

          Issue Links

            Activity

              People

              • Assignee:
                kristwaa Kristian Waagan
                Reporter:
                kristwaa Kristian Waagan
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: