Uploaded image for project: 'Couchbase Lite'
  1. Couchbase Lite
  2. CBL-104

Replicating two documents with identical blob could cause POSIX error

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.6.0
    • 2.6.0
    • LiteCore
    • Security Level: Public
    • Found via .NET 2.6.0 CI builds

    Description

      Found through .NET testing. Unclear if this affects push and pull or just push but I'd guess both. The symptom is some kind of race with pulling blobs and my theory is that this is the order of things that happens

      1. Pusher pushes doc1 which contains blob
      2. Pusher pushes doc2 which contains same blob
      3. Passive pusher checks for the existence of the blob for doc 1
      4. Passive pusher checks for the existence of the blob for doc 2
      5. Neither exist, since the blob was not received yet
      6. Passive pusher requests blob for doc 1
      7. Passive pusher requests blob for doc 2
      8. Passive pusher receives blob for doc 1
      9. Passive pusher receives blob for doc 2, but it already exists

      The result is that the document ended in a POSIX / 17 error (File exists)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          jimb Jim Borden created issue -
          jimb Jim Borden made changes -
          Field Original Value New Value
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Resolved [ 5 ]
          jimb Jim Borden made changes -
          Actual End 2019-06-21 17:27 (issue has been resolved)
          jimb Jim Borden made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

          People

            jimb Jim Borden
            jimb Jim Borden
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty