[Glass] List and Fast list instances

Norm Green norm.green at gemtalksystems.com
Fri Dec 10 13:17:19 PST 2021


Hi Bruno,

The object table is first scanned to generate the list of data pages. 
Then those data pages are scanned in order as Martin says. Each data 
page is only processed once. Dead objects (found by a previous MFC) are 
excluded from the results, however disconnected objects (not yet been 
collected by an MFC) may appear in the result set.

Both of these phases are multi-threaded. More threads == more aggressive 
where the scans will use more disk IO and CPU to complete in less time. 
"Fast" list instances uses many threads to complete the scans as quickly 
as possible.

Norm Green



On 12/10/2021 12:47 PM, Martin McClure via Glass wrote:
> On 12/10/21 11:50, bruno buzzi brassesco wrote:
>> Martin,
>>
>> Thank very much  for the answer.
> You're welcome!
>>
>> So fastListInstances and a like iterate over the Object Table in 
>> order to build the result set ?
>
> Now we're getting into some of the areas where I don't recall all of 
> the details. :-)
>
> IIRC the repository scan is done in page order to get good I/O 
> performance, rather than in object table order.
> But yes, the object table is used, and the dead not reclaimed set, and 
> other data structures, so that just "an object was found on a page" is 
> not enough for it to be included in the result set. It must be in the 
> OT (and therefore not shadowed) and not dead. And there are a number 
> of optimizations whose details I don't know.
>
> Regards,
> -Martin
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/glass



More information about the Glass mailing list