nxus / searcher

MIT License
0 stars 0 forks source link

"TypeError: Cannot read property 'id' of null" on delete operation #21

Open davidkellerman opened 5 years ago

davidkellerman commented 5 years ago

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