๐๐ฎ๐๐ฎ, ๐๐ป๐ฎ๐น๐๐๐ถ๐ฐ๐ & ๐๐. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
Due to the long time to create the inverted index, in the case of continuous insertion of data, there may be a problem that there is data block but the index does not exist, resulting in query failure. To solve this problem, inverted index refresh is changed to synchronised with data block creation, similar to bloom index.
Other changes
Remove inverted_indexes from snapshot, because the snapshot may have changed during the index creation process, resulting in inverted_indexes changes not being synchronised with the snapshot. Whether to create inverted index file changed to check the file exists or not.
Fix the problem of creating bloom index for nullable map type, the query of map data can be filtered by bloom index.
Add some inverted index related mertics to locate performance issues.
fuse_block_inverted_index_write_nums
fuse_block_inverted_index_write_bytes
fuse_block_inverted_index_write_milliseconds
fuse_block_inverted_index_generate_milliseconds
fuse_block_inverted_index_read_milliseconds
fuse_block_inverted_index_search_milliseconds
part of #14825
Tests
[ ] Unit Test
[ ] Logic Test
[ ] Benchmark Test
[x] No Test - Explain why
Type of change
[ ] Bug Fix (non-breaking change which fixes an issue)
[ ] New Feature (non-breaking change which adds functionality)
[ ] Breaking Change (fix or feature that could cause existing functionality not to work as expected)
I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/
Summary
Due to the long time to create the inverted index, in the case of continuous insertion of data, there may be a problem that there is data block but the index does not exist, resulting in query failure. To solve this problem, inverted index refresh is changed to synchronised with data block creation, similar to bloom index.
Other changes
inverted_indexes
from snapshot, because the snapshot may have changed during the index creation process, resulting ininverted_indexes
changes not being synchronised with the snapshot. Whether to create inverted index file changed to check the file exists or not.fuse_block_inverted_index_write_nums
fuse_block_inverted_index_write_bytes
fuse_block_inverted_index_write_milliseconds
fuse_block_inverted_index_generate_milliseconds
fuse_block_inverted_index_read_milliseconds
fuse_block_inverted_index_search_milliseconds
part of #14825
Tests
Type of change
This change isโ