Commit Graph

10 Commits (57e2c503f7152cc5be5ebb3a977b7a151faad8a1)

Author SHA1 Message Date
Vitaliy Filippov 64eeb79051 Prevent 0.6.x OSDs from talking to 0.5.x
The new protocol is almost compatible - it has bitmaps, but also it has
a "bitmap_length" field. It's not hard to make 0.5-0.6 OSDs and clients
compatible, but for now I just assume nobody needs it.

If I'm wrong and anybody requests to upgrade their production 0.5.x system
to 0.6.x I'll fix it.
2 years ago
Vitaliy Filippov b0b2e7df3c Fix use-after-free in keepalive_timer and rework stop_client()
The bug reproduced if fio was temporarily stopped with SIGSTOP
during write test and then resumed after 10 seconds. In this case
"pings" were failed for all clients and fio process crashed with
'use-after-free' in keepalive_timer. It happened because it called
stop_client while having a live iterator to the map.
2 years ago
Vitaliy Filippov f6d705383a Fix client connection recovery bugs, add dirty_ops limit 2 years ago
Vitaliy Filippov 68567c0e1f Fix messenger possibly trying to connect to the same OSD twice 2 years ago
Vitaliy Filippov 04b00003e9 Log ping failures 2 years ago
Vitaliy Filippov a48e2bbf18 Fix write replay ordering when immediate_commit != all
Previous implementation didn't respect write ordering and could lead
to corrupted data when restarting writes after an OSD outage

Also rework cluster_client queueing logic and add tests for it to verify the correct behaviour
2 years ago
Vitaliy Filippov 829381b335 Extract some definitions to msgr_op.{cpp,h} 2 years ago
Vitaliy Filippov 23225c5e62 Do not run ping on clients that are not yet connected 2 years ago
Vitaliy Filippov ad577c4aac Add PING operation and timeouts to detect OSD failures when a host goes down 2 years ago
Vitaliy Filippov bf9a175efc Move C/C++ sources to src subdirectory 2 years ago