Klaus,
perhaps I just heard wrong or misinterpreted what was said in the chat room.
It did seem unusual that calling list_to_atom("foo") twice would add more than
one atom. So just reverting the call back in couch_rep:dbinfo should suffice to
fix this as it's internal. Thanks,
Bob
On Jan 2, 2011, at 8:26 AM, Klaus Trainer wrote:
> As far as I can remember, the motivation behind list_to_existing_atom
> was not the fact that list_to_atom pollutes the atoms table during
> normal operation. However, it won't prevent atom table pollution when
> something goes wrong or somebody goes malicious (i.e., DoS attack).
>
> I've just looked it up for you, the exact description is here:
> https://issues.apache.org/jira/browse/COUCHDB-829
>
>
> - Klaus
>
>
> On Sun, 2011-01-02 at 08:06 -0500, Bob Dionne (JIRA) wrote:
>> list_to_existing_atom is too restrictive as used by couch_rep
>> -------------------------------------------------------------
>>
>> Key: COUCHDB-1004
>> URL: https://issues.apache.org/jira/browse/COUCHDB-1004
>> Project: CouchDB
>> Issue Type: Bug
>> Components: Replication
>> Environment: erlang
>> Reporter: Bob Dionne
>> Priority: Minor
>>
>>
>> We'd like to additional information to db_info in BigCouch, such as the Q
>> and N constants for a given database. This causes replication to fail when
>> replicating from BigCouch to CouchDB due to the use of list_to_existing_atom
>> in couch_rep:dbinfo(...
>>
>> The claim is that list_to_atom pollutes the atoms table, however superficial
>> testing indicates this is not the case, list_to_atom when called repeatedly
>> seems to work fine. If this is true then consider reverting
>> list_to_existing_atom back to list_to_atom.
>>
>
>