fix(vector): use float64 accumulators for distance functions
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled
Vector distance functions (cosine, euclidean, dot, manhattan) returned float64 but accumulated sums in float32, causing precision loss in SQL results (e.g. sqrt(2) truncated to float32). Use float64 accumulators and casts throughout. docs(bugs): mark BUG-023 and BUG-024 as fixed The code already cleans up pendingAcks and passes oldAssignments from rebalance to migrateData; update BUGS.md to match the implementation.
This commit is contained in:
@@ -78,11 +78,11 @@ Total: 55 bugs (7 critical, 21 high, 21 medium, 6 low)
|
||||
### ~~BUG-022~~ :white_check_mark: `shipToReplica` socket leak
|
||||
**File:** `src/barabadb/core/replication.nim:94-113` — **FIXED:** Used `defer: sock.close()`.
|
||||
|
||||
### BUG-023 :x: `pendingAcks` never cleaned up in sync/semi-sync
|
||||
**File:** `src/barabadb/core/replication.nim:131-164` — **NOT FIXED:** Requires restructuring sync replication ack flow.
|
||||
### ~~BUG-023~~ :white_check_mark: `pendingAcks` never cleaned up in sync/semi-sync
|
||||
**File:** `src/barabadb/core/replication.nim:131-199` — **FIXED:** `writeLsn` now removes acked replica IDs from `pendingAcks` and deletes the LSN entry once fully acked; `ackLsn` also cleans up on replica acknowledgement.
|
||||
|
||||
### BUG-024 :x: `rebalance` loses old assignments
|
||||
**File:** `src/barabadb/core/sharding.nim:208-211` — **NOT FIXED:** Requires passing old assignments to `migrateData`.
|
||||
### ~~BUG-024~~ :white_check_mark: `rebalance` loses old assignments
|
||||
**File:** `src/barabadb/core/sharding.nim:221-241` — **FIXED:** `rebalance` returns the old shard assignments; callers (`addNode`/`removeNode`) pass them to `migrateData` for correct data migration.
|
||||
|
||||
### ~~BUG-025~~ :white_check_mark: `deserializeValue` missing bounds checks
|
||||
**File:** `src/barabadb/protocol/wire.nim:216-227` — **FIXED:** Added bounds checks for `fkBool`, `fkInt8`, `fkInt16`.
|
||||
|
||||
Reference in New Issue
Block a user