[ https://issues.apache.org/jira/browse/COUCHDB-2049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benoit Chesneau updated COUCHDB-2049: ------------------------------------- Description: When you quickly start to refresh an index: {code} refresh(#db{name=DbName}, DDoc) -> refresh(DbName, DDoc); refresh(Db, DDoc) -> UpdateSeq = couch_util:with_db(Db, fun(WDb) -> couch_db:get_update_seq(WDb) end), case couch_index_server:get_index(couch_mrview_index, Db, DDoc) of {ok, Pid} -> case catch couch_index:get_state(Pid, UpdateSeq) of {ok, _} -> ok; Error -> {error, Error} end; Error -> {error, Error} end. {code} and immediately delete the database it trigger the following error: {code} [error] [<0.184.0>] Could not open file /Users/benoitc/refuge/couchdb/test/etap/../../test/out/data/foo.couch: no such file or directory [info] [<0.167.0>] Closing index for db: foo idx: _design/bar sig: "6551000fd7a75dab3f60065ce1308dbe" reason: {bad_return_value,{not_found,no_db_file}} [error] [<0.167.0>] ** Generic server <0.167.0> terminating ** Last message in was commit ** When Server state == {st,couch_mrview_index, {code} which is received by the couch_index_server and crash it.. Shouldn't the crash in couch_index be ignored at that point? was: When you quickly start to refresh an index: {code:erlang} refresh(#db{name=DbName}, DDoc) -> refresh(DbName, DDoc); refresh(Db, DDoc) -> UpdateSeq = couch_util:with_db(Db, fun(WDb) -> couch_db:get_update_seq(WDb) end), case couch_index_server:get_index(couch_mrview_index, Db, DDoc) of {ok, Pid} -> case catch couch_index:get_state(Pid, UpdateSeq) of {ok, _} -> ok; Error -> {error, Error} end; Error -> {error, Error} end. {code} and immediately delete the database it trigger the following error: {code} [error] [<0.184.0>] Could not open file /Users/benoitc/refuge/couchdb/test/etap/../../test/out/data/foo.couch: no such file or directory [info] [<0.167.0>] Closing index for db: foo idx: _design/bar sig: "6551000fd7a75dab3f60065ce1308dbe" reason: {bad_return_value,{not_found,no_db_file}} [error] [<0.167.0>] ** Generic server <0.167.0> terminating ** Last message in was commit ** When Server state == {st,couch_mrview_index, {code} which is received by the couch_index_server and crash it.. Shouldn't the crash in couch_index be ignored at that point? > latency in creation wit a quick deletion crash couch_index_server > ----------------------------------------------------------------- > > Key: COUCHDB-2049 > URL: https://issues.apache.org/jira/browse/COUCHDB-2049 > Project: CouchDB > Issue Type: Bug > Security Level: public(Regular issues) > Components: Database Core > Reporter: Benoit Chesneau > > When you quickly start to refresh an index: > {code} > refresh(#db{name=DbName}, DDoc) -> > refresh(DbName, DDoc); > refresh(Db, DDoc) -> > UpdateSeq = couch_util:with_db(Db, fun(WDb) -> > couch_db:get_update_seq(WDb) > end), > case couch_index_server:get_index(couch_mrview_index, Db, DDoc) of > {ok, Pid} -> > case catch couch_index:get_state(Pid, UpdateSeq) of > {ok, _} -> ok; > Error -> {error, Error} > end; > Error -> > {error, Error} > end. > {code} > and immediately delete the database it trigger the following error: > {code} > [error] [<0.184.0>] Could not open file > /Users/benoitc/refuge/couchdb/test/etap/../../test/out/data/foo.couch: no > such file or directory > [info] [<0.167.0>] Closing index for db: foo idx: _design/bar sig: > "6551000fd7a75dab3f60065ce1308dbe" > reason: {bad_return_value,{not_found,no_db_file}} > [error] [<0.167.0>] ** Generic server <0.167.0> terminating > ** Last message in was commit > ** When Server state == {st,couch_mrview_index, > {code} > which is received by the couch_index_server and crash it.. Shouldn't the > crash in couch_index be ignored at that point? -- This message was sent by Atlassian JIRA (v6.1.5#6160)