There was a discussion on #couchdb-dev and the proposal is that instead of
using _shards we would rather have _nodes so we could requests like /_node/
couchdb@192.168.0.3/shards%2f0000-1ffff%2ffoo/docid

That then allows us to use _partition as an endpoint for the partition work
without us confusing end users with _shard and _partition.

Full IRC conversation below:

14:25 W<+Wohali> i'd say /_node/$name/$db/_shards instead though
14:25 W<+Wohali> from the general to the specific?
14:45 R<@rnewson> I don't mind /_node too much
14:49 J<+jan____> Wohali: I’m thinking more /_node/$x/ somewhat analogous
to 5986 conceptually, so everything on there is per-node-only, so no notion
of a $db, and only shards
14:49 J<+jan____> very nitpick of course
14:49 R<@rnewson> ah sorry, I am not even thinking
14:50 R<@rnewson>  /_node/
couchdb@192.168.0.3/shards%2f0000-1ffff%2ffoo/docid/attname (etc)
14:50 R<@rnewson> no need for _shards magic
14:50 R<@rnewson> the shards have proper database names
14:50 W<+Wohali> that's in line with our original thinking that under
/_node/<nodename> was, effectively, couch_httpd
14:51 R<@rnewson> that is /_node/$nodename/$dbname where $dbname is what
you'd use on port 5986 (the %2f encoding et al)
14:51 W<+Wohali> which would be the easiest way to get rid of 5986
14:51 R<@rnewson> right
14:51 R<@rnewson> yes
14:51 R<@rnewson> it would allow us to close the port but not (yet) delete
couch_httpd_* modules
14:51 W<+Wohali> and makes a doc rewrite easy. so yeah, i like that
14:52 R<@rnewson> the things already exposed under /_node/$node don't mess
us up? I think we were careful but it's been a while
14:52 R<@rnewson> in that I think it was just two global handlers
14:52 W<+Wohali> _stats and _system for sure are there
14:53 R<@rnewson> ok, those fit perfectly
14:53 W<+Wohali> _config too
14:53 R<@rnewson> ditto
14:53 W<+Wohali> we'll want _dbs and _nodes there
14:53 R<@rnewson> ok, so it really could just be everything

On Thu, Aug 2, 2018 at 1:17 PM, Joan Touzet <woh...@apache.org> wrote:

> > I do agree with the confusion aspect of shards and partitions, and
> > I'm unsure exactly the way forward here yet :(
>
> This is all I care about, and I'm cross that this hasn't been given
> more serious consideration, given CouchDB is already confusing for people
> coming from other databases. Make all the new features you want, but not
> at the expense of usability.
>
> I've raised the issue but I don't have any great idea, other than to say
> I think /db/_shard/<range> is a suitable place for shard-specific
> operations
> to happen.
>
> Help from this list is important before the new endpoint lands.
>
> -Joan
>

Reply via email to