dynamobi/dynamobi — Issue #523: [FRG-349] Cancel ignored if cancel is issued before a FarragoRuntimeContext is created
Author: dynamobi-build
Created: 2011-12-30 03:33:12+00:00
State: open
Labels: FRG, Runtime

[reporter="zfong", created="Thu, 2 Oct 2008 09:24:31 -0500 (GMT-05:00)"]
Currently, a statement is canceled by calling FarragoDbStmtContext.cancel. That method then calls FarragoRuntimeContext.cancel on the runtime context associated with the statement, which does the "real" work for the cancellation. However, if the cancel is issued very early in the execution of the statement, namely before a FarragoRuntimeContext is created, then FarragoRuntimeContext.cancel is never called and the actual work needed for the cancellation is bypassed. Subsequent ctrl-C's issued by the client are ignored because only a single cancel is issued down to Farrago.

Fixing this will probably involve setting the cancel state at the FarragoDbStmtContext layer, and then checking it before creating the runtime context.