US 10,558,555 B2
Debugging streaming applications using debug regions
James E. Cancilla, Mississauga (CA); Samantha Chan, Toronto (CA); Mary M. L. Komor, Markham (CA); and Peter A. Nicholls, Janetville (CA)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Apr. 22, 2016, as Appl. No. 15/135,801.
Prior Publication US 2017/0308458 A1, Oct. 26, 2017
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 11/36 (2006.01)
CPC G06F 11/3664 (2013.01) [G06F 11/3636 (2013.01)] 7 Claims
OG exemplary drawing
 
1. A processor-implemented method for debugging a streaming application, the method comprising:
establishing, by a processor, a debug region in the streaming application to mark a subgraph for debugging, wherein the debug region is an extension of a consistent region;
receiving a tuple flow suspension notification from a job control plane, wherein the received tuple flow suspension notification indicates a tuple flow associated with the streaming application has been suspended by the job control plane;
determining a debugging option for debugging the established debug region from a displayed plurality of debugging options based on a user selection on a graphical user interface;
translating the determined debugging option into a format compatible with the job control plane;
transmitting the translated debugging option to the job control plane;
determining the debugging option is a continue-monitoring request;
resuming the tuple flow using the job control plane based on the continue-monitoring request;
monitoring the resumed tuple flow for a checkpoint policy trigger event, wherein the checkpoint policy trigger event relates to a source operator being read in the consistent region;
determining the checkpoint policy trigger event has occurred based on a preconfigured checkpoint policy, wherein the preconfigured checkpoint policy is an operator-driven checkpoint policy;
suspending the resumed tuple flow based on the determined checkpoint policy trigger event;
resuming the tuple flow using the job control plane based on the preconfigured checkpoint policy; and
in response to the checkpoint policy trigger event occurring under the preconfigured checkpoint policy, suspending the resumed tuple flow.