You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Preliminary results from investigation yesterday and today:
the test first writes a bunch of keys, including 010000000033333333444444445500000000 (test_key), runs compaction, and then queries test_key, expecting to find it.
legacy compaction finds the key, tiered compaction doesn't.
for tiered compaction, it tries to look into an image layer that should contain the key but it doesn't
I instrumented collect_keyspace to print the lsn and whether the returned range includes the key or not. It turns out that the returned range doesn't include the key! It is used both by new and old compaction to determine which keys to put into the image layer.
However there is a difference between legacy and tiered compaction: collect_keyspace never gets called for any non-start lsns for legacy compaction. in other words, legacy compaction doesn't put test_key into an image but leaves it in a delta.
tiered compaction creates an image however, which does call collect_keyspace for an lsn that's supposed to include the key. but the key never ends up in the image layer.
After a chat with @VladLazar things are more clearer now: the test writes the keys via TimelineWriter that bypasses DBDIR_KEY. So that's why they don't show up in collect_keyspace.
It seems to me that this is a faulty test issue rather than a problem with tiered compaction.
I'll try to make the legacy compaction issue an image layer to maybe reproduce it there as well.
… compaction (#7551)
Makes two of the tests work with the tiered compaction that I had to
ignore in #7283.
The issue was that tiered compaction actually created image layers, but
the keys didn't appear in them as `collect_keyspace` didn't include
them. Not a compaction problem, but due to how the test is structured.
Fixes#7287
Found in #7283, the
test_read_at_max_lsn
test added by #7007 is failing with tiered compaction:originally part of #6768
moved to #7554
The text was updated successfully, but these errors were encountered: