couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Ross (JIRA)" <j...@apache.org>
Subject [jira] [Created] (COUCHDB-1905) PUT/GET/DELETE while compacting results in lost document.
Date Mon, 07 Oct 2013 20:26:42 GMT
Eric Ross created COUCHDB-1905:
----------------------------------

             Summary: PUT/GET/DELETE while compacting results in lost document.
                 Key: COUCHDB-1905
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1905
             Project: CouchDB
          Issue Type: Bug
          Components: Database Core
            Reporter: Eric Ross


At https://gist.github.com/eross/6874115  is a test program that rapidly creates and deletes
a document which has a application set _id.  Normally, this works correctly and the _rev is
incremented as expected.  However, if a compaction is peformed (Compact Database) while executing
this program the GET following the PUT will return a doc with a _rev of 1--* instead of the
the _rev of the preceding PUT.

This problem was seen on both 1.3.0 and 1.4.0.

System config:
Built from Source with Erlang R14B04 on both RHEL 6 and Ubuntu 12.04 with the same results
when executing on respective Linux distros.

Procedure:
Use a server in "Admin Party" mode running on http://localhost:5984 (default as shipped).
 Then run this python program using Python 2.7.3 or equivalent and wait about 30 seconds.
 By then, multiple deleted docs should be in the database.  The program will detect the first
doc created since it should be _rev 1-*  and print it out.  When you execute the compaction,
it will print out _rev 1-* again. (ERROR).  Also, when trying to delete the doc returned on
the previous GET, it will come back 404. (see server logs).

This issue was mentioned on #couchdb to Jan Lenhardt (jan____ ) on 07-Oct.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message