On Dec 22, 2012, at 00:40 , Jan Lehnardt <[email protected]> wrote:

> 
> On Dec 22, 2012, at 00:07 , Jan Lehnardt <[email protected]> wrote:
> 
>> 
>> On Dec 21, 2012, at 22:47 , Jan Lehnardt <[email protected]> wrote:
>> 
>>> Good catch.
>>> 
>>> This seems to fix it:
>>> 
>>> diff --git a/Makefile.am b/Makefile.am
>>> index afeea73..22853fb 100644
>>> --- a/Makefile.am
>>> +++ b/Makefile.am
>>> @@ -91,7 +91,7 @@ endif
>>> check-js: dev
>>> if TESTS
>>> if USE_CURL
>>> -       $(top_builddir)/test/javascript/run
>>> +       MAKE=$(MAKE) $(top_builddir)/test/javascript/run
>>> endif
>>> endif
>>> 
>>> diff --git a/test/javascript/run.tpl b/test/javascript/run.tpl
>>> index 267b6d0..a2d69fd 100644
>>> --- a/test/javascript/run.tpl
>>> +++ b/test/javascript/run.tpl
>>> @@ -46,7 +46,7 @@ abort() {
>>> 
>>> # start CouchDB
>>> if [ -z $COUCHDB_NO_START ]; then
>>> -        make dev
>>> +    $MAKE dev
>>>   trap 'abort' EXIT
>>>      ./utils/run -b -r 1 -n \
>>>              -a $BUILD_DIR/etc/couchdb/default_dev.ini \
>>> 
>>> 
>>> Shall I commit this to 1.3.x & master?
>> 
>> As a refinement, I’d set $MAKE to 'make' if MAKE isn’t set in the
>> environment, so ./test/javascript/run can be run standalone.
>> 
>> With this in place, `gmake distcheck` fails with
>> 
>> not ok 53 stats
>> Reason: We managed to force a all_dbs_active error.
>> Trace back (most recent call first):
>> 
>>  0: 
>>     Error("We managed to force a all_dbs_active error.")
>> 46: 
>> /home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build/../test/javascript/cli_runner.js
>>     T(false,"We managed to force a all_dbs_active error.")
>> 100: 
>> /home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build/../share/www/script/test/stats.js
>>     ()
>> 378: 
>> /home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build/../share/www/script/couch_test_runner.js
>>     run_on_modified_server([object Array],(function () {var pre_dbs = getS
>> 118: 
>> /home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build/../share/www/script/test/stats.js
>>     ()
>> 76: 
>> /home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build/../share/www/script/test/stats.js
>>     ()
>> 53: 
>> /home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build/../test/javascript/cli_runner.js
>>     if (debug) {debugger;}(function () {var db = newDb("test_suite_db");db
>> 72: 
>> /home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build/../test/javascript/cli_runner.js
>>     runAllTestsConsole()
>> 85: 
>> /home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build/../test/javascript/cli_runner.js
>> 
>> 
>> Kinda tired tonight, so probably not digging much deeper here. If anyone has 
>> a clue, let us know! :)
> 
> Yay: It fails in the CLI, but not from the browser. I don’t quite see how, 
> but assume higher latency from the browser hits this. Also, this is in 
> VMware, so the disk is rather virtual. I tried injecting an artificial delay 
> in a few spots in stats.js, but could’t see any improvements.
> 
> Paul, you refactored that test at some point in the past, maybe you have an 
> idea?

Logging the open_databases stat in the loop after the `newDb()` call.

    console.log(getStat("couchdb", "open_databases").current);

It counts up to 5 as expected, but then the loop continues to open 10 DBs 
(i=1), but `open_databases` stays at 5.

Seems like newDb(name, true) (true triggers a createDb()/deleteDb() cycle) 
releases dbs faster in CLI than from the browser.

I will stop looking at this for tonight.

Cheers
Jan
-- 


>>> On Dec 21, 2012, at 22:34 , Noah Slater <[email protected]> wrote:
>>> 
>>>> We do some funky shit with 'SAFE_MAKE' as part of the docs changes, but 
>>>> this should be portable. Judging by your paste, the problem is in 
>>>> test/javascript/run, and sure enough, there are some raw make calls. Looks 
>>>> like a longstanding issue. Are you able to experiment in this file? It 
>>>> should be possible to pick up $MAKE. If not, 'export' it manually from the 
>>>> calling Makefile.am. DM me if you need me to check this thread again 
>>>> tonight or pop on to a laptop.
>>>> 
>>>> On Friday, 21 December 2012, Jan Lehnardt wrote:
>>>> Hi Noah,
>>>> 
>>>> On FreeBSD 9.0 `gmake distcheck`* fails with:
>>>> 
>>>>  ...
>>>>  ./test/javascript/run
>>>>  make: don't know how to make w. Stop
>>>>  gmake[1]: *** [check-js] Error 2
>>>>  gmake[1]: Leaving directory 
>>>> `/usr/home/jan/src/couchdb/apache-couchdb-1.3.0a-4e1bf75-git/_build'
>>>>  gmake: *** [distcheck] Error 1
>>>> 
>>>> I can verify that manual execution of `gmake check` works just fine. My 
>>>> guess would point at an invocation of make as `make` instead of $(MAKE) 
>>>> somewhere in the distcheck bowels. A cursory look didn’t reveal anything 
>>>> obvious, so I hoped you can shed a light on this.
>>>> 
>>>> Thanks!
>>>> Jan
>>>> --
>>>> * (FreeBSD users know to use `gmake` for `make`, as `make often fails, 
>>>> including in our case)
>>>> 
>>>> 
>>>> 
>>>> On Dec 13, 2012, at 17:16 , Noah Slater <[email protected]> wrote:
>>>> 
>>>>> Okay, thanks!
>>>>> 
>>>>> 
>>>>> On 13 December 2012 15:18, Benoit Chesneau <[email protected]> wrote:
>>>>> 
>>>>>> On Thu, Dec 13, 2012 at 3:52 PM, Noah Slater <[email protected]> wrote:
>>>>>> 
>>>>>>> How long do you want to digest the changes, Benoit? Can you be specific?
>>>>>>> 
>>>>>> 
>>>>>> Like I said I was ;) Dave already answered to my question somehow.
>>>>>> 
>>>>>> - benoît
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> NS
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> NS
>>> 
>> 
> 

Reply via email to