You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Jan Lehnardt <ja...@apache.org> on 2015/03/18 22:24:38 UTC

Running 1.x-era JavaScript tests against master

Hi all,

I’m concerned about people upgrading from 1.x to 2.0 and finding that
a number of small things are subtly broken.

I propose we figure out how to run the JavaScript test suite against
the clustered port in master, as they are a decent approximation of
what 1.x clients expect.

There will be a few things that need disabling (tests for _config
e.g.) and some need adjusting (expecting the seq_id to be a number),
but overall, I think this is not a bad task.

I know the JavaScript tests aren’t well liked here, but we’ve spent
quite some time putting a lot of CouchDB API knowledge into them
and I don’t want to miss an opportunity to make upgrades to 2.0 as
seamless as possible.

What do you think?

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


Re: Running 1.x-era JavaScript tests against master

Posted by Sebastian Rothbucher <se...@googlemail.com>.
Hi Will,
that does indeed help a lot - thanks for that! Although I did start w/ 1st
tests (see
https://github.com/apache/couchdb/compare/master...sebastianrothbucher:
clustertest) , there is still plenty of work 2 do...
Cheers
    Sebastian

On Wed, Apr 8, 2015 at 10:06 PM, Will Holley <wi...@gmail.com> wrote:

> It's probably easier to configure the cluster with n=1 rather than change
> write quorum on a per-request basis. This was the approach we took with the
> PouchDB tests and it worked well (as a first step, at least).
>
> Will
> On 8 Apr 2015 20:26, "Sebastian Rothbucher" <
> sebastianrothbucher@googlemail.com> wrote:
>
> > Hi,
> >
> > went a little further - and it could become a bumpy ride (see
> >
> >
> https://github.com/apache/couchdb/compare/master...sebastianrothbucher:clustertest
> > )
> > for how it got so far:
> > - you have to use full write quorum (e.g. via query param), otherwise
> > you'll end up with lots of Heisenbugs (because you might get the shard
> not
> > yet up to date; waits are not the solution. Replication tests could
> become
> > tricky)
> > - correctly detected the Etags issue (which is not yet solved - there is
> a
> > chttpd PR open)
> >
> > Cheers
> >      Sebastian
> >
> > On Wed, Apr 1, 2015 at 11:28 PM, Sebastian Rothbucher <
> > sebastianrothbucher@googlemail.com> wrote:
> >
> > > Hi Jan,
> > >
> > > I tried just that but there is lots of work to do. Maybe it's just
> minor,
> > > but the tests assume a lot which a normal user does not necessarily do,
> > > they depend on time, etc.
> > > First attempt for others 2 try also:
> > >
> >
> https://github.com/apache/couchdb/compare/master...sebastianrothbucher:clustertest
> > >
> > > Let's see how far this can get...
> > >
> > > Cheers
> > >     Sebastian
> > >
> > > On Wed, Mar 18, 2015 at 10:24 PM, Jan Lehnardt <ja...@apache.org> wrote:
> > >
> > >> Hi all,
> > >>
> > >> I’m concerned about people upgrading from 1.x to 2.0 and finding that
> > >> a number of small things are subtly broken.
> > >>
> > >> I propose we figure out how to run the JavaScript test suite against
> > >> the clustered port in master, as they are a decent approximation of
> > >> what 1.x clients expect.
> > >>
> > >> There will be a few things that need disabling (tests for _config
> > >> e.g.) and some need adjusting (expecting the seq_id to be a number),
> > >> but overall, I think this is not a bad task.
> > >>
> > >> I know the JavaScript tests aren’t well liked here, but we’ve spent
> > >> quite some time putting a lot of CouchDB API knowledge into them
> > >> and I don’t want to miss an opportunity to make upgrades to 2.0 as
> > >> seamless as possible.
> > >>
> > >> What do you think?
> > >>
> > >> Best
> > >> Jan
> > >> --
> > >> Professional Support for Apache CouchDB:
> > >> http://www.neighbourhood.ie/couchdb-support/
> > >>
> > >>
> > >
> >
>

Re: Running 1.x-era JavaScript tests against master

Posted by Will Holley <wi...@gmail.com>.
It's probably easier to configure the cluster with n=1 rather than change
write quorum on a per-request basis. This was the approach we took with the
PouchDB tests and it worked well (as a first step, at least).

Will
On 8 Apr 2015 20:26, "Sebastian Rothbucher" <
sebastianrothbucher@googlemail.com> wrote:

> Hi,
>
> went a little further - and it could become a bumpy ride (see
>
> https://github.com/apache/couchdb/compare/master...sebastianrothbucher:clustertest
> )
> for how it got so far:
> - you have to use full write quorum (e.g. via query param), otherwise
> you'll end up with lots of Heisenbugs (because you might get the shard not
> yet up to date; waits are not the solution. Replication tests could become
> tricky)
> - correctly detected the Etags issue (which is not yet solved - there is a
> chttpd PR open)
>
> Cheers
>      Sebastian
>
> On Wed, Apr 1, 2015 at 11:28 PM, Sebastian Rothbucher <
> sebastianrothbucher@googlemail.com> wrote:
>
> > Hi Jan,
> >
> > I tried just that but there is lots of work to do. Maybe it's just minor,
> > but the tests assume a lot which a normal user does not necessarily do,
> > they depend on time, etc.
> > First attempt for others 2 try also:
> >
> https://github.com/apache/couchdb/compare/master...sebastianrothbucher:clustertest
> >
> > Let's see how far this can get...
> >
> > Cheers
> >     Sebastian
> >
> > On Wed, Mar 18, 2015 at 10:24 PM, Jan Lehnardt <ja...@apache.org> wrote:
> >
> >> Hi all,
> >>
> >> I’m concerned about people upgrading from 1.x to 2.0 and finding that
> >> a number of small things are subtly broken.
> >>
> >> I propose we figure out how to run the JavaScript test suite against
> >> the clustered port in master, as they are a decent approximation of
> >> what 1.x clients expect.
> >>
> >> There will be a few things that need disabling (tests for _config
> >> e.g.) and some need adjusting (expecting the seq_id to be a number),
> >> but overall, I think this is not a bad task.
> >>
> >> I know the JavaScript tests aren’t well liked here, but we’ve spent
> >> quite some time putting a lot of CouchDB API knowledge into them
> >> and I don’t want to miss an opportunity to make upgrades to 2.0 as
> >> seamless as possible.
> >>
> >> What do you think?
> >>
> >> Best
> >> Jan
> >> --
> >> Professional Support for Apache CouchDB:
> >> http://www.neighbourhood.ie/couchdb-support/
> >>
> >>
> >
>

Re: Running 1.x-era JavaScript tests against master

Posted by Sebastian Rothbucher <se...@googlemail.com>.
Hi,

went a little further - and it could become a bumpy ride (see
https://github.com/apache/couchdb/compare/master...sebastianrothbucher:clustertest)
for how it got so far:
- you have to use full write quorum (e.g. via query param), otherwise
you'll end up with lots of Heisenbugs (because you might get the shard not
yet up to date; waits are not the solution. Replication tests could become
tricky)
- correctly detected the Etags issue (which is not yet solved - there is a
chttpd PR open)

Cheers
     Sebastian

On Wed, Apr 1, 2015 at 11:28 PM, Sebastian Rothbucher <
sebastianrothbucher@googlemail.com> wrote:

> Hi Jan,
>
> I tried just that but there is lots of work to do. Maybe it's just minor,
> but the tests assume a lot which a normal user does not necessarily do,
> they depend on time, etc.
> First attempt for others 2 try also:
> https://github.com/apache/couchdb/compare/master...sebastianrothbucher:clustertest
>
> Let's see how far this can get...
>
> Cheers
>     Sebastian
>
> On Wed, Mar 18, 2015 at 10:24 PM, Jan Lehnardt <ja...@apache.org> wrote:
>
>> Hi all,
>>
>> I’m concerned about people upgrading from 1.x to 2.0 and finding that
>> a number of small things are subtly broken.
>>
>> I propose we figure out how to run the JavaScript test suite against
>> the clustered port in master, as they are a decent approximation of
>> what 1.x clients expect.
>>
>> There will be a few things that need disabling (tests for _config
>> e.g.) and some need adjusting (expecting the seq_id to be a number),
>> but overall, I think this is not a bad task.
>>
>> I know the JavaScript tests aren’t well liked here, but we’ve spent
>> quite some time putting a lot of CouchDB API knowledge into them
>> and I don’t want to miss an opportunity to make upgrades to 2.0 as
>> seamless as possible.
>>
>> What do you think?
>>
>> Best
>> Jan
>> --
>> Professional Support for Apache CouchDB:
>> http://www.neighbourhood.ie/couchdb-support/
>>
>>
>

Re: Running 1.x-era JavaScript tests against master

Posted by Sebastian Rothbucher <se...@googlemail.com>.
Hi Jan,

I tried just that but there is lots of work to do. Maybe it's just minor,
but the tests assume a lot which a normal user does not necessarily do,
they depend on time, etc.
First attempt for others 2 try also:
https://github.com/apache/couchdb/compare/master...sebastianrothbucher:clustertest

Let's see how far this can get...

Cheers
    Sebastian

On Wed, Mar 18, 2015 at 10:24 PM, Jan Lehnardt <ja...@apache.org> wrote:

> Hi all,
>
> I’m concerned about people upgrading from 1.x to 2.0 and finding that
> a number of small things are subtly broken.
>
> I propose we figure out how to run the JavaScript test suite against
> the clustered port in master, as they are a decent approximation of
> what 1.x clients expect.
>
> There will be a few things that need disabling (tests for _config
> e.g.) and some need adjusting (expecting the seq_id to be a number),
> but overall, I think this is not a bad task.
>
> I know the JavaScript tests aren’t well liked here, but we’ve spent
> quite some time putting a lot of CouchDB API knowledge into them
> and I don’t want to miss an opportunity to make upgrades to 2.0 as
> seamless as possible.
>
> What do you think?
>
> Best
> Jan
> --
> Professional Support for Apache CouchDB:
> http://www.neighbourhood.ie/couchdb-support/
>
>

Re: Running 1.x-era JavaScript tests against master

Posted by Alexander Shorin <kx...@gmail.com>.
Hi Jan!

Idea is really good one - this is the way I found that 2.0 doesn't
support multipart/* Accept against document resources. I think there
is nothing to feedback, need just run it and sort the positive fails
from negative ones.

--
,,,^..^,,,


On Wed, Apr 1, 2015 at 11:26 PM, Jan Lehnardt <ja...@apache.org> wrote:
> Heya,
>
> bumping this as I’d love to get some feedback on the idea :)
>
> Thanks!
> Jan
> --
>
>> On 18 Mar 2015, at 22:24, Jan Lehnardt <ja...@apache.org> wrote:
>>
>> Hi all,
>>
>> I’m concerned about people upgrading from 1.x to 2.0 and finding that
>> a number of small things are subtly broken.
>>
>> I propose we figure out how to run the JavaScript test suite against
>> the clustered port in master, as they are a decent approximation of
>> what 1.x clients expect.
>>
>> There will be a few things that need disabling (tests for _config
>> e.g.) and some need adjusting (expecting the seq_id to be a number),
>> but overall, I think this is not a bad task.
>>
>> I know the JavaScript tests aren’t well liked here, but we’ve spent
>> quite some time putting a lot of CouchDB API knowledge into them
>> and I don’t want to miss an opportunity to make upgrades to 2.0 as
>> seamless as possible.
>>
>> What do you think?
>>
>> Best
>> Jan
>> --
>> Professional Support for Apache CouchDB:
>> http://www.neighbourhood.ie/couchdb-support/
>>
>
> --
> Professional Support for Apache CouchDB:
> http://www.neighbourhood.ie/couchdb-support/
>

Re: Running 1.x-era JavaScript tests against master

Posted by Jan Lehnardt <ja...@apache.org>.
Heya,

bumping this as I’d love to get some feedback on the idea :)

Thanks!
Jan
--

> On 18 Mar 2015, at 22:24, Jan Lehnardt <ja...@apache.org> wrote:
> 
> Hi all,
> 
> I’m concerned about people upgrading from 1.x to 2.0 and finding that
> a number of small things are subtly broken.
> 
> I propose we figure out how to run the JavaScript test suite against
> the clustered port in master, as they are a decent approximation of
> what 1.x clients expect.
> 
> There will be a few things that need disabling (tests for _config
> e.g.) and some need adjusting (expecting the seq_id to be a number),
> but overall, I think this is not a bad task.
> 
> I know the JavaScript tests aren’t well liked here, but we’ve spent
> quite some time putting a lot of CouchDB API knowledge into them
> and I don’t want to miss an opportunity to make upgrades to 2.0 as
> seamless as possible.
> 
> What do you think?
> 
> Best
> Jan
> --
> Professional Support for Apache CouchDB:
> http://www.neighbourhood.ie/couchdb-support/
> 

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