Automated Query Retry System for Database Regression Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in efficiently managing and retrieving data, particularly in large-scale environments, due to limitations in scalability and susceptibility to data loss during disasters.

Innovation Solution

The implementation of automated query retry systems in database platforms, which allow for the automatic retry of failed queries and the analysis of retry attempts to distinguish between software regressions and intermittent faults.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional database management systems are used with extensive computing and storage resources, then data storage capacity and accessibility are improved, but system complexity and cost increase significantly

Engineering Contradiction:
Improvedata storage capacityVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system automatically detects query failures, analyzes error patterns, and executes retry logic without human intervention. The database management system self-monitors its own health and performance, automatically recovering from failures and identifying software regressions through pattern recognition in error logs.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous monitoring of query execution outcomes and uses feedback from failed queries to trigger automated retry mechanisms. Error patterns are analyzed and fed back into the system to adjust retry strategies and identify underlying software regressions.

Inventive Principle:
Principle #23Feedback

2Reliability

If cloud-based database systems are deployed to mitigate data loss risk, then data security and accessibility are improved, but infrastructure cost and management overhead increase

Engineering Contradiction:
Improvedata loss preventionVSAvoidinfrastructure management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The automated query retry system operates autonomously in cloud environments, automatically detecting failures, executing retries, and logging outcomes without requiring manual infrastructure management. The system self-adapts to cloud-specific failure modes and manages its own resource requirements.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The retry mechanism is designed to work across multiple cloud providers and database systems, providing universal failure recovery capabilities. The system handles various failure types (network issues, service outages, software bugs) through a unified approach that works in diverse cloud environments.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If automated query retry systems are implemented, then query failure recovery is improved, but system complexity and resource consumption increase

Engineering Contradiction:
Improvequery failure recoveryVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The retry system is divided into distinct modular components: failure detection module, error analysis module, retry execution module, and logging module. Each component handles a specific aspect of the retry process, making the system easier to manage and debug while maintaining comprehensive failure recovery capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts retry parameters such as retry delay intervals, maximum retry attempts, and retry strategy selection based on the specific error type and system state. This allows the system to optimize recovery performance without requiring complex manual configuration.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If multiple retry attempts are executed on different software versions, then software regression detection is improved, but execution time and resource usage increase

Engineering Contradiction:
Improvesoftware regression detectionVSAvoidquery execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system pre-configures multiple software version environments and prepares retry strategies in advance. When a query fails, the system can immediately execute retries on different pre-configured software versions without needing to provision or configure environments at the moment of failure, reducing overall execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic retry attempts with strategically spaced intervals, allowing software regressions to be detected through pattern recognition over time. Rather than continuous retrying, the system uses periodic attempts with analysis in between to identify software version-specific issues.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS12314247B2Identifying software regressions based on query retry attempts in a database environment
Publication Date: 2025.05.27 SNOWFLAKE INC
  • US12314247B2 patent drawing
  • US12314247B2 patent drawing
  • US12314247B2 patent drawing

AI summary

Systems, methods, and devices for retrying a query. A method includes receiving a query directed to database data and assigning execution of the query to one or more execution nodes of an execution platform, the one or more execution nodes configured to execute the query on a first version of a database platform. The method includes determining that execution of the query was unsuccessful. The method includes assigning a first retry execution of the query to the one or more execution nodes of the execution platform and determining whether a regression or an intermittent fault caused the execution of the query to be unsuccessful based at least in part on whether the first retry execution of the query was successful or unsuccessful.