Automated Query Retry Across Multiple Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional database management systems are costly, resource-intensive, and susceptible to data loss during power outages or disasters, and they struggle with query execution failures due to intermittent faults and software regressions.
Innovation Solution
The implementation of automated query retry systems in database platforms that analyze query failures to distinguish between intermittent faults and software regressions, allowing for targeted retry attempts on different software versions and execution nodes to identify and resolve issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If automated query retry is implemented to improve reliability, then query execution reliability is improved, but system complexity increases
Solution Approach 1:
The system segments the retry mechanism into distinct components: a query manager that coordinates retries, execution nodes that perform actual query execution, and a fault detection module that analyzes failure causes. This segmentation allows the complex retry logic to be distributed and managed in modular fashion, improving reliability without overwhelming system complexity.
Solution Approach 2:
The patent introduces a query manager as an intermediary component that sits between the client and execution nodes. This mediator handles the complex retry logic, fault detection, and coordination, isolating the complexity from the core execution path while maintaining high reliability through systematic retry attempts.
2Measurement precision
If multiple execution nodes are used to retry queries, then fault identification capability is improved, but resource consumption increases
Solution Approach 1:
The system applies partial action by not always using all available execution nodes for every retry. Instead, it strategically selects a subset of nodes based on the detected fault type and previous execution patterns. This approach maintains high fault identification capability while avoiding unnecessary resource consumption from using all nodes in every retry scenario.
Solution Approach 2:
The patent dynamically changes execution parameters such as the number of nodes involved, the retry timeout values, and the selection criteria for execution nodes based on the detected fault characteristics. This parameter adaptation allows the system to maintain precise fault identification while optimizing resource consumption by adjusting the scale of retry operations to match the severity and type of detected faults.
3Measurement precision
If query retries are performed on different software versions, then software regression detection is improved, but execution time increases
Solution Approach 1:
The system performs preliminary actions by pre-configuring multiple software versions and their corresponding execution nodes before query execution. When a query fails, the retry mechanism can immediately switch to a different pre-configured version without requiring time-consuming version switching or compilation. This preliminary preparation maintains high software regression detection capability while minimizing execution time overhead.
Solution Approach 2:
The patent implements periodic action by systematically rotating through different software versions for retry attempts in a predetermined sequence. This periodic rotation ensures comprehensive software regression detection across multiple versions while maintaining predictable and optimized execution timing patterns, avoiding random or ad-hoc version selection that would increase execution time variability.
Data Source
AI summary
Techniques for automated query retry in a database platform include decoding, by at least one hardware processor, a query directed to database data. The query is received by a first management node from a client account of a database system. The method further includes configuring an execution of the query by a first computing node associated with the first management node. The method includes detecting the execution of the query results in a failed execution. The query is transferred from the first management node to a second management node based on the failed execution. The second management node is configured to process tasks that are internal to the database system. A retry execution of the query by a second computing node is configured. The second computing node is associated with the second management node. A cause of the failed execution is determined based on a result of the retry execution.


