IP Library › Granted Patent US 11,372,740
Granted Patent B2
US 11,372,740 · App. 17/007,589 · Granted Jun 28, 2022

Decoupling internal and external tasks in a database environment

Inventors: Benoit Dageville (San Mateo, CA); Johan Harjono (San Mateo, CA); Simon Holm Jensen (Menlo Park, CA); Kunal Prafulla Nabar (San Mateo, CA); Steven James Pelley (San Mateo, CA)
Assignee: Snowflake Inc.
G06F11/3082G06F11/3409G06F11/3438G06F16/2425G06F16/2465G06F16/2474
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,372,740
App. No.
17/007,589
Filed
Aug 31, 2020
Granted
Jun 28, 2022
Kind
B2
Art Unit
2154
USPC
714/25
Abstract

Systems, methods, and devices for retrying a query. A method includes receiving, by a first database query manager, a query directed to database data from a client account. The method includes assigning an original execution of the query to one or more execution nodes of an execution platform. The method includes determining the original execution of the query was unsuccessful. The method includes transferring the query to a second database query manager configured to manage internal tasks for improving operation of a database platform that are not received from client accounts. The method includes assigning, by the second database query manager, a retry execution of the query to one or more execution nodes of an execution platform.

Claims (49)

1. A method comprising:

receiving, by a first database query manager of a database platform, a query directed to database data, the first database query manager using a first version of database platform software;

assigning, by the first database query manager of the database platform, execution of the query to one or more execution nodes of an execution platform;

determining that the execution of the query results in a failed execution, and that the first version of the database platform software is a recent version of the database platform software;

based on determining that the failed execution of the query was conducted on the recent version of the database platform software:

assigning, by the first database query manager, a first retry execution of the query on the first version of the database platform software;

identifying a second database query manager of the database platform using a second version of the database platform software that was released prior to the first version of the database platform software;

reassigning the query to the second database query manager of the database platform to be retried; and

assigning, by the second database query manager, a second retry execution of the query to one or more execution nodes of the execution platform; and

in response to determining, at least in part on results of the first retry and the second retry of the execution of the query, that a potential regression exists in the first version of the database platform software, generating a report indicating the potential regression.

2. The method of claim 1 , wherein the reassigning of the query to the second database query manager is also based on determining that the execution of the query was unsuccessful due to an internal error of the database platform.

3. The method of claim 2 , further comprising generating an error message for an account that requested the query, the error message indicating that the failed execution is due to an internal error of the database platform.

4. The method of claim 1 , wherein the database platform comprises multiple database query managers collectively running two or more versions of the database platform software at one time.

5. The method of claim 1 , wherein the execution of the query and the second retry of the execution of the query are assigned to a same set of one or more execution nodes.

6. The method of claim 1 , wherein the execution of the query and the second retry of the execution of the query are assigned to different sets of one or more execution nodes.

7. A database platform 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 database platform to perform operations comprising:

receiving, by a first database query manager of the database platform, a query directed to database data, the first database query manager using a first version of database platform software;

assigning, by the first database query manager of the database platform, execution of the query to one or more execution nodes of an execution platform;

determining that the execution of the query results in a failed execution, and that the first version of the database platform software is a recent version of the database platform software;

based on determining that the failed execution of the query was conducted on the recent version of the database platform software:

assigning, by the first database query manager, a first retry execution of the query on the first version of the database platform software;

identifying a second database query manager of the database platform using a second version of the database platform software that was released prior to the first version of the database platform software;

reassigning the query to the second database query manager of the database platform to be retried; and

assigning, by the second database query manager, a second retry execution of the query to one or more execution nodes of the execution platform; and

in response to determining, at least in part on results of the first retry and the second retry of the execution of the query, that a potential regression exists in the first version of the database platform software, generating a report indicating the potential regression.

8. The database platform of claim 7 , wherein the reassigning of the query to the second database query manager is also based on determining that the execution of the query was unsuccessful due to an internal error of the database platform.

9. The database platform of claim 8 , the operations further comprising:

generating an error message for an account that requested the query, the error message indicating that the failed execution is due to an internal error of the database platform.

10. The database platform of claim 7 , wherein the database platform comprises multiple database query managers collectively running two or more versions of the database platform software at one time.

11. The database platform of claim 7 , wherein the execution of the query and the second retry of the execution of the query are assigned to a same set of one or more execution nodes.

12. The database platform of claim 7 , wherein the execution of the query and the second retry of the execution of the query are assigned to different sets of one or more execution nodes.

13. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a database platform, cause the database platform to perform operations comprising:

receiving, by a first database query manager of the database platform, a query directed to database data, the first database query manager using a first version of database platform software;

assigning, by the first database query manager of the database platform, execution of the query to one or more execution nodes of an execution platform;

determining that the execution of the query results in a failed execution, and that the first version of the database platform software is a recent version of the database platform software;

based on determining that the failed execution of the query was conducted on the recent version of the database platform software:

assigning, by the first database query manager, a first retry execution of the query on the first version of the database platform software;

identifying a second database query manager of the database platform using a second version of the database platform software that was released prior to the first version of the database platform software;

reassigning the query to the second database query manager of the database platform to be retried; and

assigning, by the second database query manager, a second retry execution of the query to one or more execution nodes of the execution platform; and

in response to determining, at least in part on results of the first retry and the second retry of the execution of the query, that a potential regression exists in the first version of the database platform software, generating a report indicating the potential regression.

14. The non-transitory computer-readable medium of claim 13 , wherein the reassigning of the query to the second database query manager is also based on determining that the execution of the query was unsuccessful due to an internal error of the database platform.

15. The non-transitory computer-readable medium of claim 14 , the operations further comprising:

generating an error message for an account that requested the query, the error message indicating that the failed execution is due to an internal error of the database platform.

16. The non-transitory computer-readable medium of claim 13 , wherein the database platform comprises multiple database query managers collectively running two or more versions of the database platform software at one time.

17. The non-transitory computer-readable medium of claim 13 , wherein the execution of the query and the second retry of the execution of the query are assigned to a same set of one or more execution nodes.

18. The non-transitory computer-readable medium of claim 13 , wherein the execution of the query and the second retry of the execution of the query are assigned to different sets of one or more execution nodes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: DAGEVILLE, BENOIT; HARJONO, JOHAN; JENSEN, SIMON HOLM; NABAR, KUNAL PRAFULLA; PELLEY, STEVEN JAMES
To: SNOWFLAKE INC.
Reel/Frame 053644/0636 →
Continuity (2)
Continuation 16555996 · Aug 29, 2019
Related Publication 20210064503A1 · Mar 4, 2021