Distributed Database Exception Translation and Retry Logic
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
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.
Data Source
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.


