[SoC] Week 9 Report: Integrating Node.js with ZOO-services

Momtchil Momtchev momtchil at momtchev.com
Sun Aug 14 12:27:35 PDT 2022


Report for Week 9:

Week 9 was spent mostly debugging and improving usability:

  * The bug in libnode which resulted in early exits of the event loop 
when resolving Promises from C++ was found and fixed (async functions 
are to be called with MakeCallback)

* The new demo service, linestringDem was transformed to be compatible 
with the existing GdalExtractProfile

* linestringDem was added to the demos with its own web interface and 
debugged

* An additional bug was found and investigated - string outputs from 
Node.js services sometimes get truncated when they are over 64Kb because 
libnode/Node.js switch the stdin/stdout file descriptors to non-blocking 
mode which is not supported by the fcgi library:

https://github.com/nodejs/node/issues/44237


I am currently not blocked on anything and I plan to continue debugging 
and start implementing the last sizeable feature - allowing libnode to 
load all of its internal modules (fs, http, ...) from a precompiled V8 
heap snapshot, instead of recompiling them at each startup. This feature 
has been present in stock Node.js since version 12.5 and can 
dramatically improve startup times:

https://github.com/nodejs/node/issues/17058

-- 
Cordialement,
Momtchil Momtchev <momtchil at momtchev.com>



More information about the SoC mailing list