Page MenuHomePhabricator

cxserver error prevents adding a paragraph: Rejecting items in subqueue from BatchedAPIRequest
Open, LowPublic

Description

I was translating all paragraphs of en:Lemonade to Finnish in production (with debug flag) while inspecting T234417. When I reached paragraph "Alcoholic varieties are known as hard lemonade", I got message "Machine translation failed" and was not able to translate with Google. By inspecting network response, I obtained following error:

Error: Rejecting items in subqueue from BatchedAPIRequest. This is harmless unless already resolved.
    at rejectSubqueue (/srv/service/lib/mw/BatchedAPIRequest.js:71:19)
    at tryCatcher (/srv/service/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/srv/service/node_modules/bluebird/js/release/promise.js:517:31)
    at Promise._settlePromise (/srv/service/node_modules/bluebird/js/release/promise.js:574:18)
    at Promise._settlePromise0 (/srv/service/node_modules/bluebird/js/release/promise.js:619:10)
    at Promise._settlePromises (/srv/service/node_modules/bluebird/js/release/promise.js:699:18)
    at _drainQueueStep (/srv/service/node_modules/bluebird/js/release/async.js:138:12)
    at _drainQueue (/srv/service/node_modules/bluebird/js/release/async.js:131:9)
    at Async._drainQueues (/srv/service/node_modules/bluebird/js/release/async.js:147:5)
    at Immediate.Async.drainQueues (/srv/service/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:705:18)
    at tryOnImmediate (timers.js:676:5)
    at processImmediate (timers.js:658:5)

Event Timeline

These are hard to debug. The stacktrace is not useful in this case, as the failure is happening somewhere completely else. Hopefully it is locally reproducible so it can be debugged manually to find out the real error.

Pginer-WMF added a subscriber: Pginer-WMF.

where should this go?

Let's remove it from the sprint. It seems that it is reproducible and only causes log noise, so we can work on this when this area of work becomes our focus.

Thanks for checking it!

These are hard to debug. The stacktrace is not useful in this case, as the failure is happening somewhere completely else. Hopefully it is locally reproducible so it can be debugged manually to find out the real error.

Unrelated, but - is it planned to remove bluebird and use native Promise instead? Our Node.js version supports this, as well as async functions (which are just syntax sugar for Promise). Either of those would would improve the stack trace I think.

is it planned to remove bluebird and use native Promise instead?

Not currently planned, but I would support migrating away from bluebird when we focus on cxserver maintenance.