• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

orneryd / NornicDB / 26290999913
89%

Build:
DEFAULT BRANCH: main
Ran 22 May 2026 01:55PM UTC
Jobs 1
Files 467
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 May 2026 01:36PM UTC coverage: 85.143% (+0.004%) from 85.139%
26290999913

push

github

orneryd
 fix(config,nornicdb,docker): honour search-flag precedence end-to-end

  Config values for the four search-index master switches were not flowing
  through the startup path the way the contract claimed. Symptoms (lab
  build 80719f25): operator sets NORNICDB_SEARCH_BM25_ENABLED=false via
  env or --search-bm25-enabled=false via CLI; the container's process
  shows the flag, the Go config layer reads it; default-DB warmup logs
  "Building BM25 + vector indexes for database nornic (bm25=true vector=true)"
  anyway and runs the build.

  Three independent gaps caused this:

  1. cmd/nornicdb/runServe built a fresh nornicdb.DefaultConfig() and
     hand-copied a subset of cfg fields into it. The four Search* fields
     weren't in the copy block, so env+CLI values landed in cfg but never
     reached dbConfig. Replaced the copy block: dbConfig is now an alias
     of cfg, so any field on Config flows automatically. The original
     silent-drop class of bug can't repeat.

  2. nornicdb.Open warms search indexes in a background goroutine that
     raced server.New's SetDbSearchFlagsResolver. When the resolver was
     nil at warmup time, default-DB warmup fell through to global
     defaults instead of per-DB overrides. Added Config.DeferSearchWarmup
     + db.MarkSearchWarmupReady; pkg/server opts in and releases the
     gate AFTER installing the resolver. Embedded callers (scripts,
     tests) keep today's behaviour with no extra wiring.

  3. docker/entrypoint.sh translated env vars to CLI flags but didn't
     forward the four NORNICDB_SEARCH_* vars. Added passthrough lines
     so the flags appear in `ps` / container inspect. Production binary
     path made overridable via NORNICDB_BIN for testability.

  Precedence ladder, lowest → highest, now consistent across every
  configuration source:

    1. Built-in defaults (config.LoadDefaults).
    2. Global config (YAML memory.search_*, NORNICDB_SEARCH_* env).
    3. Per-DB overrides (YAML databases: ... (continued)

21 of 22 new or added lines in 3 files covered. (95.45%)

447 existing lines in 10 files now uncovered.

129613 of 152229 relevant lines covered (85.14%)

0.99 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
96.3
0.0% pkg/config/dbconfig/resolver.go

Coverage Regressions

Lines Coverage ∆ File
243
73.94
0.28% pkg/nornicdb/db.go
160
87.01
0.0% pkg/config/config.go
27
86.54
0.0% pkg/server/server.go
5
96.3
0.0% pkg/config/dbconfig/resolver.go
3
78.48
-1.35% pkg/storage/badger_schema.go
3
95.58
-1.2% pkg/storage/property_key_dictionary.go
2
81.15
-0.3% pkg/nornicdb/search_services.go
2
81.02
-1.46% pkg/storage/badger_mvcc_per_namespace.go
1
88.63
-0.07% pkg/mcp/server.go
1
85.01
-0.04% pkg/storage/async_engine.go
Jobs
ID Job ID Ran Files Coverage
1 26290999913.1 22 May 2026 01:55PM UTC 467
85.14
GitHub Action Run
Source Files on build 26290999913
  • Tree
  • List 467
  • Changed 13
  • Source Changed 0
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • d023fb39 on github
  • Prev Build on main (#26290860535)
  • Next Build on main (#26306529253)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc