US11494369B2ActiveUtilityA1

Identifying software regressions based on query retry attempts in a database environment

87
Assignee: SNOWFLAKE INCPriority: Aug 29, 2019Filed: Nov 29, 2021Granted: Nov 8, 2022
Est. expiryAug 29, 2039(~13.1 yrs left)· nominal 20-yr term from priority
G06F 16/2365G06F 16/2455
87
PatentIndex Score
1
Cited by
53
References
30
Claims

Abstract

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.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 receiving, at a server, a database query directed to database data maintained by a database platform of the server; 
 executing, using at least one hardware processor of the server, the database query using a first database query manager of the database platform; 
 determining that execution of the database query using the first database query manager failed; 
 in response to determining that execution of the database query using the first database query manager failed, executing the database query using a second database query manager of the database platform; and 
 determining whether execution of the database query using the first database query manager failed due to a software regression or an intermittent hardware fault based on a result of executing the database query using the second database query manager, 
 the result of failing to execute the database query using the first database query manager and the second database query manager indicates the software regression, and 
 the result of failing to execute the database query using the first database query manager and successfully executing the database query using the second database query manager indicates the intermittent hardware fault. 
 
     
     
       2. The method of  claim 1 , wherein determining whether execution of the database query using the first database query manager failed due to the software regression or the intermittent hardware fault comprises:
 determining that executing the database query using the second database query manager failed; and 
 determining that execution of the database query using the first database query manager failed due to the intermittent hardware fault. 
 
     
     
       3. The method of  claim 1 , wherein determining whether execution of the database query using the first database query manager failed due to the software regression or the intermittent hardware fault comprises:
 determining that executing the database query using the second database query manager was successful; and 
 determining that execution of the database query using the first database query manager failed due to the software regression. 
 
     
     
       4. The method of  claim 1 , wherein the first database query manager and the second database query manager are both using a first version of a database platform software. 
     
     
       5. The method of  claim 1 , wherein the first database query manager is using a first version of a database platform software and the second database query manager are using a second version of the database platform software that is different than the first version of the database platform software. 
     
     
       6. The method of  claim 5 , further comprising:
 determining that the first version of the database platform software is a recent version of the database platform software. 
 
     
     
       7. The method of  claim 6 , further comprising:
 in response to determining that the first version of the database platform software is the recent version of the database platform software, identifying the second database query manager of the database platform based on determining that the second version of the database platform software was released prior to the first version of the database platform software. 
 
     
     
       8. The method of  claim 1 , wherein executing the database query using the first database query manager comprises:
 assigning, by the first database query manager, execution of the database query to a first set of execution nodes of an execution platform. 
 
     
     
       9. The method of  claim 8 , wherein executing the database query using the second database query manager comprises:
 assigning, by the second database query manager, execution of the database query to a second set of execution nodes of the execution platform. 
 
     
     
       10. The method of  claim 9 , wherein the first set of execution nodes is different than the second set of execution nodes. 
     
     
       11. A system comprising:
 one or more computer processors; and 
 one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to perform operations comprising: 
 receiving a database query directed to database data maintained by a database platform of the system; 
 executing the database query using a first database query manager of the database platform; 
 determining that execution of the database query using the first database query manager failed; 
 in response to determining that execution of the database query using the first database query manager failed, executing the database query using a second database query manager of the database platform; and 
 determining whether execution of the database query using the first database query manager failed due to a software regression or an intermittent hardware fault based on a result of executing the database query using the second database query manager, 
 the result of failing to execute the database query using the first database query manager and the second database query manager indicates the software regression, and 
 the result of failing to execute the database query using the first database query manager and successfully executing the database query using the second database query manager indicates the intermittent hardware fault. 
 
     
     
       12. The system of  claim 11 , wherein determining whether execution of the database query using the first database query manager failed due to the software regression or the intermittent hardware fault comprises:
 determining that executing the database query using the second database query manager failed; and 
 determining that execution of the database query using the first database query manager failed due to the intermittent hardware fault. 
 
     
     
       13. The system of  claim 11 , wherein determining whether execution of the database query using the first database query manager failed due to the software regression or the intermittent hardware fault comprises:
 determining that executing the database query using the second database query manager was successful; and 
 determining that execution of the database query using the first database query manager failed due to the software regression. 
 
     
     
       14. The system of  claim 11 , wherein the first database query manager and the second database query manager are both using a first version of a database platform software. 
     
     
       15. The system of  claim 11 , wherein the first database query manager is using a first version of a database platform software and the second database query manager are using a second version of the database platform software that is different than the first version of the database platform software. 
     
     
       16. The system of  claim 15 , the operations further comprising:
 determining that the first version of the database platform software is a recent version of the database platform software. 
 
     
     
       17. The system of  claim 16 , the operations further comprising:
 in response to determining that the first version of the database platform software is the recent version of the database platform software, identifying the second database query manager of the database platform based on determining that the second version of the database platform software was released prior to the first version of the database platform software. 
 
     
     
       18. The system of  claim 11 , wherein executing the database query using the first database query manager comprises:
 assigning, by the first database query manager, execution of the database query to a first set of execution nodes of an execution platform. 
 
     
     
       19. The system of  claim 18 , wherein executing the database query using the second database query manager comprises:
 assigning, by the second database query manager, execution of the database query to a second set of execution nodes of the execution platform. 
 
     
     
       20. The system of  claim 19 , wherein the first set of execution nodes is different than the second set of execution nodes. 
     
     
       21. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of one or more computing devices, cause the one or more computing devices to perform operations comprising:
 receiving a database query directed to database data maintained by a database platform of a server; 
 executing the database query using a first database query manager of the database platform; 
 determining that execution of the database query using the first database query manager failed; 
 in response to determining that execution of the database query using the first database query manager failed, executing the database query using a second database query manager of the database platform; and 
 determining whether execution of the database query using the first database query manager failed due to a software regression or an intermittent hardware fault based on a result of executing the database query using the second database query manager, 
 the result of failing to execute the database query using the first database query manager and the second database query manager indicates the software regression, and 
 the result of failing to execute the database query using the first database query manager and successfully executing the database query using the second database query manager indicates the intermittent hardware fault. 
 
     
     
       22. The non-transitory computer-readable medium of  claim 21 , wherein determining whether execution of the database query using the first database query manager failed due to the software regression or the intermittent hardware fault comprises:
 determining that executing the database query using the second database query manager failed; and 
 determining that execution of the database query using the first database query manager failed due to the intermittent hardware fault. 
 
     
     
       23. The non-transitory computer-readable medium of  claim 21 , wherein determining whether execution of the database query using the first database query manager failed due to the software regression or the intermittent hardware fault comprises:
 determining that executing the database query using the second database query manager was successful; and 
 determining that execution of the database query using the first database query manager failed due to the software regression. 
 
     
     
       24. The non-transitory computer-readable medium of  claim 21 , wherein the first database query manager and the second database query manager are both using a first version of a database platform software. 
     
     
       25. The non-transitory computer-readable medium of  claim 21 , wherein the first database query manager is using a first version of a database platform software and the second database query manager are using a second version of the database platform software that is different than the first version of the database platform software. 
     
     
       26. The non-transitory computer-readable medium of  claim 25 , the operations further comprising:
 determining that the first version of the database platform software is a recent version of the database platform software. 
 
     
     
       27. The non-transitory computer-readable medium of  claim 26 , the operations further comprising:
 in response to determining that the first version of the database platform software is the recent version of the database platform software, identifying the second database query manager of the database platform based on determining that the second version of the database platform software was released prior to the first version of the database platform software. 
 
     
     
       28. The non-transitory computer-readable medium of  claim 21 , wherein executing the database query using the first database query manager comprises:
 assigning, by the first database query manager, execution of the database query to a first set of execution nodes of an execution platform. 
 
     
     
       29. The non-transitory computer-readable medium of  claim 28 , wherein executing the database query using the second database query manager comprises:
 assigning, by the second database query manager, execution of the database query to a second set of execution nodes of the execution platform. 
 
     
     
       30. The non-transitory computer-readable medium of  claim 29 , wherein the first set of execution nodes is different than the second set of execution nodes.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.