Chris Lu
b074239112
Match Go TTL: preserve original unit when count fits in byte
3 days ago
Chris Lu
51c5be76ec
Make 5bytes the default feature for idx entry compatibility
3 days ago
Chris Lu
b2cb8b8bcb
deps: enable webp support
3 days ago
Chris Lu
05447e4eef
handlers: align upload parsing with Go
3 days ago
Chris Lu
6e5610cfe5
handlers: align range parsing and responses with Go
3 days ago
Chris Lu
4017e8e4e9
handlers: use meta-only reads for HEAD
3 days ago
Chris Lu
11c595b6c6
Match Go WriteNeedleBlob: dedup check before writing during replication
3 days ago
Chris Lu
c285e596c1
Match Go check_volume_data_integrity: verify all 10 entries, detect trailing corruption
3 days ago
Chris Lu
7bf2595ea8
Match Go read_super_block: apply replication override from .vif
3 days ago
Chris Lu
5405179b2d
Match Go VolumeTailSender: send needle_header on every chunk
3 days ago
Chris Lu
8a5b481efb
Match Go VolumeEcShardsCopy: set ignore_source_file_not_found for .vif
3 days ago
Chris Lu
97419af55a
Match Go ScrubVolume: count total_files even on scrub error
3 days ago
Chris Lu
497c98d861
Match Go ScrubEcVolume: accumulate total_files from EC shards
3 days ago
Chris Lu
d2681c5e07
Match Go crop params: default x1/y1 to 0 when not provided
3 days ago
Chris Lu
7109dffcee
Match Go download throttle: return JSON error instead of plain text
3 days ago
Chris Lu
8fa6f7642b
Match Go error behavior for truncated needle data in read_body_v2
Go's readNeedleDataVersion2 returns "index out of range %d" errors
(indices 1-7) when needle body or metadata fields are truncated.
Rust was silently tolerating truncation and returning Ok. Now returns
NeedleError::IndexOutOfRange with the matching index for each field.
3 days ago
Chris Lu
8434429f25
Match Go TTL Display: return empty string when unit is Empty
Go checks `t.Unit == Empty` separately and returns "" for TTLs
with nonzero count but Empty unit. Rust only checked is_empty()
(count==0 && unit==0), so count>0 with unit=0 would format as
"5 " instead of "".
3 days ago
Chris Lu
9e386184d4
Match Go VolumeUnmount: idempotent success when volume not found
3 days ago
Chris Lu
58156cabea
Match Go write_needle_blob monotonic appendAtNs via get_append_at_ns
3 days ago
Chris Lu
132c963097
Match Go throttle boundary: use <= instead of <, fix pretty JSON to 1-space
3 days ago
Chris Lu
e78bd10793
Emit EC heartbeat deltas on shard changes
4 days ago
Chris Lu
03de5c0813
Report remote storage info in heartbeats
4 days ago
Chris Lu
4fcbe1c6d4
Honor master preallocate in volume max
4 days ago
Chris Lu
139b06a01d
Match Go volume heartbeat pruning
4 days ago
Chris Lu
7f0b8e7b03
Delete expired EC volumes during heartbeat
4 days ago
Chris Lu
9e9b73f571
Match Go duplicate UUID heartbeat retries
4 days ago
Chris Lu
c67fba4b9d
Match Go heartbeat metric accounting
4 days ago
Chris Lu
b3cf5ee896
Match Go gRPC: EC multi-disk placement, per-shard mount/unmount, no auto-mount on reconstruct, streaming ReadAll/EcShardRead, ReceiveFile cleanup, version check, proxy streaming, redirect Content-Type
4 days ago
Chris Lu
e861f14aa4
Add CheckVolumeDataIntegrity on volume load matching Go
4 days ago
Chris Lu
886dac6fcb
Add per-shard EC mount/unmount, location predicate search, idx directory for EC
4 days ago
Chris Lu
11b9ac8efc
Add EC volume read and delete support in HTTP handlers
4 days ago
Chris Lu
7790843f5b
Match Go gRPC: tail header first-chunk-only, EC cleanup on failure, copy append mode, ecx rebuild, compact cancellation
4 days ago
Chris Lu
0b43e548f7
Add rebuild_ecx_file for EC index reconstruction from data shards
4 days ago
Chris Lu
96559a0958
Match Go WriteNeedleBlob V3 timestamp patching, fix makeup_diff double padding, count==0 read handling
4 days ago
Chris Lu
23bf5d5fa7
Match Go HTTP responses: omitempty fields, 2-space JSON indent, JWT JSON error, delete pretty/JSONP, 304 Last-Modified, raw write error
4 days ago
Chris Lu
b84f609f35
Match Go gRPC: VolumeCopy preallocation, EC NeedleStatus full read, error message wording
4 days ago
Chris Lu
7913b52b1e
Make heartbeat master config helpers pub for VolumeCopy preallocation
4 days ago
Chris Lu
11c8dc3447
Add read_ec_shard_needle for full needle reconstruction from local EC shards
4 days ago
Chris Lu
e5d15055ef
Match Go ScrubVolume INDEX mode dispatch; add VolumeCopy preallocation and EC NeedleStatus TODOs
4 days ago
Chris Lu
84568138d7
Match Go ReadNeedleMeta paged I/O: read header+tail only, skip data; add EIO tracking
4 days ago
Chris Lu
246f91679a
Match Go heartbeat: send state-only delta on volume state changes
4 days ago
Chris Lu
5b7a0373a5
Match Go DeleteCollectionMetrics: use partial label matching
4 days ago
Chris Lu
4688ce3832
Match Go Guard isWriteActive: combine whitelist and signing key check
4 days ago
Chris Lu
4c94a51933
Match Go Content-Disposition RFC 6266 formatting with RFC 2231 encoding
4 days ago
Chris Lu
1eae9f771e
Match Go gRPC: BatchDelete no flag, IncrementalCopy error, FetchAndWrite concurrent, VolumeUnmount/DeleteCollection errors, tail draining, query error code
4 days ago
Chris Lu
d1d2b10212
Match Go DeleteCollection: propagate destroy errors
4 days ago
Chris Lu
a10368c948
Match Go volume: cookie check on any existing needle, return DataSize, 128KB meta guard
4 days ago
Chris Lu
8742727da2
Match Go needle ReadBytes V2: tolerate EOF on truncated body
4 days ago
Chris Lu
fb028556ad
Match Go heartbeat: keep is_heartbeating on error, add EC shard identification
4 days ago
Chris Lu
768b5be9ff
Match Go pretty JSON 1-space indent and "Deletion Failed:" error prefix
4 days ago