Bump version to 1.1.6; fix storage bugs, tests, CI pipeline and Docker config
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
Storage fixes: - Fix bloom filter hash2 OverflowDefect (uint64 instead of int Hash) - Fix MemTable.put size calculation on overwrite (was leaking size) - Fix fuzz_test duplicate-key issues in LSM delete and SSTable tests Test fixes: - Fix stress_test.nim: replace deprecated threadpool with std/threads - Fix fuzz_test.nim: add missing imports (tables, algorithm, sets) - Fix fuzz_test.nim: var sst for close() compatibility - Remove unused imports from test_all.nim and bench_all.nim Docker / CI fixes: - Fix Dockerfile.source: invalid nimlang/nim:2.2.10-alpine tag → 2.2.10 + ubuntu:24.04 runtime - Fix Dockerfile.source healthcheck (--spider → -qO- for 200 OK) - Fix Dockerfile run comment ports (9470/9471 → 9912/9913) - Fix scripts/docker-run.sh healthcheck port (9470 → 9912) - Add ARG BUILD_DATE/VCS_REF to Dockerfile for docker-build.sh - Update all version strings 1.1.4 → 1.1.6 across nimble/docker/source/docs
This commit is contained in:
@@ -5,7 +5,7 @@ import ../query/lexer
|
||||
import ../query/parser
|
||||
|
||||
const
|
||||
Version = "1.1.4"
|
||||
Version = "1.1.6"
|
||||
Prompt = "bara> "
|
||||
ContinuationPrompt = " .. > "
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ proc queryHandler(server: HttpServer): RequestHandler =
|
||||
proc healthHandler(): RequestHandler =
|
||||
return proc(request: Request) {.gcsafe.} =
|
||||
let ctx = newContext(request)
|
||||
ctx.json(%*{"status": "ok", "version": "1.1.4"})
|
||||
ctx.json(%*{"status": "ok", "version": "1.1.6"})
|
||||
|
||||
proc metricsHandler(server: HttpServer): RequestHandler =
|
||||
return proc(request: Request) {.gcsafe.} =
|
||||
@@ -535,7 +535,7 @@ function showTab(idx){
|
||||
}
|
||||
setInterval(() => { if(document.querySelectorAll('.panel')[4].classList.contains('active')) loadMetrics() }, 5000)
|
||||
</script>
|
||||
<div class='status' style='text-align:center;padding:10px'>BaraDB v1.1.4 — Multimodal Database Engine</div>
|
||||
<div class='status' style='text-align:center;padding:10px'>BaraDB v1.1.6 — Multimodal Database Engine</div>
|
||||
</body></html>"""
|
||||
request.respond(200, @[("Content-Type", "text/html; charset=utf-8")], html)
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ proc exportOtlp*(tracer: Tracer, endpoint: string = "http://localhost:4318/v1/tr
|
||||
{"key": "service.name", "value": {"stringValue": "baradadb"}}
|
||||
]},
|
||||
"scopeSpans": [{
|
||||
"scope": {"name": "baradadb-tracer", "version": "1.1.4"},
|
||||
"scope": {"name": "baradadb-tracer", "version": "1.1.6"},
|
||||
"spans": otlpSpans
|
||||
}]
|
||||
}]
|
||||
|
||||
@@ -503,7 +503,7 @@ proc handleInitialize(params: JsonNode): JsonNode =
|
||||
"protocolVersion": "2024-11-05",
|
||||
"serverInfo": {
|
||||
"name": "BaraDB MCP Server",
|
||||
"version": "1.1.4"
|
||||
"version": "1.1.6"
|
||||
},
|
||||
"capabilities": {
|
||||
"tools": {}
|
||||
@@ -690,7 +690,7 @@ proc processMessage(raw: string): string =
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
proc init*(dataDir: string = "./data"): McpServerCtx =
|
||||
logToStderr("BaraDB MCP Server v1.1.4 initializing...")
|
||||
logToStderr("BaraDB MCP Server v1.1.6 initializing...")
|
||||
let db = newLSMTree(dataDir)
|
||||
let ctx = newExecutionContext(db)
|
||||
ctx.txnManager = newTxnManager()
|
||||
|
||||
@@ -24,10 +24,10 @@ proc hash1*(bf: BloomFilter, data: openArray[byte]): uint64 =
|
||||
result = uint64(!$h)
|
||||
|
||||
proc hash2*(bf: BloomFilter, data: openArray[byte]): uint64 =
|
||||
var h: Hash = 5381
|
||||
var h: uint64 = 5381
|
||||
for b in data:
|
||||
h = ((h shl 5) + h) + Hash(b)
|
||||
result = uint64(h)
|
||||
h = ((h shl 5) + h) + uint64(b)
|
||||
result = h
|
||||
|
||||
proc getHashes(bf: BloomFilter, data: openArray[byte]): seq[int] =
|
||||
let h1 = bf.hash1(data)
|
||||
|
||||
@@ -68,15 +68,17 @@ proc put*(mt: var MemTable, key: string, value: seq[byte], timestamp: uint64, de
|
||||
let entrySize = key.len + value.len + 16
|
||||
if entrySize > mt.maxSize:
|
||||
return false
|
||||
if mt.size + entrySize > mt.maxSize and mt.entries.len > 0:
|
||||
return false
|
||||
let entry = Entry(key: key, value: value, timestamp: timestamp, deleted: deleted)
|
||||
let pos = mt.entries.lowerBound(entry, proc(a, b: Entry): int = cmp(a.key, b.key))
|
||||
if pos < mt.entries.len and mt.entries[pos].key == key:
|
||||
let oldSize = mt.entries[pos].key.len + mt.entries[pos].value.len + 16
|
||||
mt.entries[pos] = entry
|
||||
mt.size += entrySize - oldSize
|
||||
else:
|
||||
if mt.size + entrySize > mt.maxSize and mt.entries.len > 0:
|
||||
return false
|
||||
mt.entries.insert(entry, pos)
|
||||
mt.size += entrySize
|
||||
mt.size += entrySize
|
||||
return true
|
||||
|
||||
proc get*(mt: MemTable, key: string): (bool, Entry) =
|
||||
|
||||
+1
-1
@@ -211,7 +211,7 @@ proc main() =
|
||||
# Init structured logger from config
|
||||
let logLvl = parseEnum[LogLevel]("ll" & capitalizeAscii(config.logLevel))
|
||||
defaultLogger = newLogger(logLvl, config.logFile)
|
||||
info("BaraDB v1.1.4 — Multimodal Database Engine")
|
||||
info("BaraDB v1.1.6 — Multimodal Database Engine")
|
||||
|
||||
# Security check: warn if JWT secret is not configured
|
||||
if config.jwtSecret.len == 0:
|
||||
|
||||
Reference in New Issue
Block a user