Distributed Database Exception Translation and Retry Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed database systems face challenges when clients migrate from a previous database system with a different error format, requiring significant recoding efforts to adapt to new exception formats, and existing solutions do not effectively handle exceptions that can be retried or translate error formats efficiently.

Innovation Solution

An error handler is introduced that translates new error formats to the previous format, determines if an error corresponds to a retryable request, and resends the request on behalf of the client until successful completion or a predetermined time period expires, also translating error messages to the expected client format.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a distributed database system uses a new exception format, then the system's reliability and scalability are improved, but the ease of operation deteriorates because clients must recode their database drivers to adapt to the new format

Engineering Contradiction:
Improveexception handling reliabilityVSAvoidclient migration ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary exception translation layer between the distributed database system and the client driver. This translation layer converts new exception formats from the distributed database system into the previous exception formats expected by legacy client drivers, allowing clients to migrate to the new database system without recoding their drivers. The intermediary maintains compatibility while enabling the system to use the improved new exception format.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the database system implements comprehensive exception translation, then the adaptability is improved, but the device complexity increases due to the need for format conversion mechanisms

Engineering Contradiction:
Improveexception format adaptabilityVSAvoidexception handling complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The exception translation layer serves as a mediator that handles format conversions between new and previous exception formats. This centralized translation mechanism provides adaptability without requiring changes to either the distributed database system or the client drivers, thereby managing complexity in a controlled manner while maintaining high adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The translation layer dynamically changes the format parameters of exception objects, converting between different exception formats based on the client's expectations. This parameter transformation approach allows the system to maintain multiple format compatibilities without creating separate handling paths for each format, thus managing complexity while providing versatility.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the system automatically retries failed requests, then the productivity is improved, but the loss of time increases due to the additional retry operations

Engineering Contradiction:
Improverequest completion productivityVSAvoidretry time overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements a feedback mechanism where the exception translation layer monitors failed requests, determines whether they are retryable based on exception type analysis, and automatically retries them. The feedback loop includes tracking retry attempts and stopping when success is achieved or a maximum retry threshold is reached, preventing infinite loops and managing time overhead.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of exception types to determine retryability before executing retry operations. By pre-classifying exceptions as retryable or non-retryable based on their format and type, the system avoids unnecessary retry attempts that would waste time, while still capturing opportunities for automatic recovery from transient failures.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11385948B1Distributed database exception handling
Publication Date: 2022.07.12 AMAZON TECH INC
  • US11385948B1 patent drawing
  • US11385948B1 patent drawing
  • US11385948B1 patent drawing

AI summary

A distributed database system maintains data for a database client by storing data on a plurality of storage nodes. Upon receiving a request from the database client in a first format, the database system translates the request to a second format and sends the translated request to a storage subsystem. The storage subsystem generates an exception if the translated request cannot be successfully completed. The distributed database system resends the translated request on behalf of the database client if the exception corresponds to a request that can be retried, and continues to resend the translated request until a first of an expiration of a predetermined time period or until the request completes successfully. The distributed database system sends a response to the database client based on the resent database request.