Dmytro,

Thanks for following up. Glad you got it working.

Thankfully, someone else gained responsibility for running the repo (so we
didn't have to) but the more info there is on how to do this the better.
Hopefully npm, inc and the resulting changes they're planning will make it
easier to run your own repo and replicate from the main one as well.

andy



On Thu, Feb 6, 2014 at 6:42 PM, Dmytro Semenov <[email protected]> wrote:

> Quick update: the _design document has *validate_doc_update *which
> validate updates.
> By commenting out the following section fixed the issue:
>
>   // can't write to the db without logging in.
>   if (!user || !user.name) {
>     throw { forbidden: "Please log in before writing to the db" }
>   }
>
> Regards,
> Dmytro
>
> On Thursday, February 6, 2014 4:42:16 PM UTC-8, Dmytro Semenov wrote:
>>
>> Hi Andy,
>>
>> I am not sure if you need this, but maybe some other folks would find
>> this helpful.
>>
>> I was able to reproduce this reliably on unrestricted couchdb (no login
>> required)
>>
>> 1. Replicate one module to a new db to make sure replication works:
>> curl http://localhost:5984/_replicate -X POST -d '{"source":"
>> http://isaacs.iriscouch.com/registry/","target":"pub-registry2",";
>> create_target":true,"continuous":false,"doc_ids":["system"]}' -H
>> "Content-Type: application/json"
>> 2. Replicate _design/app
>> curl http://npmjs-db.stratus.dev.ebay.com/_replicate -X POST -d
>> '{"source":"http://isaacs.iriscouch.com/registry/",";
>> target":"pub-registry2","create_target":true,"
>> continuous":false,"doc_ids":["_design/app"]}' -H "Content-Type:
>> application/json"
>> 3. Then try replicate some other module
>> curl http://npmjs-db.stratus.dev.ebay.com/_replicate -X POST -d
>> '{"source":"http://isaacs.iriscouch.com/registry/",";
>> target":"pub-registry2","create_target":true,"
>> continuous":false,"doc_ids":["socket.io"]}' -H "Content-Type:
>> application/json"
>> 4. Now delete _design/app and compact the DB and try replicating other
>> modue as socket.io would be marked as failed and probably would take
>> time to re-try by couchdb later.
>>
>> The root cause is _design/app (not sure if it is specific to one or any
>> design docs), once it gets replicated, the replication starts getting
>> //Error: `forbidden`, reason: `Please log in before writing to the db`.//
>> And _design/app is used to handle some requests to couchdb.
>>
>> So in your case it looks like the case where it was replicating till it
>> got some _design doc replicated which forbad further replication.
>>
>> In my case I was replicating from http://isaacs.iriscouch.com/registry/
>>
>> I have not found what part in _design/app restricts the replication and
>> require login first, just posting if someone got better clue faster than me.
>>
>> Regards,
>> Dmytro
>>
>> On Monday, May 13, 2013 8:16:51 PM UTC-7, andy wrote:
>>>
>>> Based on the awesome feedback I got from https://groups.google.
>>> com/d/msg/nodejs/sX4mbsRPwls/WtDDE-To2o4J, we tried replicating the npm
>>> repo so we could use it in an offline environment.
>>>
>>> We're essentially following the instructions at http://clock.co.uk/tech-
>>> blogs/how-to-create-a-private-npmjs-repository but replication fails
>>> after syncing about 17k documents.
>>>
>>> We've tried reinstalling couch (found one issue that suggested using a
>>> patched version of SpiderMonkey) but the same thing keeps happening, even
>>> after restarting replication several times.
>>>
>>> Here's our setup:
>>>
>>> CentOS 6.4
>>> CouchDB 1.3
>>> SpiderMonkey 1.8.5-7
>>>
>>> Replication works fine for over 17,000 documents, then we see this error
>>> and can't get past it:
>>>
>>> [Sat, 11 May 2013 00:55:39 GMT] [error] [<0.12970.4>] Replicator:
>>> couldn't write document `bufferhelper`, revision `19-
>>> d339684ee7f5eaf4cc18d84da753832d`, to target database `registry`.
>>> Error: `unauthorized`, reason: `Please log in before writing to the db`.
>>>
>>> Any ideas?
>>>
>>> Thanks,
>>>
>>> Andy
>>>
>>  --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to