You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Adam Kocoloski (JIRA)" <ji...@apache.org> on 2010/10/20 16:20:25 UTC

[jira] Commented: (COUCHDB-863) error log noise when a DELETE kills a replication

    [ https://issues.apache.org/jira/browse/COUCHDB-863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12922977#action_12922977 ] 

Adam Kocoloski commented on COUCHDB-863:
----------------------------------------

Hi Randall, the first part of the patch, in which the source or target is set to nil if it was the source of the 'DOWN' message, makes sense.  Although I think it could be simpler - the process is going to die, so calling close_db() for any DB is actually unnecessary, right?  The reference counters will be decremented automatically when couch_rep exits.  Same thing with deleting the ets table.

I'm having a little bit of trouble following some of the rest of the patch.  It looks like you've changed terminate(normal, State) so that it does not try to save a final checkpoint even if one was scheduled.  Was that intentional?

It looks like we're using the shutdown Reason for continuous replications.  I'm not quite sure what's going on there, but I think returning {ok, stopped} for a non-continuous replication will cause an error in the client process handling the initial _replicate request.  I realize that's not specific to your patch, it's just something else I'm confused about.

A small note - you don't need to guard a call to timer:cancel(Checkpoint).  If checkpoint is not a valid timer reference the function returns {error, badarg} but it does not crash anything.



> error log noise when a DELETE kills a replication
> -------------------------------------------------
>
>                 Key: COUCHDB-863
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-863
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Replication
>    Affects Versions: 1.0.1
>            Reporter: Randall Leeds
>            Priority: Trivial
>         Attachments: 0001-die-cleanly-when-local-replication-db-goes-away.patch, 0001-refactor-replication-shutdown.patch
>
>
> couch_ref_counter:drop will complain, dying with noproc, if the reference counter does not exist.
> couch_rep listens for the 'DOWN' message but then tries to terminate, closing both source and target dbs. If either one was the source of the 'DOWN' message because it was deleted, this causes loud complaints in the log and gen_server exits. We can do this more cleanly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.