This website requires JavaScript.
26dd863c8d
Fix sometimes possible crash on clients.at() during pings
Vitaliy Filippov
2024-02-16 00:14:05 +0300
2ae859fbc6
Use min/max_flusher_count=32/256, 128M journal and autosync_writes=512 for non-capacitor SSDs by default
Vitaliy Filippov
2024-02-15 23:37:51 +0300
f6cd9f9153
Add a note about pg_minsize
Vitaliy Filippov
2024-02-15 23:29:23 +0300
8389c0f33b
Fix PGs sometimes hanging in "starting" state on mass OSD restarts
Vitaliy Filippov
2024-02-15 23:27:52 +0300
9db2196aef
Make journal_trim_interval configurable
Vitaliy Filippov
2024-02-15 23:27:37 +0300
8d6ae662fe
Use empty cur.oid as stop condition for forced trim, not journal_trim_counter
Vitaliy Filippov
2024-02-15 23:27:17 +0300
c777a0041a
Release 1.4.4
v1.4.4
Vitaliy Filippov
2024-02-11 16:22:58 +0300
2947ea93e8
Raise test_snapshot_chain_ec timeout to 6 minutes
Vitaliy Filippov
2024-02-11 16:09:53 +0300
978bdc128a
Apply recovery pause before writes, after commits, and do not apply it to syncs to not block EC pools from functioning
Vitaliy Filippov
2024-02-11 12:19:08 +0300
bb2f395f1e
Add cutoff threshold for recovery auto-tuning
Vitaliy Filippov
2024-02-11 12:16:20 +0300
b127da40f7
Add a FIXME about incomplete PGs
Vitaliy Filippov
2024-02-11 02:33:30 +0300
ca34a6047a
Fix dynamic journal space reservation: include the new write itself, too
Vitaliy Filippov
2024-02-11 02:29:41 +0300
38ba76e893
Fix flusher sometimes being unable to trim journal when the flush queue is empty
Vitaliy Filippov
2024-02-11 02:28:38 +0300
1e3c4edea0
Print etcd dbSize instead of dbSizeInUse in status
Vitaliy Filippov
2024-02-11 02:26:37 +0300
e7ac855b07
Fix that EC segfault (1234 -> 5030 partial overwrite)
Vitaliy Filippov
2024-02-10 12:06:39 +0300
c53357ac45
Add a test for EC segfault with partial overwrite in 1234 -> 5030 rebalance scenario
Vitaliy Filippov
2024-02-10 12:06:27 +0300
27e9f244ec
Release 1.4.3
v1.4.3
Vitaliy Filippov
2024-02-09 00:29:31 +0300
8e25a28a08
Ignore down OSDs in monitor statistics aggregation
Vitaliy Filippov
2024-02-08 21:28:03 +0300
5d3317e4f2
Followup to 1.4.2 write stall fix - sadly, the previous version was not working correctly :)
Vitaliy Filippov
2024-02-08 19:34:29 +0300
016115c0d4
Release 1.4.2
v1.4.2
Vitaliy Filippov
2024-02-04 02:23:49 +0300
e026de95d5
Log to systemd by default
Vitaliy Filippov
2024-02-04 01:17:43 +0300
77c10fd1f8
In fact, do not autosync blockstore when autosync_writes=0
Vitaliy Filippov
2024-02-03 20:37:36 +0300
581d02e581
Mark secondary OSDs with deletions as dirty to not forget to sync & autosync them
Vitaliy Filippov
2024-02-03 20:30:42 +0300
f03a9db4d9
Fix OSD space reporting sometimes adding garbage zeros for deleted inodes (causing extra pool/stats etcd keys for deleted pools)
Vitaliy Filippov
2024-02-03 20:26:34 +0300
cb9c30bc31
Sync after sending all deletes to each PG in cli rm-data
Vitaliy Filippov
2024-02-03 20:26:04 +0300
a86a380d20
Fix invalid parsing of autosync_writes in blockstore leading to autosyncs after every operation with disabled immediate_commit :D
Vitaliy Filippov
2024-02-03 20:25:22 +0300
d2b43cb118
Change default etcd_mon_ttl
Vitaliy Filippov
2024-01-29 23:45:07 +0300
cc76e6876b
Fix flapping "scrub" test
Vitaliy Filippov
2024-01-28 14:59:33 +0300
1cec62d25d
Sync only completed writes
Vitaliy Filippov
2023-12-31 00:41:16 +0300
1c322b33ed
Change default up_wait_retry_interval to 50 ms
Vitaliy Filippov
2024-01-26 01:50:54 +0300
d27524f441
Add patch for libvirt 9.10
Vitaliy Filippov
2024-01-25 01:09:12 +0300
ba55f91409
Release 1.4.1
v1.4.1
Vitaliy Filippov
2024-01-18 02:31:42 +0300
80aac39513
Add detailed formula for theoretical EC N+K random write performance
Vitaliy Filippov
2024-01-18 00:36:32 +0300
2aa5aa7ab6
Add a test for simple master switching without PG reconfiguration
Vitaliy Filippov
2024-01-17 00:16:56 +0300
3ca3b8a8d8
Fix recheck_pgs bug introduced in 1.4.0
Vitaliy Filippov
2024-01-16 23:49:21 +0300
2cf649eba6
Fix "partly outside array bounds" warnings for GCC 12 in cpp-btree
Vitaliy Filippov
2024-01-15 03:04:33 +0300
5935640a4a
Add CLA PR form
Vitaliy Filippov
2024-01-14 16:45:18 +0300
d00d4dbac0
Initialize mod_revision field in etcd_state_client
Vitaliy Filippov
2024-01-13 01:29:55 +0300
5d9d6f32a0
Fix common realloc memory leak mistakes found by cppcheck
Vitaliy Filippov
2024-01-13 01:29:22 +0300
5280d1d561
Release 1.4.0
v1.4.0
Vitaliy Filippov
2024-01-12 01:28:25 +0300
317b0feb0a
Add a note about VDUSE daemon auto-restart
Vitaliy Filippov
2024-01-12 01:27:36 +0300
247f0552db
Fix debug log "killing..." in CSI
Vitaliy Filippov
2024-01-10 01:19:18 +0300
a9ef9a86c0
Add update() API to kv_db
kv-update
Vitaliy Filippov
2024-01-05 01:31:29 +0300
25832cb7e4
Fix eviction when random_pos selects the end
Vitaliy Filippov
2023-12-01 01:15:02 +0300
e6326c6539
Implement min/max list_count to make listings during performance test reasonable
Vitaliy Filippov
2023-11-30 01:57:36 +0300
e32f382815
Fix and improve parallel allocation
Vitaliy Filippov
2023-11-29 01:32:09 +0300
fb23d94000
Implement key_prefix for K/V stress test
Vitaliy Filippov
2023-11-28 02:00:04 +0300
ee462c2dad
More fixes
Vitaliy Filippov
2023-11-28 01:00:13 +0300
16e4c767f1
Add logging and one more assert
Vitaliy Filippov
2023-11-28 00:55:17 +0300
9e2b677499
Make get_block() wait for updating when unrelated block is found along the path
Vitaliy Filippov
2023-11-06 02:30:25 +0300
fd57096d2d
Fix a race condition where changed blocks were parsed over existing cached blocks and getting a mix of data
Vitaliy Filippov
2023-11-05 20:00:55 +0300
e5ae907256
Simplify code by removing an unneeded "optimisation"
Vitaliy Filippov
2023-11-05 20:00:13 +0300
64fd6f1c56
Add kv_log_level, print warnings on level 1, trace ops on level 10
Vitaliy Filippov
2023-11-05 19:59:02 +0300
6e76e09d16
Fix duplicate keys in listings on parallel updates -- do not rewind key "iterator position"
Vitaliy Filippov
2023-10-26 02:04:20 +0300
0964aeebd2
Implement key suffix to avoid collisions of multiple test workers
Vitaliy Filippov
2023-10-26 01:03:33 +0300
facff20ca1
Do not complain on empty first block
Vitaliy Filippov
2023-10-25 14:22:03 +0300
16e09745f0
Add JSON output for stress-tester
Vitaliy Filippov
2023-10-25 14:20:18 +0300
442f44a64f
Print total stats
Vitaliy Filippov
2023-10-25 14:06:01 +0300
c67e3d56cb
Do not send more than op_count operations (fix segfault on finish)
Vitaliy Filippov
2023-10-25 13:59:18 +0300
de41e46335
Add some more resiliency to serialize()
Vitaliy Filippov
2023-10-25 13:25:10 +0300
bf9a279ff9
Invalidate blocks being updated too
Vitaliy Filippov
2023-10-25 12:56:22 +0300
b7a41e6394
Change new block allocation method: make each writer choose multiple empty PG blocks and place blocks in them
Vitaliy Filippov
2023-10-24 00:18:33 +0300
4175cb3720
Remove blocks from cache on unsuccessful updates
Vitaliy Filippov
2023-10-23 01:23:20 +0300
3a4b71b0cd
Allow to track multiple updates per block (it should never happen though)
Vitaliy Filippov
2023-10-22 16:56:46 +0300
34969c5919
Do not call stop_updating after failed write_new_block and after clear_block (both delete the item)
Vitaliy Filippov
2023-10-22 16:45:59 +0300
02a8df6586
Track versions of parent blocks and recheck if changed during update
Vitaliy Filippov
2023-10-22 02:00:55 +0300
86c6482cf3
Fix resume_split condition (key_lt can also be "")
Vitaliy Filippov
2023-10-22 00:55:18 +0300
4dd68c543c
Experiment: transform offsets for better sharding
Vitaliy Filippov
2023-10-21 17:39:24 +0300
10ad96c56c
More post-stress-test fixes
Vitaliy Filippov
2023-10-15 02:37:02 +0300
6e451117ce
Print operation statistics
Vitaliy Filippov
2023-10-14 18:55:23 +0300
85f35bdf30
K/V fixes after stress-test :-)
Vitaliy Filippov
2023-10-08 11:01:05 +0300
09adaf62fd
Implement K/V DB stress tester
Vitaliy Filippov
2023-10-07 12:35:14 +0300
af93f8323c
Evict blocks based on memory limit & block usage
Vitaliy Filippov
2023-10-01 12:43:31 +0300
3d29c76ff4
Track blocks per level
Vitaliy Filippov
2023-10-01 12:23:37 +0300
19275379c1
Track block level
Vitaliy Filippov
2023-09-30 17:07:07 +0300
96ad3c7c50
Experimental B-Tree Vitastor embedded K/V database implementation!
Vitaliy Filippov
2023-09-30 01:48:05 +0300
2f228fa96a
Only treat data partitions as existing OSDs in vitastor-disk prepare
Vitaliy Filippov
2023-12-31 11:46:39 +0300
2f6b9c0306
Remove etcd parameter from default command examples
Vitaliy Filippov
2023-12-31 02:50:28 +0300
48b5f871e0
Add Contributor License Aggrement in Russian and English
Vitaliy Filippov
2023-12-27 01:18:46 +0300
c17f76a3e4
Add documentation for recovery auto-tuning
Vitaliy Filippov
2023-12-30 19:48:35 +0300
a6ab54b1ba
Do not allow negative util_low/high
Vitaliy Filippov
2023-12-30 19:47:20 +0300
99ee8596ea
Rename min/max_util to util_low/high
Vitaliy Filippov
2023-12-30 19:43:27 +0300
c4928e6ecd
Protect from try_send completing the operation immediately
Vitaliy Filippov
2023-12-30 17:11:52 +0300
ec7dcd1be5
Do not apply very large recovery pauses during tests
Vitaliy Filippov
2023-12-30 15:52:17 +0300
e600bbc151
Fix flapping move_reappear test by adding an fsync before stopping PG
Vitaliy Filippov
2023-12-30 14:54:17 +0300
8b8c1179a7
Use a separate used_blocks counter for free space stats to hide possibly delayed on-flush deallocation
Vitaliy Filippov
2023-12-29 23:35:34 +0300
d5a6fa6dd7
Fix possible crash on print_slow when bs_op is NULL
Vitaliy Filippov
2023-12-28 02:01:39 +0300
f757a35a8d
Retry PG changes without re-running lpsolve when pool configuration and OSD tree don't change
Vitaliy Filippov
2023-12-28 01:50:26 +0300
1edf86ed26
Aggregate recovery delay using simple mean over last 10 observations (EWMA is shit)
Vitaliy Filippov
2023-12-20 02:24:04 +0300
5ca7cde612
Experiment/WIP: Try to track "secondary" recovery ops separately
Vitaliy Filippov
2023-12-17 00:03:21 +0300
751935ddd8
WIP Auto-tune recovery speed
Vitaliy Filippov
2023-12-09 15:39:17 +0300
d84dee7098
Track recovery op latencies + refactor into a structure
Vitaliy Filippov
2023-12-09 15:36:00 +0300
dcc76eee15
Add a parity chunk count change test script
Vitaliy Filippov
2023-12-26 23:48:26 +0300
2f38adeb3d
Restart dead VDUSE daemons at regular intervals
Vitaliy Filippov
2023-12-24 12:58:50 +0300
f72f14e6a7
Clear old PG states, history, and OSD states on etcd state reload
Vitaliy Filippov
2023-12-24 00:05:43 +0300
1299373988
Use the same etcd_ws_keepalive_interval in OSD and mon
Vitaliy Filippov
2023-12-23 20:07:29 +0300
178bb0e701
Prevent re-entry into timerfd set_nearest
Vitaliy Filippov
2023-12-22 02:32:40 +0300
4ece4dfdd0
Fix mon not using values from config when /config/global is not present
Vitaliy Filippov
2023-12-22 02:25:04 +0300
95631773b6
Remove pve-storage-portal-dns-list format for vitastor_etcd_address
Vitaliy Filippov
2023-12-20 02:22:06 +0300
7239cfb91a
Parse log_level in cluster_client
Vitaliy Filippov
2023-12-20 02:21:23 +0300