Kai, This fix (for _purge on the backend port, 5986) will be in the next release (BigCouch 0.4.0).
I can't mention _purge without reminding everyone that it exists only for removal of data that should not have been stored in the first place (like sensitive passwords, etc). It is not a mechanism to use lightly as it breaks eventual consistency, is only lightly tested, and will often cause full view rebuilds. B. On 3 December 2011 11:43, Robert Dionne <[email protected]> wrote: > Hi Kai, > > _purge is not supported in bigcouch[1]. > > Best, > > Bob > > [1] http://bigcouch.cloudant.com/api > > > > > > On Dec 2, 2011, at 8:56 PM, Wong, Kai wrote: > >> Hi, >> >> I using bigcouch and ran into a purge problem very similar to that purge >> problem posted back on May 3, 2010 with the same subject title. I'm >> wondering if the 'bug' that Chris referred to has been fixed. >> >> In my case, I have a bigcouch db with the standard 8 shards and 3 replicas >> each. I issued a purge to one of the deleted document in one of the replica >> as follows: >> >>> curl -d '{"kai_test1" : ["28-c3e23a0804e4a083e34e433037dfecf9" ] }' -H >>> "Content-Type: application/json" -X POST >>> http://172.26.172.20:5986/shards%2F80000000-9fffffff%2Fkai_testdb.1320702717/_purge >> >> and got: >> >> {"error":"{{badarity,{#Fun<couch_db_updater.19.85972910>,\n >> [{16,<<10,23,147,107,229,215,213,57,146,60,126,44,5,163,29,166>>},\n >> {leaf,true,790623,37,4,[]}]}},\n [{couch_key_tree,map_leafs_simple,3},\n >> {couch_key_tree,map_leafs_simple,3},\n {couch_key_tree,map_leafs,2},\n >> {couch_db_updater,'-handle_call/3-fun-2-',2},\n {lists,mapfoldl,3},\n >> {couch_db_updater,handle_call,3},\n {gen_server,handle_msg,5},\n >> {proc_lib,init_p_do_apply,3}]}","reason":"{gen_server,call,\n >> [<0.173.0>,\n {purge_docs,[{<<\"kai_test1\">>,\n >> [{28,\n >> <<195,226,58,8,4,228,160,131,227,78,67,48,\n >> 55,223,236,249>>}]}]}]}"} >> >> Inspecting the log file I found: >> >> Log entries start ---------------> >> [Fri, 02 Dec 2011 19:16:01 GMT] [error] [<0.173.0>] [--------] ** Generic >> server <0.173.0> terminating >> ** Last message in was {purge_docs,[{<<"kai_test1">>, >> [{28, >> <<195,226,58,8,4,228,160,131,227, >> 78,67,48,55,223,236,249>>}]}]} >> ** When Server state == {db,<0.173.0>,nil,nil,<<"1321573786451211">>, >> <0.172.0>,#Ref<0.0.0.323>, >> {db_header,5,38,0, >> {816239,{1,1,244}}, >> {816190,2}, >> {823388,[]}, >> 4,816293,nil,1000}, >> 38, >> {btree,<0.172.0>, >> {816239,{1,1,244}}, >> #Fun<couch_db_updater.btree_by_id_split.1>, >> #Fun<couch_db_updater.btree_by_id_join.2>, >> undefined, >> #Fun<couch_db_updater.btree_by_id_reduce.2>}, >> {btree,<0.172.0>, >> {816190,2}, >> #Fun<couch_db_updater.btree_by_seq_split.1>, >> #Fun<couch_db_updater.btree_by_seq_join.2>, >> undefined, >> #Fun<couch_db_updater.btree_by_seq_reduce.2>}, >> {btree,<0.172.0>, >> {823388,[]}, >> undefined,undefined,undefined,nil}, >> 38, >> >> <<"shards/80000000-9fffffff/kai_testdb.1320702717">>, >> >> "/ghostcache/edgedata/data/shards/80000000-9fffffff/kai_testdb.1320702717.couch", >> [],[],nil, >> {user_ctx,null,[],undefined}, >> nil,1000, >> [before_header,after_header,on_file_open], >> false} >> ** Reason for termination == >> ** {{badarity,{#Fun<couch_db_updater.19.85972910>, >> [{16, >> <<10,23,147,107,229,215,213,57,146,60,126,44,5,163,29,166>>}, >> {leaf,true,790623,37,4,[]}]}}, >> [{couch_key_tree,map_leafs_simple,3}, >> {couch_key_tree,map_leafs_simple,3}, >> {couch_key_tree,map_leafs,2}, >> {couch_db_updater,'-handle_call/3-fun-2-',2}, >> {lists,mapfoldl,3}, >> {couch_db_updater,handle_call,3}, >> {gen_server,handle_msg,5}, >> {proc_lib,init_p_do_apply,3}]} >> >> >> [Fri, 02 Dec 2011 19:16:01 GMT] [error] [<0.173.0>] [--------] >> {error_report,<0.78.0>, >> {<0.173.0>,crash_report, >> [[{initial_call,{couch_db_updater,init,['Argument__1']}}, >> {pid,<0.173.0>}, >> {registered_name,[]}, >> {error_info, >> {exit, >> {{badarity, >> {#Fun<couch_db_updater.19.85972910>, >> [{16, >> <<10,23,147,107,229,215,213,57,146,60,126,44,5,163,29, >> 166>>}, >> {leaf,true,790623,37,4,[]}]}}, >> [{couch_key_tree,map_leafs_simple,3}, >> {couch_key_tree,map_leafs_simple,3}, >> {couch_key_tree,map_leafs,2}, >> {couch_db_updater,'-handle_call/3-fun-2-',2}, >> {lists,mapfoldl,3}, >> {couch_db_updater,handle_call,3}, >> {gen_server,handle_msg,5}, >> {proc_lib,init_p_do_apply,3}]}, >> [{gen_server,terminate,6},{proc_lib,init_p_do_apply,3}]}}, >> {ancestors,[<0.171.0>]}, >> {messages,[{'DOWN',#Ref<0.0.0.323>,process,<0.172.0>,normal}]}, >> {links,[<0.86.0>]}, >> {dictionary,[]}, >> {trap_exit,false}, >> {status,running}, >> {heap_size,6765}, >> {stack_size,24}, >> {reductions,296138}], >> []]}} >> >> [Fri, 02 Dec 2011 19:16:01 GMT] [error] [<0.32544.39>] [--------] Uncaught >> error in HTTP request: {exit, >> {{{badarity, >> {#Fun<couch_db_updater.19.85972910>, >> [{16, >> <<10,23,147,107,229,215,213,57,146,60, >> 126,44,5,163,29,166>>}, >> {leaf,true,790623,37,4,[]}]}}, >> [{couch_key_tree,map_leafs_simple,3}, >> {couch_key_tree,map_leafs_simple,3}, >> {couch_key_tree,map_leafs,2}, >> {couch_db_updater, >> '-handle_call/3-fun-2-',2}, >> {lists,mapfoldl,3}, >> {couch_db_updater,handle_call,3}, >> {gen_server,handle_msg,5}, >> {proc_lib,init_p_do_apply,3}]}, >> {gen_server,call, >> [<0.173.0>, >> {purge_docs, >> [{<<"kai_test1">>, >> [{28, >> <<195,226,58,8,4,228,160,131, >> >> 227,78,67,48,55,223,236,249>>}]}]}]}}} >> >> [Fri, 02 Dec 2011 19:16:01 GMT] [info] [<0.30348.2>] [--------] Shutting >> down group server <<"_design/kai_test">>, db <0.173.0> closing w/ reason >> {{badarity,{#Fun<couch_db_updater.19.85972910>, >> [{16,<<10,23,147,107,229,215,213,57,146,60,126,44,5,163,29,166>>}, >> {leaf,true,790623,37,4,[]}]}}, >> [{couch_key_tree,map_leafs_simple,3}, >> {couch_key_tree,map_leafs_simple,3}, >> {couch_key_tree,map_leafs,2}, >> {couch_db_updater,'-handle_call/3-fun-2-',2}, >> {lists,mapfoldl,3}, >> {couch_db_updater,handle_call,3}, >> {gen_server,handle_msg,5}, >> {proc_lib,init_p_do_apply,3}]} >> >> [Fri, 02 Dec 2011 19:16:01 GMT] [info] [<0.86.0>] [--------] db >> shards/80000000-9fffffff/kai_testdb.1320702717 died with reason {{badarity, >> >> {#Fun<couch_db_updater.19.85972910>, >> [{16, >> >> <<10,23, >> >> 147,107, >> >> 229,215, >> >> 213,57, >> >> 146,60, >> >> 126,44, >> >> 5,163, >> >> 29,166>>}, >> {leaf, >> true, >> >> 790623, >> 37,4, >> >> []}]}}, >> >> [{couch_key_tree, >> >> map_leafs_simple, >> >> {couch_key_tree, >> >> map_leafs_simple, >> 3}, >> >> {couch_key_tree, >> >> map_leafs, >> 2}, >> >> {couch_db_updater, >> >> '-handle_call/3-fun-2-', >> 2}, >> {lists, >> >> mapfoldl, >> 3}, >> >> {couch_db_updater, >> >> handle_call, >> 3}, >> >> {gen_server, >> >> handle_msg, >> 5}, >> >> {proc_lib, >> >> init_p_do_apply, >> 3}]} >> >> [Fri, 02 Dec 2011 19:16:01 GMT] [info] [<0.32544.39>] [--------] Stacktrace: >> [{gen_server,call,2}, >> {couch_httpd_db,db_req,2}, >> {couch_httpd_db,do_db_req,2}, >> {couch_httpd,handle_request_int,5}, >> {mochiweb_http,headers,5}, >> {proc_lib,init_p_do_apply,3}] >> <--------------- Log entries end >> >> Retrying the purge on the same and different nodes resulted in the same >> error: >> >>> curl -d '{"kai_test1" : ["28-c3e23a0804e4a083e34e433037dfecf9" ] }' -H >>> "Content-Type: application/json" -X POST >>> http://172.26.172<http://172.26.172/>.23:5986/shards%2F80000000-9fffffff%2Fkai_testdb.1320702717/_purge >> {"error":"{{badarity,{#Fun<couch_db_updater.19.85972910>,\n >> [{16,<<10,23,147,107,229,215,213,57,146,60,126,44,5,163,29,166>>},\n >> {leaf,true,331871,16,4,[]}]}},\n [{couch_key_tree,map_leafs_simple,3},\n >> {couch_key_tree,map_leafs_simple,3},\n {couch_key_tree,map_leafs,2},\n >> {couch_db_updater,'-handle_call/3-fun-2-',2},\n {lists,mapfoldl,3},\n >> {couch_db_updater,handle_call,3},\n {gen_server,handle_msg,5},\n >> {proc_lib,init_p_do_apply,3}]}","reason":"{gen_server,call,\n >> [<0.27970.1>,\n {purge_docs,[{<<\"kai_test1\">>,\n >> [{28,\n >> <<195,226,58,8,4,228,160,131,227,78,67,48,\n >> 55,223,236,249>>}]}]}]}"} >> >>> curl >>> http://172.26.172.20:5986/shards%2F80000000-9fffffff%2Fkai_testdb.1320702717/_changes >> {"results":[ >> {"seq":26,"id":"_design/kai_test","changes":[{"rev":"1-d0cfa677bd2318976b9e8b647df25cf6"}]}, >> {"seq":37,"id":"kai_test1","changes":[{"rev":"28-c3e23a0804e4a083e34e433037dfecf9"}],"deleted":true} >> ], >> "last_seq":37} >> >>> curl >>> http://172.26.172.20:5986/shards%2F80000000-9fffffff%2Fkai_testdb.1320702717/_all_docs >> {"total_rows":1,"offset":0,"rows":[ >> {"id":"_design/kai_test","key":"_design/kai_test","value":{"rev":"1-d0cfa677bd2318976b9e8b647df25cf6"}} >> ]} >> >>> curl >>> http://172.26.172.20:5986/shards%2F80000000-9fffffff%2Fkai_testdb.1320702717/_changes >> {"results":[ >> {"seq":26,"id":"_design/kai_test","changes":[{"rev":"1-d0cfa677bd2318976b9e8b647df25cf6"}]}, >> {"seq":37,"id":"kai_test1","changes":[{"rev":"28-c3e23a0804e4a083e34e433037dfecf9"}],"deleted":true} >> ], >> "last_seq":37} >> >>> curl -d '{"kai_test1" : ["28-c3e23a0804e4a083e34e433037dfecf9" ] }' -H >>> "Content-Type: application/json" -X POST >>> http://172.26.172<http://172.26.172/>.20:5986/shards%2F80000000-9fffffff%2Fkai_testdb.1320702717/_purge >> {"error":"{{badarity,{#Fun<couch_db_updater.19.85972910>,\n >> [{16,<<10,23,147,107,229,215,213,57,146,60,126,44,5,163,29,166>>},\n >> {leaf,true,790623,37,4,[]}]}},\n [{couch_key_tree,map_leafs_simple,3},\n >> {couch_key_tree,map_leafs_simple,3},\n {couch_key_tree,map_leafs,2},\n >> {couch_db_updater,'-handle_call/3-fun-2-',2},\n {lists,mapfoldl,3},\n >> {couch_db_updater,handle_call,3},\n {gen_server,handle_msg,5},\n >> {proc_lib,init_p_do_apply,3}]}","reason":"{gen_server,call,\n >> [<0.32635.39>,\n {purge_docs,[{<<\"kai_test1\">>,\n >> [{28,\n >> <<195,226,58,8,4,228,160,131,227,78,67,48,\n >> 55,223,236,249>>}]}]}]}"} >> >> Any idea why this is still happening? >> >> Thanks, >> >> Kai >
