CPC G06F 11/2025 (2013.01) [G06F 16/24537 (2019.01); G06F 16/24542 (2019.01); G06F 2201/80 (2013.01)] | 14 Claims |
1. A method comprising:
receiving, by a database management system (DBMS), a query from a client;
determining a query plan for the query, wherein the query plan comprises a graph of interlinked plan nodes the include a particular plan node and a parent plan node of said particular plan node;
executing the query plan, wherein executing the query plan includes executing the particular plan node, wherein executing the particular plan node comprises:
sending a plurality of query operators to a plurality of computing nodes for the plurality of computing nodes to execute the plurality of query operators on a plurality of data fragments of a database of said DBMS, wherein each computing node of the plurality of computing nodes hosts a respective data fragment of the plurality of data fragments;
detecting an error in execution of a first query operator of the plurality of query operators by a first computing node of the plurality of computing nodes on a first data fragment of the database of the plurality of data fragments of the database; and
in response to detecting the error in executing the first query operator by the first computing node on the first data fragment of the database:
sending the first data fragment of the database to a replacement computing node;
sending the first query operator to said replacement computing node for executing on the first data fragment of the database sent to said replacement computing node;
in response to releasing any of said first results generated by execution of said first query operator by said first computing node to said parent plan node, discarding at least a portion of said first results.
|