CW_27 export #186
Open
Y-Vaishnavi wants to merge 22 commits into
Open
Conversation
GIT_ORIGIN_SPP_REV_ID: 243bfaba861fbab5b7a7ea9b6af0bba5b4cdadda
GIT_ORIGIN_SPP_REV_ID: 1de1429b675ff1facae779b5e9784ce264f49be9
GIT_ORIGIN_SPP_REV_ID: 3ce4a16139ba4989d519542a3956e8b94b7b5a2a
GIT_ORIGIN_SPP_REV_ID: 131518ccd71157043c1b0d52462bdac390462c9a
GIT_ORIGIN_SPP_REV_ID: 155ca77ddfcb19319e82feee8132c29909f87201
- client_session_interaction_sequence using inotify - activity_watchdog_session_lifecycle handling stale sessions - sequence_early_disconnect_race handling any race during session startup GIT_ORIGIN_SPP_REV_ID: a98614e80bc35fa95c4c63c7936e159f61057b9b
Increase message-passing notify limits to allow server->client non-blocking notifications as described in the Notify-based acquire design. GIT_ORIGIN_SPP_REV_ID: 71ef3ab5e83849c989f3b95747a75c2029213f66
Replace per-client AcquireRequest delivery via client sender Send() with server-side IServerConnection::Notify(). This avoids reply-blocked MsgSend/writev on a shared client engine thread and prevents cross-client head-of-line blocking. GIT_ORIGIN_SPP_REV_ID: 36526ff0ea5d08488960a7a22418fb1bb810bd99
Register an IClientConnection NotifyCallback and process kAcquireRequest notifications by switching buffers and replying with kAcquireResponse. This is the client-side Notify-based acquire design. GIT_ORIGIN_SPP_REV_ID: 735123e22884507b8c9ab85f0833ae28a5b7865e
Track per-session state and avoid sending additional kAcquireRequest notifications while a previous request is still outstanding. Clear stored server connection pointers on disconnect to avoid stale references. GIT_ORIGIN_SPP_REV_ID: 5cafcea87edf14043e3ebe1a85a11d90dde75e75
Track per-session acquire deadlines and miss counts and tear down sessions that do not reply with kAcquireResponse within the configured deadline for N consecutive misses. The watchdog runs off the existing mp_worker periodic tick to avoid per-session OS timers. GIT_ORIGIN_SPP_REV_ID: 84bb226ff8e017049e94740294234de06310a7f6
- Remove the unused per-client IClientFactory dependency from the message passing server. - NotifyAcquireRequestFailed() is no longer used after the Notify based acquire refactoring. GIT_ORIGIN_SPP_REV_ID: 48aeeefb01510f1d9599c339796e11a13a422e30
- If a client disconnects while OnConnectRequest is creating a session outside mutex_, disconnect_callback previously could not clear connection_ because the PID was not yet in pid_session_map_. - This could lead to storing &connection after the framework already tore the connection down. - Track early disconnects per PID and refuse to store a connection pointer when a disconnect was observed. GIT_ORIGIN_SPP_REV_ID: 879672cc335db046848fe15571a0672c1616ee0a
Avoid relying on implementation-defined steady_clock epochs and make the deadline not set state explicit. GIT_ORIGIN_SPP_REV_ID: 5f3da32556784c74bde3d52de069446907633c3d
Add a unit test that verifies the acquire watchdog. After an initial missed deadline, a late but valid AcquireResponse must reset the miss counter so the client is only torn down after the configured number of subsequent misses. GIT_ORIGIN_SPP_REV_ID: 4667d0ea0811633d2fe10b57e1293aa0810be185
- test ensuring that OnAcquireResponse ignores messages coming from a stale server connection after a client reconnects with the same PID. GIT_ORIGIN_SPP_REV_ID: 927c11ac7b4fd20cbd8e91930b25b4505f08788d
- Now that datarouter does not connect to client's IServer, the disconnect callback is never called. - Addds RequestInternatShutdown when the state callback kStopped is received. GIT_ORIGIN_SPP_REV_ID: fd475ea00de2bc097c8ae6f128344bf8641bddc1
GIT_ORIGIN_SPP_REV_ID: 7d681ddd0dae1e8b63ace4e3fccab211a2773380
- The server already uses IServerConnection::Notify() on the existing single channel to send acquire requests. The client's second channel is redundant. GIT_ORIGIN_SPP_REV_ID: e0802ae92ba9090de244ac7ef14872cb3432c213
- Treat ENOBUFS as a transient error and let the watchdog handle the unresponsive client - this mitigates session disconnection if the client is slow usually during startups GIT_ORIGIN_SPP_REV_ID: 35579555a589dfeab63587b6c3cac7640984963d
- release the global mutex before calling connection->Notify() - Removed NotifyAcquireRequestWhileLocked() as it is no longer needed. GIT_ORIGIN_SPP_REV_ID: 0546d81a5efcccaabeb0fc843acc102d57f7ea84
GIT_ORIGIN_SPP_REV_ID: 35a2250fa80b6e15f22e51288ba7a9d16c883ebc
License Check Results🚀 The license check job ran with the Bazel command: bazel run --lockfile_mode=error //:license-checkStatus: Click to expand output |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Notes for Reviewer
Pre-Review Checklist for the PR Author
Checklist for the PR Reviewer
Post-review Checklist for the PR Author
References
Closes #