[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Query termination



R Jeff Porter x6983 wrote:
> 
> 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?

Internally, the list would not be different, but I will keep track of
what the status is. If query's "done", I'll return "...DONE..." and
if query's been aborted, I'll return "...ABORTED...", to whoever asks
with
the matching query token.

> 
>   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?

What I understood about "done" is that it happens when EI releases all
the files. 
If the user
says "done" during the process, it actually means "abort". When he/she
aborts
the query, he/she will not get any 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.

When you abort, just abort... I think.
However, it raises one quetion to me: When the EI hasn't release all the
files,
but the user aborted the query, then can those "unreleased" files be
purged
when necessary?

>      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.

Again, this "done" means kind of "abort" that the user does not want the
query to
be processed all the way to the end, but not exactly the same as
"abort". In this
case, something needs to be done to wait for the current process to be
finished.

> 
> Thanks, Jeff

-- 
Alex Sim                        
MS 50B-3238                http://www.lbl.gov/~asim
NERSC, LBNL                            ASim@lbl.gov
1 Cyclotron Road             office: (510) 495-2290
Berkeley, CA 94720              FAX: (510) 486-4004