Vitaliy Filippov
4950a1636c
Allow "infinite" startup for clients if explicitly requested
2025-03-01 13:39:42 +03:00
Vitaliy Filippov
b151013201
Fix snapshot reads from a dirty write-back cache
2025-02-23 02:31:19 +03:00
Vitaliy Filippov
be66edd09f
Prevent infinite loops on syncs in writeback_overflow
2025-02-19 01:44:12 +03:00
Vitaliy Filippov
ccbc0c5928
Add assert !writeback_bytes
2025-02-19 01:15:46 +03:00
Vitaliy Filippov
9dbcdbcec9
Return left_on_dead OSD list in DELETE replies and use it in rm-data
2025-01-03 15:57:09 +03:00
Vitaliy Filippov
a147f7e7dc
Copy & repeat deletions too
2025-01-03 00:21:52 +03:00
Vitaliy Filippov
40b8a8b0da
Add wait_up_timeout support to cluster_client and use it in vitastor-cli rm-data & merge
2025-01-01 17:57:58 +03:00
Vitaliy Filippov
4edda88903
Wait for OSDs to either connect or stop infinitely during listing, not for peer_connect_timeout
2025-01-01 15:29:42 +03:00
Vitaliy Filippov
c8decb32e8
Rename to client_wait_up_timeout
2025-01-01 11:26:57 +03:00
Vitaliy Filippov
d9f9b0bca5
Start listings consistently with the current PG state, add wait_up_timeout
...
This still doesn't make listings 100% consistent yet; for 100% consistent
listings we have to receive listings only from the primary OSD, not from all
peer OSDs, but this issue will be fixed separately.
2025-01-01 10:58:22 +03:00
Vitaliy Filippov
d0396267d0
Clear retry_timeout when the client is destroyed
2025-01-01 10:58:22 +03:00
Vitaliy Filippov
5623dca02c
Fix vitastor client passing incorrect mod_revision for snapshotted images
...
This was leading to reads only working for the image itself and for its latest snapshot
2024-12-28 16:01:35 +03:00
Vitaliy Filippov
a03508320e
Move json_is_true/json_is_false to json_util.cpp
2024-10-12 00:40:39 +03:00
Vitaliy Filippov
a6cceb43bf
Fix read_chain_bitmap not working for snapshot in another pool
2024-10-02 00:24:48 +03:00
Vitaliy Filippov
3cc326500e
Fix non-working OSD_OP_READ_CHAIN_BITMAP O_o
2024-08-30 01:25:05 +03:00
Vitaliy Filippov
f848c450a4
Clients should not wait infinitely for etcd to start if it's unavailable
2024-08-28 02:03:35 +03:00
Vitaliy Filippov
4e90e752eb
Fix merge/flatten into a pool with different object size
2024-08-10 19:23:26 +03:00
Vitaliy Filippov
42851a061c
Always continue operations to not miss resuming after the lack of PG primary
...
Should fix spurious client hangs during PG primary switchover
2024-07-31 01:17:03 +03:00
Vitaliy Filippov
ea0d72289c
Treat copied buffers as written only after completing the write in client
...
SYNC operation fsyncs only completed operations, so treating writes as "eligible
for fsync" before actually completing them is incorrect
It affected SCHEME=ec test_heal.sh (with immediate_commit=none) test - it was
flapping with lost writes - some non-fsynced writes were legitimately lost by
the OSD, but weren't repeated by the client
2024-06-20 02:11:53 +03:00
Vitaliy Filippov
e400a851f4
Repeat dirty buffer flushes on any PG primary change because the new primary may not know about unfinished operations of the old primary
2024-06-19 00:28:26 +03:00
Vitaliy Filippov
4473eb5512
Fix slow & failing CAS layer merge
2024-06-14 02:15:49 +03:00
Vitaliy Filippov
c79b38bd26
Move all sources to subdirs
2024-05-15 11:06:01 +03:00