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

getBinaryStream returns incorrect result (truncated value) if underlying blob is deleted

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

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.2.2.0, 10.3.1.4, 10.4.1.3, 10.5.3.0, 10.6.1.0
    • 10.5.3.1, 10.6.1.0
    • JDBC
    • None
    • Normal
    • High Value Fix, Repro attached
    • Regression, Wrong query result

    Description

      If getBinaryStream is reading a value (READ_UNCOMMITTED) and the row is deleted by another connection, a truncated value will be returned without error. I believe instead either the whole value or an IOException should occur.

      With 10.2 and higher with the repro attahed we get:
      > java TruncatedBlob
      Embedded:
      Read 32669 bytes
      0 rows in BLOBCLOB

      With 10.1
      Embedded:
      Read 40000 bytes (OK)
      0 rows in BLOBCLOB

      Note network server returns the full value for both 10.1 and 10.2 but gives a lock timeout for 10.2+. I will file a separate issue for that.

      Attachments

        Issue Links

        Activity

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

          People

            kristwaa Kristian Waagan
            kmarsden Katherine Marsden
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment