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
3 days ago
Chris Lu
03de5c0813
Report remote storage info in heartbeats
3 days ago
Chris Lu
4fcbe1c6d4
Honor master preallocate in volume max
3 days ago
Chris Lu
139b06a01d
Match Go volume heartbeat pruning
3 days ago
Chris Lu
7f0b8e7b03
Delete expired EC volumes during heartbeat
3 days ago
Chris Lu
9e9b73f571
Match Go duplicate UUID heartbeat retries
3 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
Chris Lu
016ee2fd91
Match Go read handler bare 400, delete error prefix, download throttle timeout
4 days ago
Chris Lu
5d86a641ea
Match Go JWT error message: use "wrong jwt" instead of detailed error
4 days ago
Chris Lu
612933ed36
Match Go 304 Not Modified: return bare status with no headers
4 days ago
Chris Lu
20b1fbe576
Match Go volume: vif creation, version from superblock, TTL expiry, dedup data_size, garbage_level fallback
4 days ago
Chris Lu
d94be89a60
Add CompactMapSegment overflow panic guard matching Go
4 days ago
Chris Lu
b365294d94
Match Go needle map: unconditional delete counter, fix redb idx walk offset
4 days ago
Chris Lu
d0d72096d1
Match Go VolumeStatus dat file size, EC shard stats, and disk pct precision
4 days ago
Chris Lu
76f2c804bd
Add walk_ecx_stats for accurate EC volume file counts and size
4 days ago
Chris Lu
d823665f0e
Add missing EC constants MAX_SHARD_COUNT and MIN_TOTAL_DISKS
4 days ago
Chris Lu
2a981e539d
Match Go ReplicaPlacement short string parsing with zero-padding
4 days ago
Chris Lu
6ccdb06aab
Match Go Prometheus metric names and add missing handler counter constants
4 days ago
Chris Lu
de40055d1f
Match Go image ext checks: webp resize only, no crop; empty healthz body
4 days ago
Chris Lu
126b4cc8b8
Match Go needle ID/cookie formatting and name size computation
4 days ago