[DRMAA-WG] IDL issues

Peter Tröger peter at troeger.eu
Fri Jun 24 01:36:36 CDT 2011


I added close() semantics and the singleton model decision to the list of open issues for the next conf call.

Thanks,
Peter.


Am 22.06.2011 um 10:35 schrieb Andre Merzky:

> 2011/6/22 Daniel Gruber <dgruber at univa.com>:
>> 
>>   - I think the following is asymmetric.  There is likely a reason,
>>    but I am not sure I understand it:
>> 
>>     - job     session: create (name, contact), open (name), close
>>      (session), destroy (name)
>>     - reserv. session: create (name, contact), open (name), close
>>      (session), destroy (name)
>>     - monit.  session: create (      contact),              close
>>      (session)
>> 
>>     From the above, it seems like create/close are pairs?  I would
>>    naively expect the following
>>     pairs: open/close and create/destroy, as usual - what is the
>>    rationale?
>> 
>> I don't get your point. Creation returns a new persistent XXXsession
>> instance. Open allows you to re-access the persistent existing session.
>> Close is for cleanup after both create and open. Destroy throws away the
>> persistent information, and therefore does not demand an open session
>> instance.
>> 
>> Why not close(name), so that all ops work with name as arg?  Would be
>> more symmetric.
>> 
>> Yeah, but you make explicit that only with a valid handle (i.e. with an
>> previously opened/created session) you are able to close it. The operation
>> itself works on a (existing) session not on a string.
>> 
>> My question is: In a OO language binding, wouldn't it be more natural
>> to have this operation part of the Session itself? JobSesssion xy ... = ...
>> JobSession.close()? Wouldn't the IDL spec now allow this (it should)?
>> In case of a close("name") it definitely would not be possible.
> 
> As the session has the name as property, I think close could (and
> should) very well be a member of the object, without the need for an
> argument.
> 
> 
>> Like Peter said destroying works on the name not on an existing session.
>> This could speed up session cleaning in some cases.
> 
> ok.
> 
> 
>>     Why is the Monitoring session handled differently, i.e. has no
>>    name/open/destroy?
>> 
>> Monitoring session have no persistency, so they need no name for opening,
>> and no destruction.
>> 
>> If something has a create, I would expect it to have a destroy, too.
>> That might just be me, but semantically those two go together...
>> 
>> Anyway, your explanation helps!
>> 
>> It is a runtime object, IMHO even a singleton.
> 
> If it is a singleton which is already instantiated (e.g. by loading
> the library), then it is being opened, not created?
> 
> Anyway, I begin to understand the model - much appreciated...  One
> might want to make those things clearer in the spec though, as others
> will likely stumble over similar questions?
> 
> 
> Cheers, Andre.
> 
> 
> -- 
> Nothing is ever easy...



More information about the drmaa-wg mailing list