00:24:58  * daviddiasjoined
00:29:31  * daviddiasquit (Ping timeout: 252 seconds)
00:36:50  * wilmoorejoined
00:39:41  * mikealquit (Quit: Leaving.)
00:49:29  * fritzyjoined
00:51:09  * wolfeidauquit (Remote host closed the connection)
01:03:36  * fritzyquit (Remote host closed the connection)
01:07:36  * fritzyjoined
01:09:49  * fritzyquit (Remote host closed the connection)
01:17:52  * ramitosquit (Ping timeout: 264 seconds)
01:18:39  * ramitosjoined
01:19:17  * dguttmanquit (Quit: dguttman)
01:19:29  * brianloveswordsquit (Quit: Computer has gone to sleep.)
01:22:27  * mikealjoined
01:30:35  * mikealquit (Quit: Leaving.)
01:35:32  * calvinfoquit (Quit: Leaving.)
01:45:42  * wolfeidaujoined
01:47:26  * mikealjoined
01:55:56  * calvinfojoined
02:00:08  * wolfeidauquit (Remote host closed the connection)
02:11:38  * calvinfoquit (Quit: Leaving.)
02:16:31  * calvinfojoined
02:20:45  * mikealquit (Quit: Leaving.)
02:21:36  * domanicjoined
02:25:13  * wolfeidaujoined
02:27:12  * calvinfoquit (Quit: Leaving.)
02:27:31  * wilmoorequit (Ping timeout: 240 seconds)
02:29:10  * calvinfojoined
02:34:04  * calvinfoquit (Ping timeout: 264 seconds)
02:34:33  * mikealjoined
02:38:43  * mikealquit (Client Quit)
02:44:30  * ednapiranhajoined
02:53:41  * Sorellaquit (Quit: It is tiem!)
03:00:56  * mikealjoined
03:05:03  * wolfeidauquit (Remote host closed the connection)
03:20:55  * ednapiranhaquit (Quit: Leaving...)
04:02:23  * daviddiasjoined
04:06:52  * daviddiasquit (Ping timeout: 260 seconds)
04:23:27  * domanicquit (Ping timeout: 252 seconds)
04:31:55  * blessYahu_joined
04:32:25  * fritzyjoined
04:33:53  * blessYahuquit (Ping timeout: 240 seconds)
04:38:39  * wilmoorejoined
04:39:48  * calvinfojoined
04:40:36  * calvinfo1joined
04:40:37  * calvinfoquit (Read error: Connection reset by peer)
04:56:23  * wolfeidaujoined
04:58:20  * calvinmetcalfquit (Quit: Connection closed for inactivity)
05:40:32  * wolfeidauquit (Remote host closed the connection)
05:45:37  * brianloveswordsjoined
05:46:32  * wolfeidaujoined
05:51:23  * daviddiasjoined
05:53:13  * brianloveswordsquit (Quit: Computer has gone to sleep.)
05:55:51  * daviddiasquit (Ping timeout: 252 seconds)
06:21:04  * fritzyquit (Remote host closed the connection)
06:30:14  * daviddiasjoined
06:37:59  * blessYahujoined
06:41:07  * blessYahu_quit (Ping timeout: 240 seconds)
06:50:59  * wolfeidauquit (Remote host closed the connection)
07:05:13  * daviddiasquit
07:11:39  * daviddiasjoined
07:12:00  * wolfeidaujoined
07:24:53  * calvinfo1quit (Quit: Leaving.)
07:31:22  * wolfeidauquit (Remote host closed the connection)
07:32:43  * blessYahuquit (Ping timeout: 240 seconds)
08:18:19  * sorribasjoined
08:34:08  * wolfeidaujoined
08:50:19  * wolfeidauquit (Remote host closed the connection)
08:51:06  * daviddiasquit (Remote host closed the connection)
09:09:38  * daviddiasjoined
10:12:39  * kenansulaymanchanged nick to kenan|afk
10:16:15  * wilmoorequit (Ping timeout: 244 seconds)
10:21:57  * kenan|afkchanged nick to kenansulayman
10:26:44  * daviddiasquit (Remote host closed the connection)
10:28:30  * wolfeidaujoined
10:34:05  * kenansulaymanchanged nick to kenan|afk
10:43:08  * wolfeidauquit (Remote host closed the connection)
10:44:48  * kenan|afkchanged nick to kenansulayman
11:05:43  * domanicjoined
11:10:45  * stagasjoined
11:14:09  * daviddiasjoined
11:19:46  * calvinmetcalfjoined
11:24:08  * mhernandez1joined
11:26:45  * mhernandez1quit (Remote host closed the connection)
11:30:29  * daviddia_joined
11:30:29  * daviddiasquit (Read error: Connection reset by peer)
11:34:05  * mhernandez1joined
11:41:32  * mhernandez1quit (Remote host closed the connection)
12:08:24  * daviddia_quit (Remote host closed the connection)
12:18:57  * daviddiasjoined
12:37:33  * stagasquit (Ping timeout: 240 seconds)
12:54:49  * daviddiasquit (Read error: No route to host)
13:18:03  * domanicquit (Ping timeout: 252 seconds)
13:19:05  * blessYahujoined
13:38:18  * dguttmanjoined
13:55:08  * hij1nxquit (Quit: leaving)
13:56:07  * hij1nxjoined
14:00:54  * brianloveswordsjoined
14:12:22  * jerrysvjoined
14:19:52  * sygijoined
14:28:05  * jjmalinajoined
14:41:16  * daviddiasjoined
14:51:34  * daviddiasquit (Remote host closed the connection)
15:02:04  * jjmalina_joined
15:02:07  * jjmalinaquit (Read error: Connection reset by peer)
15:12:44  * daviddiasjoined
15:24:28  * ednapiranhajoined
15:35:34  * gyaresupart
15:41:44  * domanicjoined
15:43:30  * calvinfojoined
15:52:45  * calvinfoquit (Quit: Leaving.)
16:12:15  <nlf>nolanlawson: ping?
16:20:31  * fritzyjoined
16:22:58  * fritzy_joined
16:22:59  * fritzyquit (Read error: Connection reset by peer)
16:23:27  * calvinfojoined
16:23:48  * calvinfo1joined
16:23:55  <dguttman>nlf: btw, thanks for pointing me to your library — extremely helpful in creating DynamoDOWN
16:24:09  <nlf>you're welcome, glad it was useful
16:24:31  <dguttman>some of DynamoDOWN is going to look awfully familiar ;)
16:25:46  <nlf>haha, i'm fine with that. i spent a solid two days getting riakdown working so if someone else can benefit from that, it seems like the time was more useful
16:26:41  <dguttman>=)
16:26:42  <dguttman>btw
16:27:01  <dguttman>if you’re interested in going the options-as-object way
16:27:08  <dguttman>here’s how I handled it in my test
16:27:08  <dguttman>https://gist.github.com/davidguttman/684c69c8c2d98d1a2178#file-dynamodown-test-js-L16
16:27:31  * calvinfoquit (Ping timeout: 240 seconds)
16:27:33  <nlf>i did wonder about that
16:27:38  <nlf>thanks, i'll keep that in mind
16:27:46  <dguttman>(monkey-patched db._open so that it always has the options key it expects)
16:35:47  * brianloveswordsquit (Quit: Computer has gone to sleep.)
16:50:00  * mikealquit (Quit: Leaving.)
16:52:55  * mikealjoined
16:54:19  * daviddiasquit (Remote host closed the connection)
16:54:23  * mikealquit (Client Quit)
16:55:56  * mikealjoined
17:01:54  * jjmalina_quit (Ping timeout: 240 seconds)
17:04:57  * daviddiasjoined
17:13:47  <nolanlawson>nif: pong
17:15:37  * daviddiasquit
17:16:19  <nlf>nolanlawson: so i implemented riakdown.destroy() per the issue you opened for me
17:16:40  <nlf>but i still get some test failures, but the tests are chained promises and my brain struggles with those so i'm not sure where i'm going wrong
17:16:51  * daviddiasjoined
17:17:28  * fritzy_quit (Remote host closed the connection)
17:21:30  <nolanlawson>ah yeah, I saw that
17:22:13  <nolanlawson>nif: one sec
17:26:29  * wilmoorejoined
17:26:50  * daviddiasquit (Remote host closed the connection)
17:30:15  <nolanlawson>nif: yeah, I've busted my brain on those tests plenty of times
17:30:20  <nolanlawson>there's a few things you can do to make it easier
17:30:29  <nolanlawson>I'll write it up in that github issue in case it helps other *down authors
17:34:31  <nlf>cool, thanks
17:36:46  <nolanlawson>nif: ok, here you go: https://github.com/nlf/riakdown/issues/4
17:37:14  <nolanlawson>sorry that our tests are so complicated, next step will be refactoring so that *DOWN authors can run the tests with a few lines of code
17:40:01  <nlf>nolanlawson: looks like it is a race condition, running the tests in browser they all pass
17:41:25  <nlf>oh, well not all of them yet apparently
17:41:29  <nlf>that's a lot of tests..
17:41:35  <nolanlawson>nif: haha
17:41:45  <nlf>so far 127 passes and 1 failure
17:42:01  <nolanlawson>yeah, I'm starting to realize as I shop our tests around to various folks that we have a pretty decent test suite
17:42:16  <nlf>2 failures
17:42:19  <nlf>both timeouts..
17:42:27  <nolanlawson>even found bugs in cloudant and the sqlite plugin for cordova :)
17:42:39  <nolanlawson>nif: timeouts are an unfortunate side effect of some occasionally sloppy practices in the unit tests
17:42:51  <nolanlawson>we're using chai as promised, and if you don't set it up correctly, then a failure can just do a timeout
17:43:16  <nolanlawson>best way to test is to step through in the debugger, unfortunately. one of those "should" statements should throw a sync error that you can catch, which will tell you what's wrong
17:43:39  <nolanlawson>which tests?
17:43:56  <nlf>so far "Descending changes" from test.changes.js-http
17:44:12  <nlf>and "Descending many changes Old Style" and "Descending many changes New Style"
17:44:37  <nolanlawson>yeah, sorry about that, it's probably the results.results.length.should.equal line
17:45:01  <nolanlawson>if you break in the debugger and compare the length with what it expects it should make sense
17:46:36  <nlf>i suspect all the errors i'm seeing are race conditions
17:46:54  <nlf>which are kind of hard to avoid given that riak is eventually consistent..
17:48:20  <nlf>tests just finished, 714 passes, 5 failures
17:49:54  <nlf>that's pretty close.. i'll have to figure out what the race conditions are though
17:50:04  * fritzyjoined
17:59:07  <nolanlawson>nif: I'll admit it, you might discover a bug in our code
17:59:26  <nolanlawson>but I'm betting against it, given that MemDOWN and LevelDOWN have been passing those tests pretty consistently
17:59:56  <nolanlawson>you're pulling in rvagg/node-levelup, right? there's a bugfix in master that fixes a race
18:00:44  <nlf>double checking
18:01:04  <nlf>npm i levelup@rvagg/node-levelup from within node_modules/pouchdb should be what it needs, right?
18:04:02  * kenansulaymanchanged nick to kenan|afk
18:05:33  <nolanlawson>nif: yes
18:06:08  <nlf>then yeah, i've got an up to date levelup
18:06:09  <nolanlawson>otherwise you'll see TypeError: Cannot call method 'end' of undefined
18:06:14  <nolanlawson>on ReadStream
18:07:56  * brianloveswordsjoined
18:12:24  * jerrysvquit (Ping timeout: 240 seconds)
18:14:08  * jerrysvjoined
18:14:19  * gyaresujoined
18:16:37  <nlf>nolanlawson: any idea what an error with the message 'no_db_file' means?
18:18:48  <nolanlawson>yes
18:18:59  <nolanlawson>that error occurs when it tries to open a database and cannot
18:19:05  <nolanlawson>so it's probably related to the destroying/recreating thing
18:19:12  <nolanlawson>since we're constantly destroying and recreating them
18:19:21  <nlf>oh that's happening with me trying to run manually
18:19:58  <nlf>i got it
18:20:04  <nolanlawson>sweet
18:20:10  <nlf>user error :)
18:21:22  <nlf>so db.allDocs({ startkey: '5', descending: true }), i assume that means it should return all docs with a key less than or equal to 5?
18:29:14  <nolanlawson>nif: yes
18:29:21  <nlf>well that found one bug
18:29:26  <nlf>corrected and testing again
18:29:32  <nolanlawson>awesome :)
18:32:36  * jjmalinajoined
18:33:29  <nlf>oh neat, and the next bug crashes pouchdb-server :D
18:34:19  <nolanlawson>hm, guess that's a bug on both our ends, since ideally we shouldn't do that. like, ever. :P
18:35:28  <nlf>https://github.com/nolanlawson/pouchdb-all-dbs/blob/master/index.js#L81
18:35:33  <nlf>pouch is undefined
18:37:20  <nolanlawson>that is weird
18:37:48  <nolanlawson>nif: I know resetAllDbs isn't being called, because I only use that in the unit tests for that plugin, not in pouchdb-server
18:38:22  <nolanlawson>ah, it must be throwing an uncaught error in init
18:38:33  <nolanlawson>new Pouch(ALL_DBS_NAME).catch(...)
18:38:53  <nolanlawson>that should be writing to console.error, which is my super responsible way of handling that error :P
18:39:10  * sorribasquit (Quit: Connection closed for inactivity)
18:39:44  <nlf>that explains why i get '{}' logged randomly
18:39:52  <nlf>wonder why there's no actual error object there..
18:40:34  * brianloveswordsquit (Quit: Computer has gone to sleep.)
18:41:56  <nolanlawson>nif: that's a leveldown thing (or so I'm told), to return an empty error object
18:42:03  * brianloveswordsjoined
18:42:52  <nolanlawson>check "function LevelPouch" in pouchdb/lib/adapters/leveldb.js to see why it might be throwing that error
18:42:55  <nolanlawson>that's the constructor
18:46:41  <nlf>yeah, the callback from new PouchDB is getting err = { message: undefined }
18:51:19  <nolanlawson>so the all-dbs code tries to create a separate database called "__pouch_all_dbs"
18:51:33  <nolanlawson>maybe we're not allowed to use underscore prefixes in riak?
18:52:14  <nolanlawson>hard to say without stepping through the LevelPouch code
18:52:24  <nolanlawson>this may be a good place for us to bubble up more helpful error messages, tho
18:52:29  <nolanlawson>nif:
18:53:01  <nlf>well i apparently managed to crash riak, so there's that
18:53:16  <nlf>you can have buckets with a prefix of _
18:54:21  <nlf>mm, yup minor bug on my end killed it
18:55:40  <nolanlawson>ok, will still file a bug on all-dbs
18:57:14  <nlf>ahh, i think i ran out of file descriptors
18:57:18  <nlf>riak is a bit of a hog
18:58:54  * wilmoorequit (Ping timeout: 240 seconds)
18:59:02  <nlf>yup, mac fd limitation
18:59:06  <nlf>spinning up a vm for riak
19:18:41  * wilmoorejoined
19:29:09  * jerrysvquit (Remote host closed the connection)
19:54:33  * mikealquit (Quit: Leaving.)
20:00:58  * jerrysvjoined
20:23:27  <nlf>nolanlawson: 1) migration one "before each" hook:
20:23:27  <nlf> Uncaught Error: ENOENT, open './tests/oldStyle.uuid'
20:25:41  <nlf>nevermind, i see it's in git, updating
20:30:14  <nolanlawson>nif: yeah, that's a bug in our tests. I couldn't figure out how to fix it; it only occurred when running the tests from node_modules/pouchdb
20:30:22  <nolanlawson>also I only ever saw it in Travis, not on my mac
20:31:08  <nolanlawson>feel free to just skip those tests by commenting out test.migration.js; we haven't gotten to it yet
20:34:32  <nlf>https://github.com/pouchdb/pouchdb/blob/2362/.gitignore#L8
20:34:33  <nlf>that's why
20:34:40  <nlf>npm respects the .gitignore if it exists
20:34:52  <nlf>so it's leaving out oldStyle.uuid
20:35:19  <nlf>i just downloaded the file manually so i can let it run through the full suite
20:35:48  <nolanlawson>ahhhhh
20:35:54  <nolanlawson>thank you; that's awesome
20:35:58  <nolanlawson>I would have never figured that out
20:36:07  <nolanlawson>if I add an .npmignore, will npm stop ignoring what's in the gitignore?
20:36:23  <nlf>yes, but you'll want to make sure that anything you actually want npm to ignore goes in that file
20:36:35  <nlf>since if an .npmignore exists it's respected *instead of* the .gitignore
20:36:43  <nlf> 706 passing (2m)
20:36:43  <nlf> 23 pending
20:36:45  <nlf>tada
20:36:47  <nlf>no more failures
20:37:04  <nolanlawson>ALL RIGHT!
20:37:32  <nolanlawson>that's amazing, now we can tick off one more "100% PouchDB-certified" leveldown adapter ;)
20:37:45  <nolanlawson>23 pending means nothing, those are just the tests we skip
20:37:47  <nlf>just prepping stuff for publish right now
20:38:48  <nolanlawson>hopefully by this weekend I should have the formal test stuff done, so you can include it as a travisable test in your project
20:40:20  * gyaresupart
20:42:08  <nlf>it did manage to catch a couple very tiny edge case bugs in riakdown, so this was good
20:42:59  * tarrudajoined
20:43:46  <nolanlawson>nif: next you'll have to see if you can pass the tests when it's riakdown on the client and on the server ;)
20:44:03  <nolanlawson>I'll try to set it up so you can try all combinations. should be helpful for finding races
20:44:17  <nlf>it actually found a bug in riakpbc too, which i was able to work around easily, but it would be good to try to track it
20:44:35  <nolanlawson>wow, no kidding
20:44:47  <nlf>some crazy race condition
20:44:56  <nolanlawson>glad the test suite is useful for people other than us :)
20:45:02  <nlf>definitely is
20:46:08  <nlf>verifying tests again then i'll version bump and publish both riakpbc and riakdown and then we're rockin
20:47:24  <nolanlawson>awesome, we'll be able to say on our adapters page that RiakDOWN is confirmed passing: http://pouchdb.com/adapters.html
20:52:28  <nlf>nolanlawson: just published riakdown 1.0.0 and riakpbc 1.4.1
20:52:30  <nlf>tests are passing
20:52:36  <nlf>thanks for the debugging tips
20:54:45  <nolanlawson>np, glad to know it was helpful
20:56:30  <nlf>weird, bunch of replication tests fail in the browser
20:57:38  * wolfeidaujoined
20:58:13  * domanicquit (Ping timeout: 252 seconds)
20:58:18  * wolfeidauquit (Remote host closed the connection)
21:06:22  * calvinfo1quit (Quit: Leaving.)
21:09:35  <nlf>nolanlawson: ideas? all of the other tests pass with no issues, but replication tests almost all fail
21:10:11  <nolanlawson>nlf: hmmm
21:10:14  <nolanlawson>what's the error?
21:10:30  <nolanlawson>and which browser?
21:10:39  <nlf>it's all assertion errors, like:
21:10:39  <nlf>Error: Uncaught AssertionError: expected 8 to equal 4 (http://127.0.0.1:8000/node_modules/chai/chai.js:921)
21:10:39  <nlf> at global.onerror (http://127.0.0.1:8000/node_modules/mocha/mocha.js:5738:10)
21:10:42  <nlf>chrome
21:10:50  <nlf>25
21:10:51  <nolanlawson>and they pass with leveldown as the backend?
21:10:52  <nlf>35*
21:11:19  <nlf>checking with leveldown
21:12:13  <nlf>i get a bunch of: Error: done() invoked with non-Error: {"status":500,"name":"unknown_error"} with leveldown
21:12:22  <nlf>and nope, replication errors with leveldown too
21:12:42  <nlf>so i guess it's not my fault :P
21:13:09  <nolanlawson>yeah, we might have broken something in pouchdb master
21:13:38  <nlf>ok, well then i'm going to just not touch anything for now :)
21:18:02  * ednapiranhaquit (Quit: Leaving...)
21:21:53  <nolanlawson>shoot, I'll have to look into this later
21:22:05  <nlf>riakdown is definitely a *lot* slower, but it works
21:22:27  <nolanlawson>nlf: looks like a problem with circular dependencies; I probably shouldn't be npm linking a module from node_modules to its parent. node newb stripes are showing
21:22:32  <nlf>~30 seconds to run the test suite against leveldown, ~2.5 minutes with riakdown
21:22:49  <nolanlawson>nlf: riakdown is slower than leveldown, or it's slower than it was before?
21:22:50  <nlf>ah, gotcha, ok
21:23:00  <nlf>riakdown is slower than leveldown
21:23:02  <nlf>but i knew that already
21:23:11  <nolanlawson>ah yeah, I wouldn't worry about these tests in terms of performance tho
21:23:15  <nolanlawson>probably not a good indicator
21:23:15  <nlf>it just becomes more obvious when you're running that many tests against it
21:23:28  <nolanlawson>very artificial environment where we delete and recreate a database 700 times
21:23:45  <nolanlawson>we also have perf tests, though :)
21:24:06  <nlf>yeah, deleting a database in riak is *very* slow
21:24:13  <nolanlawson>you'll have to wait, though, haven't set that up on the command line yet so that you can pass in arbitrary *down adapters
21:24:14  <nlf>since i have to iterate over all of the keys and delete them one by one
21:24:26  <nolanlawson>ah yeah, I had the same problem with localstoragedown
21:51:14  * jerrysvquit (Remote host closed the connection)
22:02:21  * mikealjoined
22:05:14  * abemassryjoined
22:12:47  * mikealquit (Quit: Leaving.)
22:22:45  * mikealjoined
22:29:19  <ogd>anyone have a module for doing levelup fallbacks? e.g. if i wanna implement a 'dry run' feature and I want .get and .createReadStream to read from an actual leveldb, but any operations with side effects like put or writeStream will go to e.g. memdown
22:33:38  * wolfeidaujoined
22:33:57  * tarrudaquit (Quit: WeeChat 0.4.2)
22:37:01  * BruNeX_joined
22:39:31  * mikealquit (Quit: Leaving.)
22:47:59  * mikealjoined
22:50:11  * domanicjoined
22:57:45  * jerrysvjoined
23:03:46  * Sorellajoined
23:04:26  * Sorellaquit (Max SendQ exceeded)
23:05:25  * Sorellajoined
23:09:53  * wilmoorequit (Ping timeout: 272 seconds)
23:10:21  * mikealquit (Quit: Leaving.)
23:12:48  * sygiquit (Quit: Connection closed for inactivity)
23:15:34  * mikealjoined
23:25:57  * mikealquit (Quit: Leaving.)
23:38:39  * mikealjoined
23:40:58  * ednapiranhajoined
23:48:22  * calvinfojoined
23:53:36  * jerrysvquit (Remote host closed the connection)