Session pooling implementation #1274
Draft
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.
- Session Pooling:
This feature implements session persistence across tool calls and session pooling to address performance bottlenecks and state continuity issues in Context Forge. The approach prioritizes using existing stateful session support (USE_STATEFUL_SESSIONS) and extending it to SSE and WS transports.
The solution addresses two complementary scenarios:
Streamable HTTP: Prefer single persistent client↔gateway↔server session (controlled by USE_STATEFUL_SESSIONS)
SSE/WebSocket: Introduce in-gateway session pool keyed by (user, server) to avoid re-initialization
*** What is implemented ***
streamablehttp_transport
session_pool.py
)sse_endpoint
,message_endpoint
andwebsocket_endpoint
sse_transport
and websocket_transport`server_service
config
*** What is pending ***
schemas
test_session_pool
admin