Details
-
Improvement
-
Resolution: Fixed
-
Major
-
7.1.3
-
Security Level: Public
-
0
Description
For a partitioned index, on document expiry , projector routes the delete to all the instances of the index. For partition key, hash meta.id, John mentioned that we can special case it and send it only to the respective partition. Filing this ticket based on discussion with John and Varun.
On 7.0, with 10 documents expiry
|
----------plasma-diagnostics---------
|
[0] default/idx_test_01/Mainstore#9552100667799453517:6 : 824722351616
|
[1] default/idx_test_01/Mainstore#9552100667799453517:5 : 824708189184
|
[2] default/idx_test_01/Mainstore#9552100667799453517:7 : 824657696768
|
[3] default/idx_test_01/Backstore#9552100667799453517:6 : 824656892416
|
[4] default/idx_test_01/Backstore#9552100667799453517:7 : 824656893952
|
[5] default/idx_test_01/Backstore#9552100667799453517:5 : 824722354688
|
-------------------------------------
|
BackStore
|
bash-3.2$ curl -o - 127.0.0.1:9120/plasmaDiag -u Administrator:asdasd -X GET -d '{"Cmd":"stats", "Args":[824722354688]}'
|
----------plasma-diagnostics---------
|
{
|
"memory_quota": 1130364924,
|
"count": 4,
|
"compacts": 0,
|
"purges": 0,
|
"splits": 0,
|
"merges": 0,
|
"inserts": 4,
|
"deletes": 0,
|
"compact_conflicts": 0,
|
"split_conflicts": 0,
|
"merge_conflicts": 0,
|
"insert_conflicts": 0,
|
"delete_conflicts": 0,
|
"swapin_conflicts": 0,
|
"persist_conflicts": 0,
|
"memory_size": 626,
|
"memory_size_index": 0,
|
"allocated": 626,
|
"freed": 0,
|
"reclaimed": 0,
|
"reclaim_pending": 0,
|
"reclaim_list_size": 0,
|
"reclaim_list_count": 0,
|
"reclaim_threshold": 50,
|
"allocated_index": 0,
|
"freed_index": 0,
|
"reclaimed_index": 0,
|
"num_pages": 1,
|
"items_count": 6, <- i hacked item count to include lookup count
|
"total_records": 4,
|
"num_rec_allocs": 4,
|
"num_rec_frees": 0,
|
"num_rec_swapout": 0,
|
"num_rec_swapin": 0,
|
"num_rec_compressed": 0,
|
"compresses": 0,
|
"decompresses": 0,
|
"num_compressed_pages": 0,
|
"bytes_incoming": 306,
|
"lss_data_size": 12390,
|
"lss_recoverypt_size": 8192,
|
"lss_maxsn_size": 4096,
|
"checkpoint_used_space":0,
|
"est_disk_size": 24294,
|
"est_recovery_size": 20760,
|
"lss_num_reads": 0,
|
"lss_read_bs": 0,
|
"lss_blk_read_bs": 0,
|
"lss_rdr_reads_bs": 0,
|
"lss_blk_rdr_reads_bs": 0,
|
"cache_hits": 10,
|
"cache_misses": 0,
|
"cache_hit_ratio": 1.00000,
|
"rlss_num_reads": 0,
|
"rcache_hits": 6,
|
"rcache_misses": 0,
|
"rcache_hit_ratio": 1.00000,
|
"resident_ratio": 1.00000,
|
"mvcc_purge_ratio": 0.66667,
|
"currSn": 4,
|
"gcSn": 2,
|
"gcSnIntervals": "[0 2 3]",
|
"purger_running": false,
|
"mem_throttled": false,
|
"lss_throttled": false,
|
"num_wctxs": 7,
|
"num_free_wctxs": 7,
|
"num_readers": 0,
|
"num_writers": 1,
|
"page_bytes": 0,
|
"page_cnt": 0,
|
"page_itemcnt": 0,
|
"avg_item_size": 0,
|
"avg_page_size": 0,
|
"act_max_page_items": 40,
|
"act_min_page_items": 5,
|
"act_max_delta_len": 30,
|
"est_resident_mem": 626,
|
"page_bytes_marshalled":340,
|
"page_bytes_compressed":102,
|
"compression_ratio": 3.33333,
|
"bloom_tests": 0,
|
"bloom_negatives": 0,
|
"bloom_false_positives":0,
|
"bloom_fp_rate": 0.00000,
|
"memory_size_bloom_filter":0,
|
"memory_size_delta": 320,
|
"num_total_smr": 1,
|
"num_active_smr": 0,
|
"num_pending_smr": 0,
|
"lss_stats":
|
{
|
"shared": false,
|
"punch_hole_support": false,
|
"buf_memused": 0,
|
"lss_data_size": 24814,
|
"lss_used_space": 49152,
|
"lss_disk_size": 49152,
|
"lss_fragmentation": 49,
|
"lss_num_reads": 0,
|
"lss_read_bs": 0,
|
"lss_blk_read_bs": 0,
|
"bytes_written": 49152,
|
"bytes_incoming": 306,
|
"write_amp": 361.41,
|
"write_amp_avg": 80.31,
|
"lss_gc_num_reads": 0,
|
"lss_gc_reads_bs": 0,
|
"lss_blk_gc_reads_bs": 0,
|
"lss_gc_status": "",
|
"lss_head_offset": 0,
|
"lss_tail_offset": 24576,
|
"num_sctxs": 16,
|
"num_free_sctxs": 8,
|
"num_smr_worker ": 13,
|
"active_smr_worker ": 0,
|
"num_smr_work_item": 0,
|
"num_swapperWriter": 24
|
}
|
MainStore:
|
bash-3.2$ curl -o - 127.0.0.1:9120/plasmaDiag -u Administrator:asdasd -X GET -d '{"Cmd":"stats", "Args":[824708189184]}'
|
----------plasma-diagnostics---------
|
{
|
"memory_quota": 1130364924,
|
"count": 4,
|
"compacts": 0,
|
"purges": 0,
|
"splits": 0,
|
"merges": 0,
|
"inserts": 4,
|
"deletes": 0,
|
"compact_conflicts": 0,
|
"split_conflicts": 0,
|
"merge_conflicts": 0,
|
"insert_conflicts": 0,
|
"delete_conflicts": 0,
|
"swapin_conflicts": 0,
|
"persist_conflicts": 0,
|
"memory_size": 848,
|
"memory_size_index": 0,
|
"allocated": 848,
|
"freed": 0,
|
"reclaimed": 0,
|
"reclaim_pending": 0,
|
"reclaim_list_size": 0,
|
"reclaim_list_count": 0,
|
"reclaim_threshold": 50,
|
"allocated_index": 0,
|
"freed_index": 0,
|
"reclaimed_index": 0,
|
"num_pages": 1,
|
"items_count": 0,
|
"total_records": 4,
|
"num_rec_allocs": 4,
|
"num_rec_frees": 0,
|
"num_rec_swapout": 0,
|
"num_rec_swapin": 0,
|
"num_rec_compressed": 0,
|
"compresses": 0,
|
"decompresses": 0,
|
"num_compressed_pages": 0,
|
"bytes_incoming": 528,
|
"lss_data_size": 12417,
|
"lss_recoverypt_size": 8192,
|
"lss_maxsn_size": 4096,
|
"checkpoint_used_space":0,
|
"est_disk_size": 24347,
|
"est_recovery_size": 20760,
|
"lss_num_reads": 0,
|
"lss_read_bs": 0,
|
"lss_blk_read_bs": 0,
|
"lss_rdr_reads_bs": 0,
|
"lss_blk_rdr_reads_bs": 0,
|
"cache_hits": 4,
|
"cache_misses": 0,
|
"cache_hit_ratio": 1.00000,
|
"rlss_num_reads": 0,
|
"rcache_hits": 0,
|
"rcache_misses": 0,
|
"rcache_hit_ratio": 0.00000,
|
"resident_ratio": 1.00000,
|
"mvcc_purge_ratio": 0.00000,
|
"currSn": 4,
|
"gcSn": 2,
|
"gcSnIntervals": "[0 2 3]",
|
"purger_running": false,
|
"mem_throttled": false,
|
"lss_throttled": false,
|
"num_wctxs": 3,
|
"num_free_wctxs": 3,
|
"num_readers": 0,
|
"num_writers": 1,
|
"page_bytes": 0,
|
"page_cnt": 0,
|
"page_itemcnt": 0,
|
"avg_item_size": 0,
|
"avg_page_size": 0,
|
"act_max_page_items": 400,
|
"act_min_page_items": 25,
|
"act_max_delta_len": 200,
|
"est_resident_mem": 848,
|
"page_bytes_marshalled":562,
|
"page_bytes_compressed":129,
|
"compression_ratio": 4.35659,
|
"bloom_tests": 0,
|
"bloom_negatives": 0,
|
"bloom_false_positives":0,
|
"bloom_fp_rate": 0.00000,
|
"memory_size_bloom_filter":0,
|
"memory_size_delta": 320,
|
"num_total_smr": 1,
|
"num_active_smr": 0,
|
"num_pending_smr": 0,
|
"lss_stats":
|
{
|
"shared": false,
|
"punch_hole_support": false,
|
"buf_memused": 0,
|
"lss_data_size": 24841,
|
"lss_used_space": 49152,
|
"lss_disk_size": 49152,
|
"lss_fragmentation": 49,
|
"lss_num_reads": 0,
|
"lss_read_bs": 0,
|
"lss_blk_read_bs": 0,
|
"bytes_written": 49152,
|
"bytes_incoming": 528,
|
"write_amp": 46.55,
|
"write_amp_avg": 46.55,
|
"lss_gc_num_reads": 0,
|
"lss_gc_reads_bs": 0,
|
"lss_blk_gc_reads_bs": 0,
|
"lss_gc_status": "",
|
"lss_head_offset": 0,
|
"lss_tail_offset": 24576,
|
"num_sctxs": 12,
|
"num_free_sctxs": 4,
|
"num_smr_worker ": 13,
|
"active_smr_worker ": 0,
|
"num_smr_work_item": 0,
|
"num_swapperWriter": 24
|
}
|
|
Issue | Resolution |
When a partitioned key was based on a secondary field of a document and a delete mutation occurred, the Indexer could not determine which partition the document belonged to. This resulted in delete operations on all partitions. | For partition indexes with document ID as the only partition key, delete mutations are routed only to the partition where the document belongs. This improves the performance of delete and expiration mutations. |
Attachments
For Gerrit Dashboard: MB-56371 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
191585,2 | MB-56371 Populate IsPartnKeyDocId in index definition | 7.1.x | indexing | Status: MERGED | +2 | +1 |
191586,2 | MB-56371 Delete only for the partition if partnKey is DocId | 7.1.x | indexing | Status: MERGED | +2 | +1 |