Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-1415

Re-insering a document silently fails after compact is executed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.1.1
    • 2.0.0
    • Database Core
    • None
    • Tested on multiple linux platforms

    Description

      When a document is re-inserted after a compact operation using the same contents it was originally created, the insert operation is silently ignored, leaving the client unaware of the fact it's document is not available in the database.

      Can be reproduced using the following sequence of steps:

      alias curl='curl -H "Content-Type: application/json"'
      url="http://localhost:5984/database"

      1 curl -X PUT $url
      2 curl -X POST $url -d '

      {"_id": "bug", "key": "value"}

      '
      3 curl -X DELETE "$url/bug?rev=1-59414e77c768bc202142ac82c2f129de"
      4 curl -X POST "$url/_compact"
      5 curl -X POST $url -d '

      {"_id": "bug", "key": "value"}

      '
      6 curl -X GET "$url/bug"
      (bug here)

      1

      {"ok":true}

      201
      2 [

      {"ok":true,"id":"bug","rev":"1-59414e77c768bc202142ac82c2f129de"}

      ]
      201
      3

      {"ok":true,"id":"bug","rev":"2-9b2e3bcc3752a3a952a3570b2ed4d27e"}

      200
      4

      {"ok":true}

      202
      5 [

      {"ok":true,"id":"bug","rev":"1-59414e77c768bc202142ac82c2f129de"}

      ]
      201
      6

      {"error":"not_found","reason":"deleted"}

      404

      CouchDB shouldn't report "ok" on step 5 and then go on to claim that the doc is deleted. Also, it seems to work on second try:

      7 curl -X POST $url -d '

      {"_id": "bug", "key": "value"}

      '
      8 curl -X GET "$url/bug"

      7

      {"ok":true,"id":"bug","rev":"3-674f864b73df1c80925e48436e21d550"}

      201
      8

      {"_id":"bug","_rev":"3-674f864b73df1c80925e48436e21d550","key":"value"}

      200

      Attachments

        1. patch
          27 kB
          Benjamin Bastian

        Issue Links

          Activity

            People

              paul.joseph.davis Paul Joseph Davis
              viktorszabo Viktor Szabo
              Votes:
              7 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: