The GitHub Actions job "CI" on iotdb-client-rust.git/fix/pool-timeouts-and-lifecycle has failed. Run started by GitHub user CritasWang (triggered by CritasWang).
Head commit for run: 13c8e1d0e3af14646517c0ab27c53d5d36bdcf29 / CritasWang <[email protected]> Fix socket timeouts, connection lifecycle and session pool accounting - Bound every blocking socket read/write after the TCP handshake with a new socket_timeout (SO_RCVTIMEO/SO_SNDTIMEO via socket2), applied before the TLS handshake: RPC reads, drop-time closeSession and the TLS handshake can no longer block forever; SO_KEEPALIVE is enabled. connect_timeout is now one total budget per endpoint across all resolved addresses. - Fail over at the handshake level in Session::open (connect + openSession + requestStatementId), mirroring reconnect(). - Mark a connection broken on transport-level failures so is_open() stops lying; pools discard the session instead of handing it out again, and fetch_results (which cannot be retried) also marks it. - SessionPool: spend the acquire_timeout budget on growth/hand-out failures instead of failing instantly, decrement live under the state lock (no lost Condvar wakeups), wake waiters from close() before the blocking closeSession calls, and treat acquire_timeout=Duration::MAX as "wait without deadline" instead of panicking. - Skip the reconnect pacing sleeps for pooled sessions so a pool slot is not held for the full reconnect walk. - Redirect: normalize endpoint matching (case/brackets/loopback), prefer the newest hint when idle sessions hold conflicting hints (process-wide insertion seq), make cache TTL/capacity configurable, and expose TableSessionPool::acquire_for_device. - Add regression tests using silent/fake listeners for every fix above. Closes #4, closes #5, closes #6, closes #7, closes #8, closes #9, closes #10. Report URL: https://github.com/apache/iotdb-client-rust/actions/runs/32833924359 With regards, GitHub Actions via GitBox
