Timeout-Based Invalidation for Unresponsive Read-Only Database Instances
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In database clustering systems, unresponsive read-only instances can cause lengthy delays for write requests, as they require all instances to invalidate shared locks, and immediate eviction of such instances is computationally costly and may not account for transient unresponsiveness.
Innovation Solution
A timeout-based invalidation and suspension approach is implemented, where multiple time-out periods are established, allowing read-write instances to temporarily suspend unresponsive read-only instances, enabling write operations to proceed while allowing unresponsive instances to finish current transactions without accepting new ones, with eviction as a last resort.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all read-only instances wait for lock invalidation completion before write requests proceed, then data consistency is maintained, but write request processing time increases significantly when instances are unresponsive
Solution Approach 1:
The system sends invalidation requests to read-only instances in advance before the write request needs to proceed. The write request can continue once the invalidation is sent, without waiting for confirmation, thus maintaining data consistency while reducing processing time delays.
Solution Approach 2:
The system implements a feedback mechanism where read-only instances send acknowledgments when they receive invalidation requests. The write request proceeds when acknowledgments are received or timeout occurs, balancing data consistency with processing efficiency.
2Productivity
If unresponsive read-only instances are immediately evicted to free resources, then write requests can proceed without delay, but computational costs increase due to loss of performed work and restart requirements
Solution Approach 1:
The system suspends unresponsive read-only instances rather than immediately evicting them. Suspension prevents new work from being assigned while allowing current transactions to complete, avoiding the computational cost of full eviction and restart while still protecting write request throughput.
Solution Approach 2:
The system implements a timeout mechanism that provides a buffer period before taking eviction action. This cushioning allows transient unresponsiveness to resolve naturally while preventing prolonged blocking of write requests, thus balancing productivity and energy consumption.
3Reliability
If read-only instances hold shared locks during read operations, then data consistency is ensured, but write requests are blocked until all locks are released
Solution Approach 1:
The system invalidates shared locks on read-only instances in advance before write requests need to access the data. This preliminary invalidation ensures data consistency while enabling write requests to proceed without prolonged blocking, thus improving processing speed.
Data Source
AI summary
Disclosed is a system, method, and computer program product to handle unresponsive reader instances in a database system. A timeout-based invalidation and suspension approach is provided that addresses the problem of unresponsive read-only instances.


