Commit Graph

1572 Commits (kv-debug)

Author SHA1 Message Date
Vitaliy Filippov 06f4e0fcce K/V control prints (for debug only) O:-)
Test / test_move_reappear (push) Successful in 18s Details
Test / test_rm (push) Successful in 12s Details
Test / test_snapshot_chain (push) Successful in 59s Details
Test / test_snapshot_down (push) Successful in 19s Details
Test / test_snapshot_ec (push) Failing after 3m5s Details
Test / test_splitbrain (push) Successful in 12s Details
Test / test_snapshot_chain_ec (push) Failing after 3m6s Details
Test / test_snapshot_down_ec (push) Failing after 3m10s Details
Test / test_rebalance_verify_ec (push) Failing after 43s Details
Test / test_rebalance_verify_imm (push) Successful in 3m0s Details
Test / test_rebalance_verify (push) Successful in 3m29s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m48s Details
Test / test_write_no_same (push) Successful in 12s Details
Test / test_interrupted_rebalance_ec (push) Failing after 10m5s Details
Test / test_write (push) Failing after 3m6s Details
Test / test_write_xor (push) Failing after 3m5s Details
Test / test_heal_pg_size_2 (push) Failing after 3m46s Details
Test / test_heal_csum_32k_dj (push) Successful in 4m48s Details
Test / test_heal_csum_32k_dmj (push) Failing after 4m50s Details
Test / test_heal_csum_32k (push) Successful in 5m9s Details
Test / test_heal_ec (push) Failing after 10m14s Details
Test / test_heal_csum_4k_dj (push) Successful in 5m28s Details
Test / test_scrub (push) Successful in 1m11s Details
Test / test_heal_csum_4k_dmj (push) Failing after 5m36s Details
Test / test_scrub_zero_osd_2 (push) Successful in 45s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m2s Details
Test / test_scrub_xor (push) Failing after 3m8s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Failing after 3m8s Details
Test / test_scrub_ec (push) Failing after 3m6s Details
Test / test_heal_csum_4k (push) Failing after 10m19s Details
2023-12-01 02:33:04 +03:00
Vitaliy Filippov f285cfc483 Fix eviction when random_pos selects the end
Test / test_move_reappear (push) Successful in 18s Details
Test / test_rm (push) Successful in 13s Details
Test / test_snapshot_chain (push) Successful in 1m1s Details
Test / test_snapshot_down (push) Successful in 20s Details
Test / test_snapshot_ec (push) Failing after 3m5s Details
Test / test_splitbrain (push) Successful in 12s Details
Test / test_snapshot_chain_ec (push) Failing after 3m6s Details
Test / test_snapshot_down_ec (push) Failing after 3m6s Details
Test / test_rebalance_verify_ec (push) Failing after 45s Details
Test / test_rebalance_verify (push) Successful in 2m34s Details
Test / test_rebalance_verify_imm (push) Successful in 2m5s Details
Test / test_write (push) Successful in 54s Details
Test / test_write_no_same (push) Successful in 12s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m7s Details
Test / test_write_xor (push) Failing after 3m6s Details
Test / test_interrupted_rebalance_ec (push) Failing after 10m6s Details
Test / test_heal_pg_size_2 (push) Failing after 10m10s Details
Test / test_heal_ec (push) Failing after 10m7s Details
Test / test_heal_csum_32k_dmj (push) Failing after 10m10s Details
Test / test_heal_csum_32k_dj (push) Failing after 10m15s Details
Test / test_heal_csum_32k (push) Failing after 3m29s Details
Test / test_scrub (push) Successful in 1m9s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m18s Details
Test / test_heal_csum_4k_dmj (push) Failing after 5m56s Details
Test / test_scrub_pg_size_3 (push) Successful in 31s Details
Test / test_scrub_xor (push) Failing after 3m12s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Failing after 3m6s Details
Test / test_heal_csum_4k_dj (push) Failing after 10m10s Details
Test / test_scrub_ec (push) Failing after 3m6s Details
Test / test_heal_csum_4k (push) Failing after 10m21s Details
2023-12-01 01:43:03 +03:00
Vitaliy Filippov 12b50b421d Implement min/max list_count to make listings during performance test reasonable 2023-12-01 01:17:04 +03:00
Vitaliy Filippov 9f6d09428d Fix and improve parallel allocation
- Do not try to allocate more DB blocks in an inode block until it's "confirmed" and "locked" by the first write
- Do not recheck for new zero DB blocks on first write into an inode block - a CAS failure means someone else is already writing into it
- Throw new allocation blocks away regardless of whether the known_version is 0 on a CAS failure
2023-12-01 01:17:04 +03:00
Vitaliy Filippov 580025cfc9 Implement key_prefix for K/V stress test 2023-12-01 01:17:04 +03:00
Vitaliy Filippov 13e2d3ce7c More fixes
- do not overwrite a block with older version if known version is newer
  (read may start before update and end after update)
- invalidated block versions can't be remembered and trusted
- right boundary for split blocks is right_half when diving down, not key_lt
- restart update also when block is "invalidated", not just on version mismatch
- copy callback in listings to avoid closure destruction bugs too
2023-12-01 01:17:04 +03:00
Vitaliy Filippov c5b00f897a Add logging and one more assert 2023-12-01 01:17:04 +03:00
Vitaliy Filippov e847e26912 Make get_block() wait for updating when unrelated block is found along the path 2023-12-01 01:17:04 +03:00
Vitaliy Filippov 3393463466 Fix a race condition where changed blocks were parsed over existing cached blocks and getting a mix of data 2023-12-01 01:17:04 +03:00
Vitaliy Filippov bd96a6194a Simplify code by removing an unneeded "optimisation" 2023-12-01 01:17:04 +03:00
Vitaliy Filippov 601fe10c28 Add kv_log_level, print warnings on level 1, trace ops on level 10 2023-12-01 01:17:04 +03:00
Vitaliy Filippov 63dbc9ca85 Fix duplicate keys in listings on parallel updates -- do not rewind key "iterator position" 2023-12-01 01:17:04 +03:00
Vitaliy Filippov aa0c363c39 Implement key suffix to avoid collisions of multiple test workers 2023-12-01 01:17:04 +03:00
Vitaliy Filippov ce52c5589e Do not complain on empty first block 2023-12-01 01:17:04 +03:00
Vitaliy Filippov aee20ab1ee Add JSON output for stress-tester 2023-12-01 01:17:04 +03:00
Vitaliy Filippov bb81992fac Print total stats 2023-12-01 01:17:04 +03:00
Vitaliy Filippov a28f401aff Do not send more than op_count operations (fix segfault on finish) 2023-12-01 01:17:04 +03:00
Vitaliy Filippov 4ac7e096fd Add some more resiliency to serialize() 2023-12-01 01:17:04 +03:00
Vitaliy Filippov b6171a4599 Invalidate blocks being updated too 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 28045f230c Change new block allocation method: make each writer choose multiple empty PG blocks and place blocks in them 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 10e867880f Remove blocks from cache on unsuccessful updates 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 012462171a Allow to track multiple updates per block (it should never happen though) 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 904793cdab Do not call stop_updating after failed write_new_block and after clear_block (both delete the item) 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 45c01db2de Track versions of parent blocks and recheck if changed during update 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 8c9206cecd Fix resume_split condition (key_lt can also be "") 2023-12-01 01:17:03 +03:00
Vitaliy Filippov e8c46ededa Experiment: transform offsets for better sharding 2023-12-01 01:17:03 +03:00
Vitaliy Filippov e9b321a0e0 More post-stress-test fixes
- Prevent _split types of new blocks
- Stop updating new blocks only after the whole update, otherwise pointers
  may become invalid
- Use recheck_none for updates initially
- Use UINT64_MAX as initial block version when postponing ops, otherwise the
  check fails when the block is initially empty. This for example leads to
  writing both leaf items & block pointers (which is incorrect) into the root
  block when starting stress-test with --parallelism 32
- Fix -EINTR comparison
2023-12-01 01:17:03 +03:00
Vitaliy Filippov 09a77991ae Print operation statistics 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 29d8c9b6f3 K/V fixes after stress-test :-)
- track block versions correctly - per inode block (128kb) instead of tree block (4kb)
- prevent multiple parallel CAS writes of the same inode block
- add logging for EILSEQ which means invalid data in the tree
- fix get_block updated flag which was true for blocks already in cache and was leading to infinite loops on "unrelated block" errors
- apply changes to blocks in cache only after successful writes (using "virtual changes")
- do not replace cached block with an older version from disk
- recheck "unrelated blocks" (read/update collisions) until data stops changing
- track tree path correctly - do not treat split block as parent of its right half
- correctly move blocks when finding new empty place on disk
- restart updates from the beginning when one of blocks is changed by a parallel update
- fix delete using SET opcode and setting key to the empty value instead
- prevent changing the same key more than 1 time in parallel
- fix listing verification
- resume continue_updates in update_find (required because it uses continue_update itself)
- add allow_old_cached parameter to get()
2023-12-01 01:17:03 +03:00
Vitaliy Filippov 20321aaaef Implement K/V DB stress tester 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 987b005356 Evict blocks based on memory limit & block usage 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 41754b748b Track blocks per level 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 31913256f3 Track block level 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 0ee36baed7 Experimental B-Tree Vitastor embedded K/V database implementation! 2023-12-01 01:17:03 +03:00
Vitaliy Filippov 19e2d9d6fa Fix crash on unknown long argument to vitastor-disk
Test / test_move_reappear (push) Successful in 18s Details
Test / test_rm (push) Successful in 11s Details
Test / test_snapshot_chain (push) Successful in 59s Details
Test / test_snapshot_down (push) Successful in 19s Details
Test / test_snapshot_ec (push) Failing after 3m5s Details
Test / test_splitbrain (push) Successful in 11s Details
Test / test_snapshot_chain_ec (push) Failing after 3m6s Details
Test / test_rebalance_verify_imm (push) Failing after 22s Details
Test / test_rebalance_verify_ec (push) Failing after 44s Details
Test / test_snapshot_down_ec (push) Failing after 3m5s Details
Test / test_rebalance_verify (push) Successful in 2m53s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m14s Details
Test / test_write_no_same (push) Successful in 12s Details
Test / test_write (push) Failing after 3m19s Details
Test / test_interrupted_rebalance_ec (push) Failing after 10m7s Details
Test / test_write_xor (push) Failing after 3m8s Details
Test / test_heal_pg_size_2 (push) Failing after 3m9s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m45s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m1s Details
Test / test_heal_csum_4k_dmj (push) Successful in 4m12s Details
Test / test_heal_ec (push) Failing after 10m13s Details
Test / test_heal_csum_4k_dj (push) Failing after 4m13s Details
Test / test_scrub_zero_osd_2 (push) Successful in 48s Details
Test / test_scrub (push) Successful in 51s Details
Test / test_scrub_pg_size_3 (push) Successful in 55s Details
Test / test_heal_csum_32k (push) Failing after 10m12s Details
Test / test_heal_csum_4k (push) Failing after 3m55s Details
Test / test_scrub_xor (push) Failing after 3m7s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Failing after 3m14s Details
Test / test_scrub_ec (push) Failing after 3m11s Details
2023-12-01 00:55:51 +03:00
Vitaliy Filippov bfc7e61909 Add more notes + performance comparison about VDUSE 2023-11-25 02:25:56 +03:00
Vitaliy Filippov 7da4868b37 Fix monitor statistics aggregation in case of empty /osd/stats keys
Test / test_move_reappear (push) Successful in 18s Details
Test / test_rm (push) Successful in 13s Details
Test / test_snapshot_chain (push) Successful in 1m1s Details
Test / test_snapshot_down (push) Successful in 20s Details
Test / test_snapshot_ec (push) Failing after 3m6s Details
Test / test_splitbrain (push) Successful in 12s Details
Test / test_snapshot_chain_ec (push) Failing after 3m6s Details
Test / test_snapshot_down_ec (push) Failing after 3m7s Details
Test / test_rebalance_verify_ec (push) Failing after 48s Details
Test / test_rebalance_verify (push) Successful in 3m30s Details
Test / test_rebalance_verify_imm (push) Successful in 3m3s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m36s Details
Test / test_write_no_same (push) Successful in 12s Details
Test / test_interrupted_rebalance_ec (push) Failing after 10m7s Details
Test / test_write (push) Failing after 3m7s Details
Test / test_write_xor (push) Failing after 3m6s Details
Test / test_heal_csum_32k_dmj (push) Failing after 4m5s Details
Test / test_heal_csum_32k (push) Failing after 3m16s Details
Test / test_heal_pg_size_2 (push) Failing after 10m7s Details
Test / test_heal_ec (push) Failing after 10m10s Details
Test / test_heal_csum_32k_dj (push) Failing after 10m14s Details
Test / test_scrub (push) Successful in 59s Details
Test / test_scrub_zero_osd_2 (push) Successful in 54s Details
Test / test_heal_csum_4k_dj (push) Successful in 4m27s Details
Test / test_scrub_pg_size_3 (push) Successful in 41s Details
Test / test_heal_csum_4k (push) Failing after 4m56s Details
Test / test_scrub_xor (push) Failing after 3m11s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Failing after 3m5s Details
Test / test_scrub_ec (push) Failing after 3m5s Details
Test / test_heal_csum_4k_dmj (push) Failing after 10m8s Details
2023-11-24 01:05:21 +03:00
Vitaliy Filippov b5c020ce0b Use io_uring SQ size for ringloop capacity - otherwise get_sqe could return NULL when space_left() was > 0 under load
Test / test_rm (push) Successful in 11s Details
Test / test_move_reappear (push) Successful in 17s Details
Test / test_snapshot_chain (push) Successful in 1m0s Details
Test / test_snapshot_down (push) Successful in 19s Details
Test / test_snapshot_ec (push) Failing after 3m5s Details
Test / test_splitbrain (push) Successful in 12s Details
Test / test_snapshot_chain_ec (push) Failing after 3m5s Details
Test / test_snapshot_down_ec (push) Failing after 3m6s Details
Test / test_rebalance_verify_ec (push) Failing after 42s Details
Test / test_rebalance_verify_imm (push) Successful in 2m47s Details
Test / test_rebalance_verify (push) Successful in 3m14s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m38s Details
Test / test_interrupted_rebalance_ec (push) Failing after 10m5s Details
Test / test_write_no_same (push) Successful in 11s Details
Test / test_write (push) Failing after 3m6s Details
Test / test_write_xor (push) Failing after 3m5s Details
Test / test_heal_pg_size_2 (push) Failing after 3m45s Details
Test / test_heal_csum_32k_dj (push) Failing after 4m41s Details
Test / test_heal_csum_32k (push) Successful in 4m28s Details
Test / test_heal_ec (push) Failing after 10m12s Details
Test / test_heal_csum_4k_dmj (push) Failing after 4m27s Details
Test / test_scrub (push) Successful in 53s Details
Test / test_heal_csum_32k_dmj (push) Failing after 10m16s Details
Test / test_scrub_zero_osd_2 (push) Successful in 59s Details
Test / test_heal_csum_4k_dj (push) Failing after 4m24s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m7s Details
Test / test_scrub_xor (push) Failing after 3m14s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Failing after 3m6s Details
Test / test_scrub_ec (push) Failing after 3m7s Details
Test / test_heal_csum_4k (push) Failing after 10m9s Details
Raise default io_uring size to 1024 for the same effective capacity as previously
2023-11-20 03:04:06 +03:00
Vitaliy Filippov 6b33ae973d %d -> %lu 2023-11-20 03:02:26 +03:00
Vitaliy Filippov cf36445359 Reserve journal space for stabilize requests dynamically to prevent stalls 2023-11-20 03:01:57 +03:00
Vitaliy Filippov 3fd873d263 Add -fno-omit-frame-pointer by default 2023-11-20 02:59:54 +03:00
Vitaliy Filippov a00e8ae9ed Fix mismatch journal pos format in vitastor-disk
Test / test_interrupted_rebalance_ec (push) Successful in 1m47s Details
Test / test_rm (push) Successful in 15s Details
Test / test_snapshot_ec (push) Successful in 35s Details
Test / test_snapshot_down (push) Successful in 22s Details
Test / test_move_reappear (push) Failing after 50s Details
Test / test_snapshot_down_ec (push) Successful in 23s Details
Test / test_splitbrain (push) Successful in 22s Details
Test / test_snapshot_chain (push) Successful in 2m12s Details
Test / test_snapshot_chain_ec (push) Successful in 3m0s Details
Test / test_rebalance_verify_imm (push) Successful in 3m42s Details
Test / test_write (push) Successful in 35s Details
Test / test_rebalance_verify (push) Successful in 4m23s Details
Test / test_write_no_same (push) Successful in 13s Details
Test / test_rebalance_verify_ec (push) Successful in 4m45s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m49s Details
Test / test_write_xor (push) Failing after 3m9s Details
Test / test_heal_pg_size_2 (push) Successful in 3m20s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m41s Details
Test / test_heal_ec (push) Successful in 6m24s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m53s Details
Test / test_heal_csum_32k (push) Successful in 6m10s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m21s Details
Test / test_scrub (push) Failing after 3m13s Details
Test / test_scrub_zero_osd_2 (push) Successful in 56s Details
Test / test_scrub_xor (push) Successful in 44s Details
Test / test_heal_csum_4k_dj (push) Successful in 5m48s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m0s Details
Test / test_scrub_ec (push) Successful in 52s Details
Test / test_heal_csum_4k (push) Successful in 5m43s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m8s Details
2023-11-19 15:19:54 +03:00
Vitaliy Filippov 75674545dc Limit the number of printed object versions in slow op dump (otherwise it may overflow the fixed buffer)
Test / test_interrupted_rebalance_ec (push) Successful in 1m55s Details
Test / test_snapshot_ec (push) Successful in 35s Details
Test / test_rm (push) Successful in 17s Details
Test / test_snapshot_down (push) Successful in 22s Details
Test / test_move_reappear (push) Failing after 49s Details
Test / test_snapshot_down_ec (push) Successful in 24s Details
Test / test_splitbrain (push) Successful in 21s Details
Test / test_snapshot_chain (push) Successful in 2m17s Details
Test / test_snapshot_chain_ec (push) Successful in 2m58s Details
Test / test_rebalance_verify_imm (push) Successful in 3m12s Details
Test / test_write (push) Successful in 35s Details
Test / test_rebalance_verify (push) Successful in 3m52s Details
Test / test_write_no_same (push) Successful in 14s Details
Test / test_write_xor (push) Successful in 57s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m18s Details
Test / test_rebalance_verify_ec (push) Successful in 5m21s Details
Test / test_heal_pg_size_2 (push) Successful in 4m0s Details
Test / test_heal_ec (push) Successful in 4m48s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m8s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m29s Details
Test / test_heal_csum_32k (push) Successful in 6m21s Details
Test / test_scrub (push) Successful in 1m15s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m42s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m1s Details
Test / test_scrub_xor (push) Successful in 49s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m22s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m6s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m37s Details
Test / test_scrub_ec (push) Successful in 35s Details
Test / test_heal_csum_4k (push) Successful in 6m16s Details
2023-11-13 01:10:28 +03:00
Vitaliy Filippov 225eb2fe3d Support RDMA without ODP by stupidly copying memory. Disable ODP by default
ODP is slower than regular RDMA even with memory copy overhead

Example numbers:
- 3950000 random read iops without ODP vs 240000 iops with ODP
- 1447000 random write iops without ODP vs 101000 iops with ODP

Reference: https://tkygtr6.github.io/pub/ISPASS21_slides.pdf
2023-11-12 15:03:47 +03:00
Vitaliy Filippov 7e82573ed0 Fix RDMA connection leak which was preventing stable functioning of RDMA :)
Test / test_minsize_1 (push) Successful in 14s Details
Test / test_snapshot_ec (push) Successful in 38s Details
Test / test_rm (push) Successful in 16s Details
Test / test_move_reappear (push) Successful in 19s Details
Test / test_snapshot_down (push) Successful in 30s Details
Test / test_snapshot_down_ec (push) Successful in 31s Details
Test / test_splitbrain (push) Successful in 22s Details
Test / test_snapshot_chain (push) Successful in 2m19s Details
Test / test_snapshot_chain_ec (push) Successful in 3m0s Details
Test / test_rebalance_verify_imm (push) Successful in 2m45s Details
Test / test_rebalance_verify (push) Successful in 3m36s Details
Test / test_write (push) Successful in 37s Details
Test / test_write_no_same (push) Successful in 15s Details
Test / test_write_xor (push) Successful in 53s Details
Test / test_rebalance_verify_ec (push) Successful in 4m54s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m8s Details
Test / test_heal_pg_size_2 (push) Successful in 4m5s Details
Test / test_heal_ec (push) Successful in 4m48s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m25s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m29s Details
Test / test_heal_csum_32k (push) Successful in 6m22s Details
Test / test_scrub (push) Successful in 1m7s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m39s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m9s Details
Test / test_scrub_xor (push) Successful in 47s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m3s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m12s Details
Test / test_heal_csum_4k (push) Successful in 6m11s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m29s Details
Test / test_scrub_ec (push) Successful in 33s Details
2023-11-11 23:40:47 +03:00
Vitaliy Filippov 12a6bed2d5 Return the new accidentally rolled back json11 commit ("allow trailing comma")
Test / test_snapshot_ec (push) Successful in 28s Details
Test / test_move_reappear (push) Successful in 19s Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m51s Details
Test / test_rm (push) Successful in 18s Details
Test / test_snapshot_down (push) Successful in 30s Details
Test / test_snapshot_down_ec (push) Successful in 31s Details
Test / test_splitbrain (push) Successful in 24s Details
Test / test_snapshot_chain (push) Successful in 2m22s Details
Test / test_rebalance_verify_imm (push) Successful in 3m4s Details
Test / test_rebalance_verify (push) Successful in 3m48s Details
Test / test_write (push) Successful in 39s Details
Test / test_write_no_same (push) Successful in 12s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m14s Details
Test / test_rebalance_verify_ec (push) Successful in 4m2s Details
Test / test_heal_pg_size_2 (push) Successful in 3m44s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m43s Details
Test / test_heal_ec (push) Successful in 6m47s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m57s Details
Test / test_heal_csum_32k (push) Successful in 6m11s Details
Test / test_scrub (push) Successful in 1m10s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m17s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m19s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m10s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m47s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m3s Details
Test / test_heal_csum_4k (push) Successful in 6m3s Details
Test / test_scrub_ec (push) Successful in 28s Details
Test / test_scrub_xor (push) Successful in 23s Details
Test / test_snapshot_chain_ec (push) Successful in 2m25s Details
Test / test_write_xor (push) Failing after 3m6s Details
2023-11-07 15:49:23 +03:00
Vitaliy Filippov 5524dbdab7 Release 1.2.0
Test / test_snapshot_ec (push) Successful in 25s Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m18s Details
Test / test_rm (push) Successful in 15s Details
Test / test_snapshot_down (push) Successful in 22s Details
Test / test_snapshot_down_ec (push) Successful in 23s Details
Test / test_splitbrain (push) Successful in 18s Details
Test / test_snapshot_chain (push) Successful in 2m13s Details
Test / test_snapshot_chain_ec (push) Successful in 2m57s Details
Test / test_rebalance_verify_imm (push) Successful in 2m51s Details
Test / test_write (push) Successful in 38s Details
Test / test_rebalance_verify (push) Successful in 3m39s Details
Test / test_write_no_same (push) Successful in 12s Details
Test / test_rebalance_verify_ec (push) Successful in 3m56s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m6s Details
Test / test_heal_pg_size_2 (push) Successful in 3m43s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m35s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m44s Details
Test / test_heal_csum_32k (push) Successful in 5m50s Details
Test / test_heal_csum_4k_dmj (push) Successful in 5m44s Details
Test / test_scrub_zero_osd_2 (push) Successful in 57s Details
Test / test_scrub (push) Successful in 1m0s Details
Test / test_scrub_xor (push) Successful in 1m5s Details
Test / test_heal_csum_4k_dj (push) Successful in 5m9s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m38s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 54s Details
Test / test_scrub_ec (push) Successful in 52s Details
Test / test_heal_csum_4k (push) Successful in 5m8s Details
Test / test_heal_ec (push) Successful in 3m17s Details
Test / test_write_xor (push) Successful in 35s Details
Test / test_move_reappear (push) Failing after 48s Details
New features:

- Implement CSI volume expansion
- Implement CSI volume snapshots
- CSI driver now requires Kubernetes >= 1.20

Bug fixes:

- Important bug fix for EC: fix EC n+k, k>=2 read recovery in ISA-L version returning
  incorrect data when reading at least the second chunk out of multiple missing chunks
  without reading the first one. All users of EC n+k, k>=2 should upgrade as soon as
  possible, and upgrade should be conducted with downtime: first stop all clients
  (VMs/containers), then all OSDs, then upgrade and restart everything.
- Fix unstable statistics aggregation in monitor (affecting vitastor-cli status and df)
- Make udev not wait for OSDs to start during boot
- Do not report negative numbers of offline PGs in vitastor-cli status when changing PG count
- Report both old and new PG counts in vitastor-cli df when changing it
- Fix OSDs sometimes not starting with "The code only supports journal versions 1 and 2,
  but it is 2 on disk" error after upgrading from pre-1.0 versions and letting OSDs run
  for some time
- Fix monitors sometimes returning old PG count back after OSD configuration changes
- Make monitor PG changes more stable and timeout errors less probable
2023-11-05 01:48:57 +03:00
Vitaliy Filippov cd3dec06ac Remove spaces from old->new PG count in df
Test / test_interrupted_rebalance_ec (push) Successful in 1m50s Details
Test / test_move_reappear (push) Successful in 19s Details
Test / test_rm (push) Successful in 14s Details
Test / test_snapshot_ec (push) Successful in 33s Details
Test / test_snapshot_down (push) Successful in 29s Details
Test / test_snapshot_down_ec (push) Successful in 32s Details
Test / test_splitbrain (push) Successful in 24s Details
Test / test_snapshot_chain (push) Successful in 2m34s Details
Test / test_rebalance_verify_imm (push) Successful in 3m9s Details
Test / test_rebalance_verify (push) Successful in 4m9s Details
Test / test_write (push) Successful in 40s Details
Test / test_write_no_same (push) Successful in 13s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m15s Details
Test / test_rebalance_verify_ec (push) Successful in 4m29s Details
Test / test_heal_pg_size_2 (push) Successful in 3m21s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m38s Details
Test / test_heal_ec (push) Successful in 6m14s Details
Test / test_heal_csum_32k_dj (push) Successful in 6m22s Details
Test / test_heal_csum_32k (push) Successful in 6m40s Details
Test / test_scrub (push) Successful in 1m11s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m12s Details
Test / test_scrub_xor (push) Successful in 1m16s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m4s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m34s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m4s Details
Test / test_heal_csum_4k (push) Successful in 5m37s Details
Test / test_scrub_ec (push) Successful in 43s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m14s Details
Test / test_write_xor (push) Successful in 1m11s Details
Test / test_snapshot_chain_ec (push) Successful in 2m43s Details
2023-11-05 01:45:45 +03:00
Vitaliy Filippov 371d79e059 Document vitastor-csi features 2023-11-05 01:05:26 +03:00
Vitaliy Filippov 0e888e6c60 Prevent spamming etcd with last_clean_pgs update requests
Test / test_snapshot_ec (push) Successful in 34s Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m49s Details
Test / test_move_reappear (push) Successful in 19s Details
Test / test_rm (push) Successful in 14s Details
Test / test_snapshot_down (push) Successful in 30s Details
Test / test_snapshot_down_ec (push) Successful in 31s Details
Test / test_splitbrain (push) Successful in 24s Details
Test / test_snapshot_chain (push) Successful in 2m23s Details
Test / test_snapshot_chain_ec (push) Successful in 3m4s Details
Test / test_rebalance_verify_imm (push) Successful in 2m54s Details
Test / test_rebalance_verify (push) Successful in 3m48s Details
Test / test_write (push) Successful in 35s Details
Test / test_write_no_same (push) Successful in 14s Details
Test / test_write_xor (push) Successful in 55s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m15s Details
Test / test_rebalance_verify_ec (push) Successful in 5m3s Details
Test / test_heal_pg_size_2 (push) Successful in 3m59s Details
Test / test_heal_ec (push) Successful in 4m56s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m48s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m44s Details
Test / test_heal_csum_32k (push) Successful in 6m35s Details
Test / test_scrub (push) Successful in 1m14s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m54s Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m2s Details
Test / test_scrub_xor (push) Successful in 49s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m9s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m54s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m17s Details
Test / test_heal_csum_4k (push) Successful in 6m18s Details
Test / test_scrub_ec (push) Successful in 37s Details
2023-11-05 00:12:00 +03:00