couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Kocoloski (JIRA)" <>
Subject [jira] Commented: (COUCHDB-863) error log noise when a DELETE kills a replication
Date Wed, 20 Oct 2010 14:20:25 GMT


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

> error log noise when a DELETE kills a replication
> -------------------------------------------------
>                 Key: COUCHDB-863
>                 URL:
>             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.

View raw message