Skip to content

CW_27 export #186

Open
Y-Vaishnavi wants to merge 22 commits into
eclipse-score:mainfrom
Y-Vaishnavi:5A6A3ABB4B74F4375B4D7C51733A2996
Open

CW_27 export #186
Y-Vaishnavi wants to merge 22 commits into
eclipse-score:mainfrom
Y-Vaishnavi:5A6A3ABB4B74F4375B4D7C51733A2996

Conversation

@Y-Vaishnavi

Copy link
Copy Markdown
Contributor

Notes for Reviewer

Pre-Review Checklist for the PR Author

  • PR title is short, expressive and meaningful
  • Commits are properly organized
  • Relevant issues are linked in the References section
  • Tests are conducted
  • Unit tests are added

Checklist for the PR Reviewer

  • Commits are properly organized and messages are according to the guideline
  • Unit tests have been written for new behavior
  • Public API is documented
  • PR title describes the changes

Post-review Checklist for the PR Author

  • All open points are addressed and tracked via issues

References

Closes #

Pawel Pyszko and others added 22 commits July 13, 2026 13:25
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
@github-actions

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: c03575e3-4415-419d-99a3-fa47cd4e817d
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'score_process', the root module requires module version score_process@1.5.4, but got score_process@1.6.0 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'score_crates', the root module requires module version score_crates@0.0.9, but got score_crates@0.0.10 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 4 packages loaded
Loading: 4 packages loaded
    currently loading: 
Loading: 4 packages loaded
    currently loading: 
WARNING: Target pattern parsing failed.
ERROR: Skipping '//:license-check': no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/logging/logging/BUILD
ERROR: no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/logging/logging/BUILD
INFO: Elapsed time: 9.205s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@Y-Vaishnavi Y-Vaishnavi requested a review from RSingh1511 July 13, 2026 09:43
@Y-Vaishnavi Y-Vaishnavi marked this pull request as ready for review July 14, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants