mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-18 03:58:32 +02:00
feat(uds): add Store opcode, AppendRawNeedle, and SRA transport client
Volume replication groundwork (Phase 6 hardening plan): - UDS handler: Add Store opcode (0x02) with opcode-based dispatch, StoreRequest/StoreResponse wire types, and size validation - storage/store.go: AppendRawNeedle() for accepting pre-serialized needle bytes from RDMA replication path - storage/needle: Return raw bytes from needle Append() to enable forwarding exact .dat bytes without re-serialization - storage/sra_transport.go: UDS client for outbound RDMA replication (connects to /tmp/sra-transport.sock, nil-safe fallback to HTTP) - command/volume.go: Wire -uds.transport flag - Integration test for Store opcode round-trip - Golden wire tests for Store request/response encoding Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
5e03b045aa
commit
ec49e5a28f
9 files changed
+803
-35
No files matched your search
@@ -153,6 +153,7 @@ func init() {
|
||||
serverOptions.v.inflightDownloadDataTimeout = cmdServer.Flag.Duration("volume.inflightDownloadDataTimeout", 60*time.Second, "inflight download data wait timeout of volume servers")
|
||||
|
||||
serverOptions.v.udsListen = cmdServer.Flag.String("volume.uds.listen", "", "Unix domain socket path for RDMA sidecar locate API (e.g., /tmp/sra-volume.sock)")
|
||||
serverOptions.v.udsTransport = cmdServer.Flag.String("volume.uds.transport", "", "Unix domain socket path for outbound RDMA replication (e.g., /tmp/sra-transport.sock)")
|
||||
|
||||
serverOptions.v.hasSlowRead = cmdServer.Flag.Bool("volume.hasSlowRead", true, "<experimental> if true, this prevents slow reads from blocking other requests, but large file read P99 latency will increase.")
|
||||
serverOptions.v.readBufferSizeMB = cmdServer.Flag.Int("volume.readBufferSizeMB", 4, "<experimental> larger values can optimize query performance but will increase some memory usage,Use with hasSlowRead normally")
|
||||
|
||||
Reference in new issue
Block a user