zhaohai666 opened a new pull request, #1375:
URL: https://github.com/apache/rocketmq-clients/pull/1375

   P3 fix(nodejs): transport layer self-healing and logger close deferral
   
   - `Endpoints.getGrpcTarget()`: prefix the gRPC target with the resolver 
scheme —
     `ipv4:` / `ipv6:` (bracketed IPv6 hosts) / `dns:` — so grpc-js resolves 
multi-address
     and bare-IPv6 targets correctly.
   - `RpcClientManager`: key rpc clients by the `endpoints.facade` **string** 
instead of
     object identity (endpoints are recreated on every route fetch, leaking 
duplicate
     channels); add `evict()`.
   - `RpcClient`: keepalive (5 min / 30 s + `keepalive_permit_without_calls`) 
and max
     message size channel options.
   - `BaseClient` heartbeat: rejoin isolated endpoints after success; after ≥ 2 
consecutive
     failures rebuild the transport (evict stale `RpcClient` + refresh 
telemetry session),
     throttled by a 30 s per-endpoints cooldown.
   - Verify-message command replies with `VerifyMessageResult` (nonce) instead 
of echoing
     the command.
   - `logger.close()` deferred to the next macrotask (`setImmediate`) so 
subclass shutdown
     logs no longer throw `log stream had been closed`.
   
   **Tests:** `nodejs/test/route/Endpoints.test.ts` (4 cases, offline, all pass)


-- 
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]

Reply via email to