You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by "Nick Vatamaniuc (JIRA)" <ji...@apache.org> on 2016/09/15 14:58:20 UTC

[jira] [Created] (COUCHDB-3149) Exception written to the log if db deleted while there is a change feed running

Nick Vatamaniuc created COUCHDB-3149:
----------------------------------------

             Summary: Exception written to the log if db deleted while there is a change feed running
                 Key: COUCHDB-3149
                 URL: https://issues.apache.org/jira/browse/COUCHDB-3149
             Project: CouchDB
          Issue Type: Bug
            Reporter: Nick Vatamaniuc


{code}

[info] 2016-09-14T20:08:23.217251Z node1@127.0.0.1 <0.23485.0> ea02496172 ea02496172 127.0.0.1  localhost:15984 DELETE /d1 200 ok 46

[error] 2016-09-14T20:08:23.221676Z node1@127.0.0.1 <0.22945.0> -------- rexi_server error:{'EXIT',{{stop,{cb_state,<0.22937.0>,#Ref<0.0.1.15627>,true}},[{couch_event_listener_mfa,handle_event,3,[{file,"src/couch_event_listener_mfa.erl"},{line,91}]},{couch_event_listener,do_event,3,[{file,"src/couch_event_listener.erl"},{line,142}]},{rexi_server,init_p,3,[{file,"src/rexi_server.erl"
},{line,139}]}]}} [{couch_event_listener,do_event,3,[{file,"src/couch_event_listener.erl"},{line,150}]},{rexi_server,init_p,3,[{file,"src/rexi_server.erl"},{line,139}]}]

[info] 2016-09-14T20:08:23.222174Z node1@127.0.0.1 <0.22898.0> 549ae68ef1 549ae68ef1 127.0.0.1  localhost:15984 GET /d1/_changes?feed=longpoll 200 ok 32901
{code}

Appears in the log if a database gets deleted while there is a change feed running. Both longpoll or continuous seem to trigger the behavior.

Exception above in couch_event_listener_mfa:handle_event comes from

https://github.com/apache/couchdb-couch-event/blob/master/src/couch_event_listener_mfa.erl#L91

which, in turn comes from fabric_db_update_listener handle_db_event returning \{stop, St\}  in:

https://github.com/apache/couchdb-fabric/blob/master/src/fabric_db_update_listener.erl#L87

It seems couch_event_listerner_mfa:handle_event doesn’t handle  \{stop, St\} only, \{ok, NewState\} or just stop or it raises an exception.

I tried to replace \{stop, St\} with \{ok, St\} and then with stop. But in both cases change feeds never stopped.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)