Database Server Session State Preservation During Restart
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional server restart methods disrupt ongoing communications sessions between client applications and server applications, leading to undesirable delays as clients must re-establish connections and session parameters.
Innovation Solution
Preserving the state data of server applications, including application-level and network-level context, allows the restarted server to recreate sessions, ensuring continuous communication without interruption by storing and reloading this data during the restart process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional server restart methods are used, then the server can be restarted to perform maintenance or updates, but ongoing communications sessions are disrupted and clients must re-establish connections causing downtime
Solution Approach 1:
The system performs preliminary actions by capturing and preserving session state data (including connection information, session parameters, and context) before the server restart is initiated. This allows the restarted server to quickly restore sessions without requiring clients to re-establish connections, thereby reducing reconnection time and maintaining session continuity.
Solution Approach 2:
The system creates a copy of the session state data from the original server process and stores it in a persistent storage location. This copy enables the restarted server process to reconstruct sessions accurately without needing clients to re-connect, thus eliminating downtime and maintaining reliability during the restart process.
2Loss of time
If server state data is preserved during restart, then session continuity is maintained, but additional storage and data management complexity is required
Solution Approach 1:
The system introduces an intermediary component (session state management module) that handles the capture, preservation, and restoration of session data. This intermediary abstracts the complexity of data management from the core server logic, making the process more manageable while enabling seamless session continuity during restarts.
Solution Approach 2:
The system extracts session state data from the running server process and stores it separately in a persistent storage location. This extraction allows the server to be restarted independently while the session data remains preserved, reducing downtime without requiring complex integrated management of server and session states together.
3Productivity
If the server process is restarted to perform maintenance, then system updates can be applied, but communication sessions with clients are interrupted
Solution Approach 1:
Before performing maintenance operations by restarting the server process, the system captures and preserves all necessary session state data including connection information and session parameters. This preliminary action ensures that when the server is restarted for maintenance, sessions can be quickly restored without interrupting client communications, thus maintaining session availability while enabling efficient maintenance.
Solution Approach 2:
The system discards the temporary session state in memory when the server process is restarted for maintenance, but recovers it by loading the preserved state data from persistent storage. This allows the server to be restarted for maintenance while recovering session continuity, maintaining both productivity and reliability.
Data Source
AI summary
Techniques for a context preservation during server restart are described. A restart of a database server having at least one open communications session with a database client is initiated. The database server can be executed by a compute instance hosted by a computer system of a provider network. A restarted database server is launched. The restarted database server obtains session state data to resume the at least one open communications session with the database client, the session state data including one or more session variables. The restarted database server receives a transaction from the database client.


