songzhendong commented on PR #141: URL: https://github.com/apache/skywalking-nodejs/pull/141#issuecomment-4898265502
Thanks for the detailed API-correctness review — especially the grpc-js 1.14.4 internals analysis and for refuting the trace-requeue / flush false positives. All 13 inline items are addressed in the latest commit. Fixed in this update High (1) Bootstrap unhandledRejection Attach a no-op handler after bootstrapPromise = Promise.reject(err) so embedders that never call whenReady() are not terminated by Node 15+ default --unhandled-rejections=throw. Regression test added in the whenReady test suite. Medium (2) Connectivity watch deadline Use watchConnectivityState(..., Infinity, ...) instead of a 24h finite deadline. (3) Shutdown race during TLS preload Re-check closed after preloadTlsMaterials() await; call shutdownNow() on the built channel if shutdown completed mid-flight. (4) Windows mTLS key mode check Skip POSIX (mode & 0o077) permission check when process.platform === 'win32'. Low (5) Strict port validation — require all-digit port strings before parsing. (6) Fallback SNI — only when exactly one non-IP hostname exists in config; multi-backend relies on per-target SNI. Removed deprecated no-op warn helpers. (7) Bare IPv6 literal — reject unbracketed IPv6 in host:port entries. (8) Private key loading — PKCS#1 PEM passthrough; removed hand-rolled ASN.1 re-wrap. (9) Trace stream backpressure — race drain against error / close; break when client is closed. Nits (10) Runtime sampler — single heap-space statistics call per sample; CPU delta from one cpuUsage() read. (11) TLS channel builder — collapsed duplicate credential branches. (12) Dead code cleanup — removed unused multi-hostname warn helpers. (13) Key wipe comment — note that OpenSSL SecureContext copies are not erasable from JS. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
