I'm testing the latest ONLINE ALTER changes against Bug#35755, "Cannot
create index on Falcon table (record memory exhausted)".
This is a load of 10 million records followed by a create index. The
create index always fails while populating the index because of
exhausted record memory. This happens regardless of cache size, up to 1G.
Of course, all DDL operations hold an exclusive lock on syncSysDDL, but
the scavenger also gets a shared lock on syncSysDDL in
updateCardinalities(). This means that no scavenging can occur during
Why not run updateCardinalities() as a separate, scheduled process? Is
it imperative that it immediately precede a scavenge?