[SAGA-RG] missing(?) method reporting last modification time

Andre Merzky andre at merzky.net
Thu Jun 4 08:41:35 CDT 2009


Quoting [Thilo Kielmann] (Jun 04 2009):
> 
> Dear Sylvain,
> 
> > >  
> > I raised it at OGF23 (see slide 34 of my talk).
> 
> sorry, I must have missed this within your list of modifications.
> 
> > Our deviations from the SAGA specification are listed here
> > http://grid.in2p3.fr/jsaga-dev/SAGA-delta.html
> 
> I just had a look. This is quite a list. Would you, from your experience
> as of today, recommend more/some/all for inclusion in a "fixed" SAGA
> standard?

Dear Sylvain, 

we should have given you more detailed feedback on your list
earlier on *blush*  Most of the items have been discussed at
one point or the other, however.  Here is a detailed list.
Thilo is right: we should resolve the items soonish.

  AmbiguityException:  

    The spec does not define if saga::exceptions can be
    extended.  I guess legally that can only happen outside
    the saga namespace, so, IMHO, that is a conflict.  OTOH,
    its closely related to the implementation semantics
    (retry), so, to some extent, its an implementation
    detail.  Not sure how to handle in the spec.  

    BTW: 'avoid account locking' is an interesting use
    case...


  context.toString(): 
  
    Thats a language binding issue.   In C++, we also have a
    get_string () on the URL, for example.


  URL: 
  
    Query interpreted as adaptor parameters: thats an
    implementation specific behaviour: SAGA does not define
    URL semantics.  It breaks application portability though
    I assume.


  FLAGS_BYPASSEXIST=4096  
  
    I would think this is better solved on configuration
    level, in Java as a saga.property for example?  Again,
    that breaks portability.

  
  additional method copyFrom(): 

    I don't understand the use case for this.  How is 
    
     saga::file f (url_1);
     f.copy_from  (url_2);
    
    different from
    
     saga::file tmp (url_2);
     tmp.copy       (url_1);
     saga::file f   (url_1);
    
    Is it about saving one line of code, and one temp object?


  additional method getLastModified():
  
    as discussed, should make it into the spec.



  NSEntry.remove() allows !Recursive flag:

    The is actually in the spec, as

      saga::directory d (url);
      d.remove (0);  // 0: empty flag set, i.e. Recursive is not set 

    I think what you want is to change the semantics, from

      - a ’BadParameter’ exception is thrown if the 
        entry is a directory and the ’Recursive’ flag 
        is not set. 

      - a ’BadParameter’ exception is thrown if the 
        entry is a *nonempty* directory and the 
        ’Recursive’ flag is not set. 

    Would that solve your use case?




  
  Job description JobName attribute  added

    This is not in the spec.  Well, we had to draw a line
    somewhere, and as it was optional in JSDL, and noone
    really had a compelling use case, it was left out.  Do
    you have applications which require that one?

  Job description CPUArchitecture attribute added

    has been added in the spec meanwhile


  Job description OperatingSystemType attribute added

    has been added in the spec meanwhile


  Job description JobStartTime and JobContact attributes not supported

    That is no problem.


  job attribute 'NativeJobDescription' added

    I assume that is a read-only attribute?  What is the use
    case for this one?  Debugging?


  job.sub_state metric added:

    saga::job already has a metric 'job.state_detail' - what
    is the difference?


  method allocateResource added:

    Is that method on job, or on the job_service?  What is
    the semantics?

    I think that this would not go into the job managament
    in SAGA, but rather into the resource
    discovery/management extension Thilo's group is working
    on (within XtreemOS).  You might want to check with them
    if their extension proposal fits your requirements...




-- 
Nothing is ever easy.


More information about the saga-rg mailing list