Connection Pool Recovery for Stale Database Connections

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stale connections in database systems of distributed systems lead to unwanted errors and degrade user experience, with existing solutions consuming resources or introducing latency.

Innovation Solution

A connection manager monitors connection requests and, upon detecting a stale connection, modifies the physical layer of the connection to point to a new server while maintaining the logical layers, and replays operations based on stored metadata, thereby avoiding the generation of new connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If a connection is terminated by a database proxy, then resource management is improved, but connection reliability deteriorates causing stale connection errors

Engineering Contradiction:
Improveresource managementVSAvoidconnection reliability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system performs preliminary actions by storing metadata about connection operations before the connection is actually terminated. When a stale connection is detected, this pre-stored metadata enables the system to replay operations without needing to maintain the original connection throughout its entire lifecycle, thus resolving the contradiction between resource management and connection reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the connection state through metadata storage. Instead of relying on the physical connection to persist, the system maintains a logical copy of the connection's operational state, allowing it to recover and replay operations even when the original connection has been terminated by the database proxy.

Inventive Principle:
Principle #26Copying

2Reliability

If a new connection is created to replace a stale connection, then connection reliability is improved, but system performance deteriorates due to additional latency and resource consumption

Engineering Contradiction:
Improveconnection reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses disposable metadata objects that are inexpensive to create and store compared to maintaining persistent database connections. These lightweight metadata objects can be quickly created and discarded, enabling rapid recovery from stale connections without the overhead of creating expensive, long-lived connection objects, thus improving system performance while maintaining reliability.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The system changes the state parameters of the connection by replaying operations with updated metadata rather than creating a completely new connection object. This parameter-based recovery approach allows the system to restore connection functionality by modifying operational parameters (replaying commands) rather than undergoing the expensive process of establishing a new physical connection, thereby maintaining high system performance.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If connection operations are replayed using stored metadata, then resource consumption is reduced, but system complexity increases

Engineering Contradiction:
Improveresource consumptionVSAvoidsystem complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system segments the connection management functionality into distinct components: metadata storage, stale connection detection, and operation replay. This segmentation allows each component to be independently optimized and managed, reducing overall system complexity despite the added functionality. The metadata structure is divided into specific fields (connection ID, operation type, parameters) making it easier to manage and process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces metadata as an intermediary layer between the application and the database connection. This intermediary stores essential operation information without requiring the system to maintain complex state machines or sophisticated connection tracking mechanisms. The metadata acts as a simple, structured mediator that enables resource-efficient operation replay while keeping the overall system architecture relatively simple and manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12513212B2Managing stale connections in a distributed system
Publication Date: 2025.12.30 PAYPAL INC
  • US12513212B2 patent drawing
  • US12513212B2 patent drawing
  • US12513212B2 patent drawing

AI summary

A system performs operations that include receiving a database request to access, via a first connection in a connection pool, information stored in a database of the system. The first connection is associated with a physical connection layer and one or more logical connection layers. The physical connection layer points to a first network socket. Additionally, the operations include storing metadata associated with the one or more logical connection layers in a buffer. The operations further include responsive to determining that the first connection has been terminated and while maintaining the one or more logical layers, modifying the physical connection layer to point to a second network socket that is different from the first network socket. The operations also include subsequent to the modifying, processing the database request via the first connection based on the metadata stored in the buffer.