Timeout-Based Invalidation for Unresponsive Read-Only Database Instances

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite request processing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvewrite request throughputVSAvoidcomputational cost of eviction and restart
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

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

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite request processing speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11138198B2Handling of unresponsive read only instances in a reader farm system
Publication Date: 2021.10.05 ORACLE INT CORP
  • US11138198B2 patent drawing
  • US11138198B2 patent drawing
  • US11138198B2 patent drawing

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.