Handling faults in a continuous event processing (CEP) system
First Claim
1. A computer-readable memory storing a plurality of instructions for causing a processor to perform operations, the plurality of instructions comprising:
- instructions that cause the processor to detect a first fault raised by an operator of a first continuous execution processing (CEP) query relative to a first event from an event stream;
instructions that cause the processor to invoke, in response to detecting the first fault, a first user-registered fault handler that has been registered with a CEP query processor;
instructions that cause the processor to determine that the first user-registered fault handler caught and handled the first fault;
instructions that cause the processor to cause the CEP query processor, in response to determining that the first user-registered fault handler caught and handled the first fault, to continue to execute the first CEP query without halting execution of the first CEP query;
instructions that cause the processor to detect a second fault raised by an operator of a second CEP query relative to a second event from the event stream;
instructions that cause the processor to invoke the first user-registered fault handler in response to detecting the second fault;
instructions that cause the processor to determine that the first user-registered fault handler caught and handled the second fault; and
instructions that cause the processor to cause the CEP query processor, in response to determining that the first user-registered fault handler caught and handled the second fault, to continue to execute the second CEP query without halting execution of the second CEP query, wherein the second CEP query differs from the first CEP query.
1 Assignment
0 Petitions
Accused Products
Abstract
The concept of faults and fault handling are added to the execution of continuous event processing (CEP) queries. By introducing fault handling techniques to the processing of CEP queries, users are enabled to instruct a CEP query processor to respond to faults in a customized manner that does not necessarily involve the halting of the CEP query relative to which the faults occurred. For example, a fault might be due to a temporary problem. Under such circumstances, the CEP query processor can be instructed to ignore the fault and allow the execution of the CEP query to continue relative to the remainder of the event stream. Alternatively, if the fault is due to a problem with the CEP query itself, then the CEP query processor can be instructed to propagate the fault through the query processing system until the fault ultimately causes the problematic CEP query to be halted.
447 Citations
17 Claims
-
1. A computer-readable memory storing a plurality of instructions for causing a processor to perform operations, the plurality of instructions comprising:
-
instructions that cause the processor to detect a first fault raised by an operator of a first continuous execution processing (CEP) query relative to a first event from an event stream; instructions that cause the processor to invoke, in response to detecting the first fault, a first user-registered fault handler that has been registered with a CEP query processor; instructions that cause the processor to determine that the first user-registered fault handler caught and handled the first fault; instructions that cause the processor to cause the CEP query processor, in response to determining that the first user-registered fault handler caught and handled the first fault, to continue to execute the first CEP query without halting execution of the first CEP query; instructions that cause the processor to detect a second fault raised by an operator of a second CEP query relative to a second event from the event stream; instructions that cause the processor to invoke the first user-registered fault handler in response to detecting the second fault; instructions that cause the processor to determine that the first user-registered fault handler caught and handled the second fault; and instructions that cause the processor to cause the CEP query processor, in response to determining that the first user-registered fault handler caught and handled the second fault, to continue to execute the second CEP query without halting execution of the second CEP query, wherein the second CEP query differs from the first CEP query. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for processing a data stream of events, the system comprising:
-
a memory storing a plurality of instructions; and a processor coupled to the memory, the processor configured to execute the plurality of instructions to; detect a first fault raised by an operator of a first continuous execution processing (CEP) query relative to a first event from an event stream; invoke, in response to detecting the first fault, a first user-registered fault handler that has been registered with a CEP query processor; determine that the first user-registered fault handler caught and handled the first fault; cause the CEP query processor, in response to determining that the first user-registered fault handler caught and handled the first fault, to continue to execute the first CEP query without halting execution of the first CEP query; detect a second fault raised by a join operator of the first CEP query relative to the first event; invoke the first user-registered fault handler in response to detecting the second fault; and cause the first user-registered fault handler to re-throw the second fault, wherein the operator is a filtering operator. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for processing a data stream of events, the method comprising:
-
detecting a first fault raised by an operator of a first continuous execution processing (CEP) query relative to a first event from an event stream; invoking, in response to detecting the first fault, a first user-registered fault handler that has been registered with a CEP query processor; determining that the first user-registered fault handler caught and handled the first fault; causing the CEP query processor, in response to determining that the first user-registered fault handler caught and handled the first fault, to continue to execute the first CEP query without halting execution of the first CEP query; detecting a second fault raised by an operator that is shared by both the first CEP query and a second CEP query that differs from the first CEP query; invoking a default fault handler of the CEP query processor; and causing the default fault handler to halt execution of both the first CEP query and the second CEP query in response to the second fault. - View Dependent Claims (14, 15, 16, 17)
-
Specification