[SAGA-RG] Final Call: advert extension

Hartmut Kaiser hkaiser at cct.lsu.edu
Tue Mar 9 13:46:18 CST 2010


> Hmm, not sure what went wrong - opens fine for me with Acrobat and
> Preview, on MacOS.  I simply post it again - maybe the attachement
> process mangled the doc, or whatever.  Please let me know if the
> problem persists, and I look into it again.

Here are my comments:

Page 1
- Copyright (update for 2010)

Page 4:
- saga::advert_directory --> saga::advert::directory 
- saga::logical_directory --> saga::replica::logical_directory

Page 6:
- undefined reference [?]
- the the --> the
- ...second advert directory /this/? acts as a...

Page 7:
- how to ensure atomicity of setting a workitem to be 'accepted'?
- ...directories adverts... --> directory adverts

Page 8:
- _SAGA_LOCK is not sufficient if set to 1, it needs to contain the
information about what object holds the lock (id of corresponding object?)
otherwise it's useless for the implementation of atomic access (or, how
should atomic locking be implemented)
- ...define their on... --> define their own

Page 9:
- I'm feeling a bit uneasy with the requirement to throw IncorrectState for
expired entries. If this is generally enforced I see no way to delete those.
Furthermore, couldn't it be necessary to access those entries even after
they expired (atleast as long as they still exist)? Debugging, archiving,
etc. come to mind here.

Page 10:
- advert_directory is missing a constructor allowing to reuse default
session, it is not possible to inherit constructors (well, at least not in
C++, but I doubt it works in other languages)

Page 11:
- advert is missing a constructor allowing to reuse default session
- ...uses the same /ag/? semantics...
- How can Truncate reset TTL counter if it is supposed to empty the
attributes? Do you mean _SAGA_MODIFIED should be set to the current time and
_SAGA_TTL shouldn't be touched?

Page 12:
- does Truncate on a directory purge everything below in the hierachy?
- ...it has two additional method... --> it has two additional methods
- directorie's --> directory's
- directories --> directory's
- PostCond: ...of the context use... --> of the context used
 
Page 13:
- 'if the Tuncate flag is given, the returned object MUST NOT have an
associated object': what 'associated object' is meant?
- The way the spec describes the TTL timer implies that each entry must have
a 'hidden' entry representing either the remaining TTL or the starting point
in time when the TTL has been reset. Wouldn't it be benefitial to make that
explicit, i.e. add another attribute defining the point in time when the
entry expires?

Page 14:
- what's the preferred method of getting a list of all expired items (I'm
asking as find() shouldn't return those)?
- ...manage manage... --> manage
- ...set of user define attributes... --> set of user defined attributes

Page 17:
- ...semantics as ... --> semantics as

Page 18:
- how can I remove an associated object from an entry (de-associate the
object)?

Pages 19-22: 
- note: I did not compile/run the code, but looks ok

Page 25:
- I'd suggest to change the way names for those multiple keys are formed:
_SAGA_CONTEXT_<N>_URL --> _SAGA_CONTEXT_URL_<N>, as this makes it easier to
generate those, allows simpler search patterns, and even allows to make
_SAGA_ANY_ATTRIBUTE and _SAGA_ANY_ATTRIBUTE_0 equivalent by definition
(which unifies the attribute naming scheme)

Page 26: 
- how is the _SAGA_OBJECT_TYPE attribute supposed to be stored? as string,
as integer?
- 'For all classes inheriting saga::object, the serialization SHOULD contain
the two attributes, too.' What two attributes?
- I believe it might be useful to store th euuid of the original object as
well, allowing to make persistent object relations independently of a single
application instance
- How can a saga::object have associated context information stored? It
should be sufficient to refer to the session, which in turn refers to the
contexts.
- ...If no session information are serialized... --> If no session
information is serialized

Page 27:
- strings should be always uuencode'd, otherwise we loose interoperability
- How vector attributes of a job description have to be serialized
- the job service id should not be serialized along with the jobid to avoid
ambiuities/incompatibilities between the two, parsing the jobid is not a big
deal in the end...

Page 28:
- are permissions serialized too?

Page 29:
- logical\_file --> logical_file
- logical\_directory --> logical_directory

Page 30:
- what attributes have advert and advert_directory when serialized?

Regards Hartmut

---------------
Meet me at BoostCon
www.boostcon.com





More information about the saga-rg mailing list