You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Nolan Lawson <no...@nolanlawson.com> on 2015/09/15 16:09:41 UTC

Intent to ship: _bulk_get in PouchDB 5.0.0 and PouchDB Server 1.0.0

Hi friends,

I've been working for some time with folks from CouchDB/Cloudant to get an
implementation of _bulk_get into CouchDB. The goal of the new endpoint is
to vastly speed up replication by avoiding unnecessary additional HTTP
requests [1].

There is already a PR by Alexander Shorin out on CouchDB itself [2], based
on some discussion of prior art [3] including a similar endpoint in rcouch
and Couchbase Sync Gateway.

In PouchDB, we implemented both a server-side version in PouchDB Server [4]
as well as a client-side version [5] which falls back to normal slow GETs
if it doesn't find a _bulk_get endpoint.

I've gotten the +1 from Will Holley that our implementation is consistent
with the proposed CouchDB version, so it is very likely that PouchDB will
ship with support for the endpoint in the next release (5.0.0, sometime
around October 1st), at which time we'll also release PouchDB Server 1.0.0,
so that folks can try out the fast new sync.

If you would like to test out the implementation yourself, it's just:

    npm install -g pouchdb-server@pouchdb/pouchdb-server#use-pouchdb-master
    npm install pouchdb@pouchdb/pouchdb

Or to download the browserified version of the master branch, you can go to
http://pouchtest.com/nightly .

Please try the proposed implementation and let us know at
http://slack.pouchdb.com, irc://freenode.net/#pouchdb, or
https://groups.google.com/forum/#!forum/pouchdb if you have any issues with
it. I'm also going to take the time before the next release to test against
Couchbase Sync Gateway. Although it's passing in our CI [6] I would like to
confirm that we are using CSG's endpoint as intended.

Cheers,
Nolan

[1]: https://issues.apache.org/jira/browse/COUCHDB-2310
[2]: https://github.com/apache/couchdb-chttpd/pull/33
[3]: https://github.com/apache/couchdb-couch/pull/18
[4]: https://github.com/pouchdb/express-pouchdb/pull/208
[5]: https://github.com/pouchdb/pouchdb/pull/4335
[6]: https://travis-ci.org/pouchdb/pouchdb/jobs/80300066

-- 
Nolan Lawson
nolanlawson.com
github.com/nolanlawson

Re: Intent to ship: _bulk_get in PouchDB 5.0.0 and PouchDB Server 1.0.0

Posted by Will Holley <wi...@gmail.com>.
ermouth: _bulk_get is not available on Cloudant today but if it lands
in CouchDB and has a positive effect on replication then I expect
we'll look into supporting it (not my call).

On 15 September 2015 at 16:21, ermouth <er...@gmail.com> wrote:
> Wonderful feature, seems that it can reduce replication costs dramatically,
> thanks.
>
>  > I've gotten the +1 from Will Holley that our implementation is consistent
>> with the proposed CouchDB version
>
> Does Cloudant already has this endpoint onboard? I‘ve tried to, but failed
> – although not sure I did all the things right.
>
> ermouth
>
> 2015-09-15 17:09 GMT+03:00 Nolan Lawson <no...@nolanlawson.com>:
>
>> Hi friends,
>>
>> I've been working for some time with folks from CouchDB/Cloudant to get an
>> implementation of _bulk_get into CouchDB. The goal of the new endpoint is
>> to vastly speed up replication by avoiding unnecessary additional HTTP
>> requests [1].
>>
>> There is already a PR by Alexander Shorin out on CouchDB itself [2], based
>> on some discussion of prior art [3] including a similar endpoint in rcouch
>> and Couchbase Sync Gateway.
>>
>> In PouchDB, we implemented both a server-side version in PouchDB Server [4]
>> as well as a client-side version [5] which falls back to normal slow GETs
>> if it doesn't find a _bulk_get endpoint.
>>
>> I've gotten the +1 from Will Holley that our implementation is consistent
>> with the proposed CouchDB version, so it is very likely that PouchDB will
>> ship with support for the endpoint in the next release (5.0.0, sometime
>> around October 1st), at which time we'll also release PouchDB Server 1.0.0,
>> so that folks can try out the fast new sync.
>>
>> If you would like to test out the implementation yourself, it's just:
>>
>>     npm install -g pouchdb-server@pouchdb
>> /pouchdb-server#use-pouchdb-master
>>     npm install pouchdb@pouchdb/pouchdb
>>
>> Or to download the browserified version of the master branch, you can go to
>> http://pouchtest.com/nightly .
>>
>> Please try the proposed implementation and let us know at
>> http://slack.pouchdb.com, irc://freenode.net/#pouchdb, or
>> https://groups.google.com/forum/#!forum/pouchdb if you have any issues
>> with
>> it. I'm also going to take the time before the next release to test against
>> Couchbase Sync Gateway. Although it's passing in our CI [6] I would like to
>> confirm that we are using CSG's endpoint as intended.
>>
>> Cheers,
>> Nolan
>>
>> [1]: https://issues.apache.org/jira/browse/COUCHDB-2310
>> [2]: https://github.com/apache/couchdb-chttpd/pull/33
>> [3]: https://github.com/apache/couchdb-couch/pull/18
>> [4]: https://github.com/pouchdb/express-pouchdb/pull/208
>> [5]: https://github.com/pouchdb/pouchdb/pull/4335
>> [6]: https://travis-ci.org/pouchdb/pouchdb/jobs/80300066
>>
>> --
>> Nolan Lawson
>> nolanlawson.com
>> github.com/nolanlawson
>>

Re: Intent to ship: _bulk_get in PouchDB 5.0.0 and PouchDB Server 1.0.0

Posted by ermouth <er...@gmail.com>.
Wonderful feature, seems that it can reduce replication costs dramatically,
thanks.

 > I've gotten the +1 from Will Holley that our implementation is consistent
> with the proposed CouchDB version

Does Cloudant already has this endpoint onboard? I‘ve tried to, but failed
– although not sure I did all the things right.

ermouth

2015-09-15 17:09 GMT+03:00 Nolan Lawson <no...@nolanlawson.com>:

> Hi friends,
>
> I've been working for some time with folks from CouchDB/Cloudant to get an
> implementation of _bulk_get into CouchDB. The goal of the new endpoint is
> to vastly speed up replication by avoiding unnecessary additional HTTP
> requests [1].
>
> There is already a PR by Alexander Shorin out on CouchDB itself [2], based
> on some discussion of prior art [3] including a similar endpoint in rcouch
> and Couchbase Sync Gateway.
>
> In PouchDB, we implemented both a server-side version in PouchDB Server [4]
> as well as a client-side version [5] which falls back to normal slow GETs
> if it doesn't find a _bulk_get endpoint.
>
> I've gotten the +1 from Will Holley that our implementation is consistent
> with the proposed CouchDB version, so it is very likely that PouchDB will
> ship with support for the endpoint in the next release (5.0.0, sometime
> around October 1st), at which time we'll also release PouchDB Server 1.0.0,
> so that folks can try out the fast new sync.
>
> If you would like to test out the implementation yourself, it's just:
>
>     npm install -g pouchdb-server@pouchdb
> /pouchdb-server#use-pouchdb-master
>     npm install pouchdb@pouchdb/pouchdb
>
> Or to download the browserified version of the master branch, you can go to
> http://pouchtest.com/nightly .
>
> Please try the proposed implementation and let us know at
> http://slack.pouchdb.com, irc://freenode.net/#pouchdb, or
> https://groups.google.com/forum/#!forum/pouchdb if you have any issues
> with
> it. I'm also going to take the time before the next release to test against
> Couchbase Sync Gateway. Although it's passing in our CI [6] I would like to
> confirm that we are using CSG's endpoint as intended.
>
> Cheers,
> Nolan
>
> [1]: https://issues.apache.org/jira/browse/COUCHDB-2310
> [2]: https://github.com/apache/couchdb-chttpd/pull/33
> [3]: https://github.com/apache/couchdb-couch/pull/18
> [4]: https://github.com/pouchdb/express-pouchdb/pull/208
> [5]: https://github.com/pouchdb/pouchdb/pull/4335
> [6]: https://travis-ci.org/pouchdb/pouchdb/jobs/80300066
>
> --
> Nolan Lawson
> nolanlawson.com
> github.com/nolanlawson
>

Re: Intent to ship: _bulk_get in PouchDB 5.0.0 and PouchDB Server 1.0.0

Posted by Jan Lehnardt <ja...@apache.org>.
+1 on shipping this in 2.0.

rnewson has done a final review of the patch and I’m confident we can
get it ready in time.

Best
Jan
--

> On 15 Sep 2015, at 16:09, Nolan Lawson <no...@nolanlawson.com> wrote:
> 
> Hi friends,
> 
> I've been working for some time with folks from CouchDB/Cloudant to get an
> implementation of _bulk_get into CouchDB. The goal of the new endpoint is
> to vastly speed up replication by avoiding unnecessary additional HTTP
> requests [1].
> 
> There is already a PR by Alexander Shorin out on CouchDB itself [2], based
> on some discussion of prior art [3] including a similar endpoint in rcouch
> and Couchbase Sync Gateway.
> 
> In PouchDB, we implemented both a server-side version in PouchDB Server [4]
> as well as a client-side version [5] which falls back to normal slow GETs
> if it doesn't find a _bulk_get endpoint.
> 
> I've gotten the +1 from Will Holley that our implementation is consistent
> with the proposed CouchDB version, so it is very likely that PouchDB will
> ship with support for the endpoint in the next release (5.0.0, sometime
> around October 1st), at which time we'll also release PouchDB Server 1.0.0,
> so that folks can try out the fast new sync.
> 
> If you would like to test out the implementation yourself, it's just:
> 
>    npm install -g pouchdb-server@pouchdb/pouchdb-server#use-pouchdb-master
>    npm install pouchdb@pouchdb/pouchdb
> 
> Or to download the browserified version of the master branch, you can go to
> http://pouchtest.com/nightly .
> 
> Please try the proposed implementation and let us know at
> http://slack.pouchdb.com, irc://freenode.net/#pouchdb, or
> https://groups.google.com/forum/#!forum/pouchdb if you have any issues with
> it. I'm also going to take the time before the next release to test against
> Couchbase Sync Gateway. Although it's passing in our CI [6] I would like to
> confirm that we are using CSG's endpoint as intended.
> 
> Cheers,
> Nolan
> 
> [1]: https://issues.apache.org/jira/browse/COUCHDB-2310
> [2]: https://github.com/apache/couchdb-chttpd/pull/33
> [3]: https://github.com/apache/couchdb-couch/pull/18
> [4]: https://github.com/pouchdb/express-pouchdb/pull/208
> [5]: https://github.com/pouchdb/pouchdb/pull/4335
> [6]: https://travis-ci.org/pouchdb/pouchdb/jobs/80300066
> 
> -- 
> Nolan Lawson
> nolanlawson.com
> github.com/nolanlawson

-- 
Professional Support for Apache CouchDB:
http://www.neighbourhood.ie/couchdb-support/