[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