[ 
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)

Reply via email to