This is cropping up with the PR #18 version of the package. The problem seems to be down in the _handleDestroy() method. I didn't dig too far into this, but are there cases where it can legitimately be passed a null or undefined doc?
nxus:searcher:info Attempt errored TypeError: Cannot read property 'id' of null
nxus:searcher:info ___Stack trace #1___
nxus:searcher:info TypeError: Cannot read property 'id' of null
nxus:searcher:info at module.exports.Database.destroy (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline-elasticsearch/lib/database.js:335:25)
nxus:searcher:info at Object.destroy (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline-elasticsearch/lib/adapter.js:60:28)
nxus:searcher:info at module.exports.destroy (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/adapter/dql.js:271:13)
nxus:searcher:info at /Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/query/dql/destroy.js:60:18
nxus:searcher:info at /Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/async/lib/async.js:52:16
nxus:searcher:info at /Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/async/lib/async.js:269:32
nxus:searcher:info at /Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/async/lib/async.js:44:16
nxus:searcher:info at child.<anonymous> (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/utils/schema.js:152:44)
nxus:searcher:info at fn (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/utils/callbacksRunner.js:117:10)
nxus:searcher:info at /Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/async/lib/async.js:181:20
nxus:searcher:info at iterate (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/async/lib/async.js:262:13)
nxus:searcher:info at Object.async.forEachOfSeries.async.eachOfSeries (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/async/lib/async.js:281:9)
nxus:searcher:info at Object.async.forEachSeries.async.eachSeries (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/async/lib/async.js:214:22)
nxus:searcher:info at Object.runner.beforeDestroy (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/utils/callbacksRunner.js:120:9)
nxus:searcher:info at child.module.exports [as destroy] (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/query/dql/destroy.js:53:13)
nxus:searcher:info at module.exports.Deferred.exec (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/query/deferred.js:541:16)
nxus:searcher:info at module.exports.tryCatcher (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/bluebird/js/release/util.js:11:23)
nxus:searcher:info at module.exports.ret (eval at makeNodePromisifiedEval (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/node_modules/bluebird/js/release/promisify.js:184:12), <anonymous>:13:39)
nxus:searcher:info at module.exports.Deferred.toPromise (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/query/deferred.js:550:61)
nxus:searcher:info at module.exports.Deferred.catch (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/waterline/lib/waterline/query/deferred.js:577:15)
nxus:searcher:info at makeAttempt (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/@lifeomic/attempt/src/index.js:133:55)
nxus:searcher:info at retry (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/@lifeomic/attempt/src/index.js:142:12)
nxus:searcher:info at Searcher._retryLimit (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/nxus-searcher/lib/index.js:305:31)
nxus:searcher:info at /Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/nxus-searcher/lib/index.js:684:23
nxus:searcher:info at Generator.next (<anonymous>)
nxus:searcher:info at step (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/nxus-searcher/lib/index.js:193:202)
nxus:searcher:info at /Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/nxus-searcher/lib/index.js:193:383
nxus:searcher:info at tryCatcher (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/bluebird/js/release/util.js:16:23)
nxus:searcher:info at Promise._settlePromiseFromHandler (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/bluebird/js/release/promise.js:517:31)
nxus:searcher:info at Promise._settlePromise (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/bluebird/js/release/promise.js:574:18)
nxus:searcher:info at Promise._settlePromise0 (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/bluebird/js/release/promise.js:619:10)
nxus:searcher:info at Promise._settlePromises (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/bluebird/js/release/promise.js:699:18)
nxus:searcher:info at _drainQueueStep (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/bluebird/js/release/async.js:138:12)
nxus:searcher:info at _drainQueue (/Users/david_kellerman/Documents/Seabourne/gf-assess/node_modules/bluebird/js/release/async.js:131:9) +16s
This is cropping up with the PR #18 version of the package. The problem seems to be down in the
_handleDestroy()
method. I didn't dig too far into this, but are there cases where it can legitimately be passed a null or undefineddoc
?