[Glass] List and Fast list instances

bruno buzzi brassesco smalltalk at adinet.com.uy
Fri Dec 10 11:50:36 PST 2021


Martin,

Thank very much  for the answer.

So fastListInstances and a like iterate over the Object Table in order 
to build the result set ?

regards,
bruno

On 10/12/2021 16:46, Martin McClure wrote:
> Hi Bruno,
>
> The list instances operations will find any object that is in the 
> repository that has not been declared dead by the Atomic Promote to 
> Dead step of garbage collection following a markForCollection. 
> Instance-listing operations do not verify that there is a live path 
> from the persistent root; only markForCollection operations do that 
> considerably more expensive computation.
>
> So in your example, I'd expect object1 to be reliably included in the 
> result set of 4.
>
> This would be true even if a markForCollection was performed between 3 
> and 4. The markForCollection would identify object1 as possibly dead, 
> but session 1, being still logged in and holding object1 in memory, 
> would vote object1 down during voting, so object1 would never be 
> promoted from possible dead to dead.
>
> Regards,
> -Martin
>
> On 12/10/21 10:34, bruno buzzi brassesco via Glass wrote:
>> Hi,
>>
>> In the following situation:
>>
>> 1) Session1 removes a persistent Object (object1) from a collection 
>> (the collection was the only reference to the Object)
>> 2) Session1 still hold the persistent Object (object1) in memory (so 
>> it can be re-attached to the persistent root)
>> 3) Session1 commits or checkpoint
>> 4) Session2 login & execute listInstances: or fastListInstances:
>>
>> Does object1 will be included on the result set of 4) ?
>>
>> Because object1 is unattached to the persistent root but is still an 
>> object on the repository.
>>
>> I did not find anything in the methods comments, but i guess object1 
>> is excluded from the result set...
>>
>> regards,
>> bruno
>>
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com
>> https://lists.gemtalksystems.com/mailman/listinfo/glass
>
>


More information about the Glass mailing list