[ https://issues.apache.org/jira/browse/COUCHDB-3326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16494924#comment-16494924 ]
ASF subversion and git services commented on COUCHDB-3326: ---------------------------------------------------------- Commit 982047ae7c3b0439562e2d719da21ca24b41492e in couchdb's branch refs/heads/COUCHDB-3326-clustered-purge-pr4-implementation from [~paul.joseph.davis] [ https://gitbox.apache.org/repos/asf?p=couchdb.git;h=982047a ] [10/N] Clustered Purge: Clustered HTTP API The HTTP API for clustered purge is fairly straightforward. It is designed to match the general shape of the single node API. The only major caveat here is that the purge sequence is now hardcoded as null since the purge sequence would now otherwise be an opaque blob similar to the update_seq blobs. Its important to note that there is as yet no API invented for traversing the history of purge requests in any shape or form as that would mostly invalidate the entire purpose of using purge to remove any trace of a document from a database at the HTTP level. Although there will still be traces in individual shard files until all database components have processed the purge and compaction has run (while allowing for up to purge_infos_limit requests to remain available in perpetuity). COUCHDB-3326 Co-authored-by: Mayya Sharipova <may...@ca.ibm.com> Co-authored-by: jiangphcn <jian...@cn.ibm.com> > Implement clustered purge API: _purge > ------------------------------------- > > Key: COUCHDB-3326 > URL: https://issues.apache.org/jira/browse/COUCHDB-3326 > Project: CouchDB > Issue Type: New Feature > Components: Database Core, Documentation, HTTP Interface > Reporter: Mayya Sharipova > Priority: Major > > This implements the clustered purge API: > {code:} > curl -H 'Content-Type: application/json' -X POST > "http://adm:pass@127.0.0.1:5984/test1/_purge" -d > '{"d1":["3-410e46c04b51b4c3304ed232790a49da", > "3-420e46c04b51b4c3304ed232790a35db"],"d2":["2-a39d6d63f29a956ae39930f84dd71ec3"], > "d3":["1-bdca7a3ac9503bf6e46d7d7a782e8f03"]}' > {code} > Response: status_code 201 or 202 > {code:javascript} > { > "purged": [ > { > "ok": true, //Quorum was reached, at least W nodes > successfully purged doc > "id": "d1", > "revs": [ > "3-410e46c04b51b4c3304ed232790a49da", > "3-420e46c04b51b4c3304ed232790a35db" > ] > }, > { > "accepted": true, //Quorum was NOT reached, but request was > accepted > "id": "d2", > "revs": [ > "2-a39d6d63f29a956ae39930f84dd71ec3" > ] > }, > { > "ok": true, > "id": "d3", > "revs": [] //(DocId or Revs missing) OR (Revs are not leaf > revisions) > } ], > "purge_seq": > "6-g1AAAABMeJzLYWBgYMpgTmHgz8tPSTV2MDQy1zMAQsMckEQiQ5L8____sxKZ4UoMcSrJAgC9PRRl" > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)