Vitaliy Filippov
cb085f9c8f
Mark overwritten heap_writes as immediately compacted
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
a9773b1908
Move "ack write" debug message
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
11783a2d7a
Fsync data on trim_lsn, not when writing compacted data
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
7915605609
Batch big_write data fsyncs
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
3ba3eed0cf
Use the same "inflight" queue to track compaction
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
5dc0b42146
Use new LSNs on stabilize
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
b44c3a7971
Assign new LSN on stabilize
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
59b7b2e0c3
WIP Only save MVCC copy when overwriting an object
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
7f0c78113b
Do not use wr_offset
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
20bbeb4095
Prevent compaction of incomplete object writes
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
3c687a2993
Experimental INTENT_WRITE write mode with WA=2 instead of 3
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
7530bdbec7
Add test_compact_block
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
c78b4d184d
Remove alloc_buffer_area
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
c7a6b77c21
Two more unordered_maps
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
3cb7ec69bc
Remove sync_to_repeat map and use simpler repeating
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
954e7b658d
Use a sequence of bitmap_allocs for metadata instead of std::sets...
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
2c6ea8a521
It seems tcmalloc is actually slower, disable it
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
bfd5575425
Use single add_used_space call instead of unmark+mark allocated_block
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
85e61c9c31
Remove compact_queue_lsn map
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
f580cee936
Implement a really crazy "multi-linked-list" allocator for buffered data
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
6d0460500a
Use linked list heap in blockstore code
...
WIP, still slower than the old version :-E
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
01ae800d34
Use linked lists in heap to avoid excessive memory copying
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
dbb885a6b1
v1 (old) store fixes for merged version
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
8ff2c268f7
Integrate "heap" metadata storage into blockstore
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
8430104c19
"Heap" metadata storage scheme
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
4c11e3ad3d
Release 2.4.4
...
- Implement `vitastor-kv rescue` command which dumps all readable blocks from the
database regardless of the tree structure and allows to recover a corrupted database.
- Simplify primary OSD selection - use just PG number instead of the hash. This allows
to distribute primary OSDs more evenly and reach better read speeds.
- Fix vitastor-kv-stress hang on parallel list & reopen.
- Fix CAS writes without immediate_commit. Fix is sufficient for vitastor-kv to
operate correctly in non-immediate_commit pools.
- Fix NFS ACCESS calls for broken inodes (allow root access to them).
- Fix broken vitastor-kv-stress --runtime parameter.
- Fix bad vitastor-kv dump output buffering leading to incorrect JSON in dumps.
- Fix writing garbage from uninitialized memory to the empty space in VitastorKV DB.
- Refactor some code in preparation to the release of the new log-structured metadata store.
- Replace assert(done != expected) error message, probably caused by kernel issues with
zero-copy TCP send, with a more concise error description.
v2.4.4
2025-12-01 02:22:27 +03:00
Vitaliy Filippov
d88b49872b
Fix vitastor-kv-stress hang on parallel list & reopen
2025-11-30 16:54:23 +03:00
Vitaliy Filippov
ca27b91919
Handle CAS writes with built-in SYNC and without retries in the client
2025-11-30 14:50:50 +03:00
Vitaliy Filippov
94f31b96b8
Cancel block changes on write failures/CAS retries (should fix #115 )
2025-11-30 01:49:49 +03:00
Vitaliy Filippov
76c7c26d32
Fix broken inode removal again (ACCESS will now allow root access to such inodes)
2025-11-29 19:30:20 +03:00
Vitaliy Filippov
8aa2c49202
Use immediate_commit in test_nfs
2025-11-29 19:22:01 +03:00
Vitaliy Filippov
0f330b10f1
Add kv-stress test to CI
2025-11-29 16:48:38 +03:00
Vitaliy Filippov
477b54a0d8
Fix broken vitastor-kv-stress --runtime parameter
2025-11-29 16:47:13 +03:00
Vitaliy Filippov
5823a7de66
Disable K/V DB operation on non-immediate_commit pools (unsafe because of broken CAS)
2025-11-29 16:43:46 +03:00
Vitaliy Filippov
eb0deaa3f5
Implement vitastor-kv rescue command
2025-11-29 16:34:34 +03:00
Vitaliy Filippov
59e6527303
Fix dump buffering, do not write uninitialized memory to the end K/V blocks on serialize
2025-11-29 16:34:34 +03:00
Vitaliy Filippov
67ba9f9b7c
Simplify primary OSD selection - use just PG number instead of the hash
2025-11-28 16:38:55 +03:00
Vitaliy Filippov
3ad83e8d13
Use only space_left, not sqes_left
2025-11-23 15:17:57 +03:00
Vitaliy Filippov
5d3f3f47a7
Move all #defines to internal.h
2025-11-23 14:53:46 +03:00
Vitaliy Filippov
8ee7058ec8
Use an interface instead of explicit blockstore_t wrapper
2025-11-23 01:48:44 +03:00
Vitaliy Filippov
1badc6ad13
Remove include of blockstore_impl.h from disk_tool and osd
2025-11-23 01:48:44 +03:00
Vitaliy Filippov
be1858848e
Remove block_order and replace << >> by / * data_block_size
2025-11-22 18:10:32 +03:00
Vitaliy Filippov
d75b1cb2d2
Refactor some defines
2025-11-22 18:07:44 +03:00
Vitaliy Filippov
a1c17d90a3
Add done != expected send error message
2025-11-18 01:23:52 +03:00
Vitaliy Filippov
f0112050ce
Release 2.4.3
...
- Daemonize before forking in NFS proxy to fix OSD RDMA support (#107 )
- Fix possible PG_INCOMPLETE on node outage when allow_net_split is false
- Fix build under Ubuntu 25.10
- Fix journal_no_same_sector_overwrites mode after optimizing WA (#109 )
v2.4.3
2025-11-09 02:18:35 +03:00
Vitaliy Filippov
d6b8d921d6
Daemonize before forking in NFS proxy to fix OSD RDMA support ( fix #107 )
2025-11-09 01:07:11 +03:00
Vitaliy Filippov
65872f5d0e
Remove RDMA context FD handlers during msgr destroy
2025-11-08 14:11:03 +03:00
Vitaliy Filippov
15eef27d44
Fix PG_INCOMPLETE on node outage when allow_net_split is false
2025-11-07 21:56:56 +03:00
Vitaliy Filippov
aa1e51de5f
Add include stdint (fix ubuntu 25.10 build)
2025-11-07 21:56:56 +03:00
Flynn049 and GitHub
c164adb43c
Fix: journal sector written flag not set when submitted ( #109 )
2025-11-07 00:59:04 +03:00