Automated Query Retry Across Multiple Nodes

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

VSEngineering Contradiction Analysis

1Reliability

If automated query retry is implemented to improve reliability, then query execution reliability is improved, but system complexity increases

Engineering Contradiction:
Improvequery execution reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If multiple execution nodes are used to retry queries, then fault identification capability is improved, but resource consumption increases

Engineering Contradiction:
Improvefault identification capabilityVSAvoidresource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If query retries are performed on different software versions, then software regression detection is improved, but execution time increases

Engineering Contradiction:
Improvesoftware regression detectionVSAvoidexecution time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS12164405B2Automated query retry execution using multiple computing nodes in a database system
Publication Date: 2024.12.10 SNOWFLAKE INC
  • US12164405B2 patent drawing
  • US12164405B2 patent drawing
  • US12164405B2 patent drawing

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.