Bug 1327 - Problem with SYSTEM_ID with PERSISTENT policy combination
Summary: Problem with SYSTEM_ID with PERSISTENT policy combination
Status: NEW
Alias: None
Product: TAO
Classification: Unclassified
Component: POA (show other bugs)
Version: 1.2
Hardware: All All
: P3 minor
Assignee: DOC Center Support List (internal)
URL:
Depends on:
Blocks:
 
Reported: 2002-10-20 01:36 CDT by Irfan Pyarali
Modified: 2004-11-30 16:42 CST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Irfan Pyarali 2002-10-20 01:36:15 CDT
11.3.8.4 of the CORBA 3.0 spec states that assigned Object Ids must be unique 
across all instantiations of the same POA for the SYSTEM_ID with PERSISTENT 
policy combination.  TAO does not adhere to this requirement.

Reported by bjorn rohde jensen <bjensen@fastmail.fm>
Comment 1 Irfan Pyarali 2002-10-20 01:41:35 CDT
Bjorn, can you give a motivation of this use case?  Can the use case be 
satisfied with the TRANSIENT + SYSTEM_ID policies? 

Either way, I have reduced the severity of the bug.
Comment 2 Irfan Pyarali 2002-10-22 15:39:36 CDT
Bjorn provided the motivation for this use case: he is using the
POA::activate_object() to generate the id when registering the servant
for the first time.  He records this id in permanent storage.  For
subsequent reactivations, he uses the same object id from permanent
storage and calls POA::activate_object_with_id(). This gives him
persistent, system generated ids.

This can be implemented in TAO's POA similar to how the USER_ID and
PERSISTENT policy combination is handled.  The only difference will be
that in this case the id will come from a GUID generator rather than
from the user.
Comment 3 Johnny Willemsen 2004-11-25 09:08:33 CST
Irfan, do you have more info about this, maybe we can tackle then this one with 
the POArefactoring?
Comment 4 Irfan Pyarali 2004-11-30 16:41:57 CST
Thinking a little more about this, I concluded that assigned Object
Ids must only be unique across all instantiations of the same POA and
not all POAs.  Therefore, GUID might be overkill here and the POA
timestamp might suffice.  My suggestion is to extend the Key_Generator
so that it adds the POA timestamp to the created key.
Comment 5 Irfan Pyarali 2004-11-30 16:42:29 CST
Reassigned