You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Randall Leeds (JIRA)" <ji...@apache.org> on 2010/08/20 23:01:16 UTC
[jira] Updated: (COUCHDB-863) be quiet about dropping invalid
references
[ https://issues.apache.org/jira/browse/COUCHDB-863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Randall Leeds updated COUCHDB-863:
----------------------------------
Attachment: 0001-die-cleanly-when-local-replication-db-goes-away.patch
Spot on, Damien. We probably shouldn't mask strange interdependencies we create and we should instead treat them with respect and care. Here's a patch that shuts the replicator down cleanly when a local db goes away and also makes sure that if it get a spurious monitor message it complains loudly as it's murdered.
> be quiet about dropping invalid references
> ------------------------------------------
>
> Key: COUCHDB-863
> URL: https://issues.apache.org/jira/browse/COUCHDB-863
> Project: CouchDB
> Issue Type: Improvement
> Components: Database Core
> Affects Versions: 1.0.1
> Reporter: Randall Leeds
> Priority: Trivial
> Attachments: 0001-die-cleanly-when-local-replication-db-goes-away.patch
>
>
> couch_ref_counter:drop will complain, dying with noproc, if the reference counter does not exist. Since dropping a reference to a non-existent process isn't exactly an error I think we should squelch this one. I hate log noise and I've noticed this pop up in the logs a bunch, especially running the test suite. Extra noise doesn't make debugging easier and it could confuse people trying to solve real problems.
> Trivial, trivial patch unless I'm missing something really silly. I'll save everyone the extra emails from JIRA and just paste it here.
> diff --git a/src/couchdb/couch_ref_counter.erl b/src/couchdb/couch_ref_counter.erl
> index 5a111ab..1edc474 100644
> --- a/src/couchdb/couch_ref_counter.erl
> +++ b/src/couchdb/couch_ref_counter.erl
> @@ -24,7 +24,9 @@ drop(RefCounterPid) ->
> drop(RefCounterPid, self()).
>
> drop(RefCounterPid, Pid) ->
> - gen_server:call(RefCounterPid, {drop, Pid}).
> + try gen_server:call(RefCounterPid, {drop, Pid})
> + catch exit:{noproc, _} -> ok
> + end.
>
>
> add(RefCounterPid) ->
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.