Max, Jason, thanks for the reply.
I tried replicating it, and indeed it doesn't work - the replicator
crashes. The reason for this is that there's a document with an empty
ID.
>From the _changes stream:
(.....)
{"seq":3518,"id":"","changes":[{"rev":"1-2f11e026763c10730d8b19ba5dce7565"}]},
(.....)
The possibility of adding a document with an empty ID was bug in
previous Couch releases that was fixed some time ago. Basically the
replicator, or any other client, can't access a document with the
empty ID.
Looking at Mikeal's node.js replicator, it's skipping the document if
its ID is empty:
https://github.com/mikeal/replicate/blob/master/main.js#L122
This seems like a sane solution and something I'm considering adding
to the replicators, skipping the document and logging an error message
to inform users.
On Thu, Sep 29, 2011 at 4:39 AM, Jason Smith <[email protected]> wrote:
> Do you mean the NPM registry? The raw couch is any of:
>
> * http://isaacs.iriscouch.com
> * http://isaacs.iriscouch.com:5984
> * https://isaacs.iriscouch.com
> * https://isaacs.iriscouch.com:6984
>
> Note, the official host is isaacs.iriscouch.net but over HTTPS it will
> only serve the SSL certificate for registry.npmjs.org. So you can use
> those above or disable cert verification. (Accessing
> registry.npmjs.org will vhost you to the couch app.)
>
> P.S. All Iris Couch accounts also have short domains, to help with
> testing and development.
>
> * http://isaacs.ic.ht
> * http://isaacs.ic.tl
>
> .ic.ht and .ic.tl are QWERTY-friendly (alternating right-hand,
> left-hand, like Unix commands). They were the shortest available
> domains with a "c" in them, to stand for "Couch". That is why I chose
> the name "Iris Couch" in the first place.
>
> On Thu, Sep 29, 2011 at 11:44 AM, Max Ogden <[email protected]> wrote:
>> http://twitter.com/#!/maxogden/status/113702093512122368
>>
>> On Wed, Sep 28, 2011 at 9:37 PM, Filipe David Manana
>> <[email protected]>wrote:
>>
>>> Mikeal, or someone else, can you provide the url of that npm database?
>>> I would like to do some replication tests with it and report back here.
>>>
>>> thanks
>>>
>>> On Sat, Sep 17, 2011 at 8:01 AM, Adam Kocoloski
>>> <[email protected]> wrote:
>>> > On Wednesday, September 14, 2011 at 3:51 PM, Randall Leeds wrote:
>>> >> On Wed, Sep 14, 2011 at 12:19, Adam Kocoloski
>>> >> <[email protected](mailto:
>>> [email protected])>wrote:
>>> >>
>>> >> > There's a multipart API which allows for a single PUT request
>>> containing
>>> >> > the document body as JSON and all its attachments in their raw form.
>>> >> > Documentation is pretty thin at the moment, and unfortunately I think
>>> it
>>> >> > doesn't quite allow for a pipe(). Would be really nice if it did,
>>> though.
>>> >>
>>> >> It does. We figured it out together a couple weeks ago and that's when
>>> this
>>> >> code came into being.
>>> >> Requesting a _specific_ revision with ?revs=true will give you a
>>> >> multipart/related response suitable for passing straight into a
>>> >> ?new_edits=false&rev= PUT.
>>> >> See https://github.com/mikeal/replicate/blob/master/main.js#L49
>>> >>
>>> > Hah! That's what I get for spending too much time in the world of 1.0.x.
>>> Thanks for the correction Randall. Best,
>>> >
>>> > Adam
>>> >
>>>
>>>
>>>
>>> --
>>> Filipe David Manana,
>>>
>>> "Reasonable men adapt themselves to the world.
>>> Unreasonable men adapt the world to themselves.
>>> That's why all progress depends on unreasonable men."
>>>
>>
>
>
>
> --
> Iris Couch
>
--
Filipe David Manana,
"Reasonable men adapt themselves to the world.
Unreasonable men adapt the world to themselves.
That's why all progress depends on unreasonable men."