Hi Thomas.
Regarding this:

>> who has the hard reference to the data identifier
>
> The chain is:
> PropertyImpl -> InternalValue -> BLOBInDataStore -> DataIdentifier

Who holds on to the PropertyImpl? Is this reference removed before or after the 
save?
Im asking because while testing the code I came up with the following scenario:

   JR                      |  GC
------------------------|---------------------
add properties    |
                              | set cut-point as part of the next scan / mark 
cycle
                              | (won't mark recently added properties, because 
they're unsaved)
  save                    |
(evict)                   |
                              | deleteUnused()

(evict): identifiers evicted from the weak hash map

Is it possible that the identifiers get removed from the weak hash map 
immediatly after the save 
operation? Or the identifiers can't be removed because a hard reference to them 
(ie, to the 
PropertyImpl object) is kept somewhere in the Jackrabbit core? When is this 
reference removed?
In testing, this is possible to do by calling the clearInUse() method you 
provided. But what about a 
real scenario?
I hope you can understand me. If not, I'll try to explain better.
Regards,

Esteban Franqueiro
[EMAIL PROTECTED] 


Notice:  This email message, together with any attachments, may contain 
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated 
entities,  that may be confidential,  proprietary,  copyrighted  and/or legally 
privileged, and is intended solely for the use of the individual or entity 
named in this message. If you are not the intended recipient, and have received 
this message in error, please immediately return this by email and then delete 
it.

Reply via email to