[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Query termination
My thoughts from our discussions are:
1)
a) abort. I agree with both Arie's and Henrik's comments.
It does seem to me that the QM needs to be able to respond
to further EI requests with a specific exception. Thus
the QM will need to keep track of the abort state associated
with the querytoken. Does this mean an abort list different from
a done list? Or is the exception the same for either list?
b) done. Again I concur with Arie & Henrik but do have one
question which raises the issue of a point-of-contact for the
query. I think we've assumed that "done" is issued only at the
the end of the process. However, suppose I am "done" with the QO
and tell the QE this ... e.g. in the QO destructor.
EI's may still be working on files - could they still get more files?
Then if I wished to abort the query, how could I do it? I guess
the answer is that I couldn't do it.
Similarly, what would happend if I,
query->pause();
....
query->done();
without doing a resume or abort before done. The QM would not know that
the query could never be resumed. The simple solution
here would be to only allow "done" on an executing query.
And all such queries must process until finished. Otherwise,
perhaps both the user-codes and QE will need to be able to
re-construct the query based on some history file in order to
abort/resume wayward/paused jobs.
Thanks, Jeff