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

nats-io / nats-server / 17339499407
78%

Build:
DEFAULT BRANCH: main
Ran 30 Aug 2025 05:45AM UTC
Jobs 1
Files 60
Run time 1min
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

29 Aug 2025 05:47PM UTC coverage: 86.039% (-0.02%) from 86.062%
17339499407

push

github

web-flow
(2.12) Atomic batch: support isolated reads (#7175)

To achieve isolated reads we now keep holding the `mset.mu`/stream lock
while writing as well as when doing reads. This ensures a batch writing
N messages will be atomically observed by any reads, instead of them
observing only part of the batch.

This PR also resolves an issue with rollups as the `mset.mu` lock was
previously unlocked and re-acquired in `processJetStreamMsg`. This
allowed for an inconsistent/non-isolated read when rollups are used,
where the new message could be observed but the rollup was not applied
yet. This would probably be less of an obvious issue than reading only
part of a batch with the new atomic batch support though.

This PR also resolves off-by-one inconsistencies in the num pending
count that was returned as part of direct batch get and direct multi
get. The num pending that's reported using those reads now matches
exactly what would have been reported if a consumer was used instead.

Resolves https://github.com/nats-io/nats-server/issues/7128

Signed-off-by: Maurice van Veen <github@mauricevanveen.com>

73981 of 85985 relevant lines covered (86.04%)

335785.76 hits per line

Coverage Regressions

Lines Coverage ∆ File
833
82.02
-0.67% src/github.com/nats-io/nats-server/server/jetstream_cluster.go
563
85.78
0.33% src/github.com/nats-io/nats-server/server/stream.go
313
72.81
-0.21% src/github.com/nats-io/nats-server/server/jetstream_api.go
270
81.8
0.11% src/github.com/nats-io/nats-server/server/opts.go
206
87.09
0.01% src/github.com/nats-io/nats-server/server/monitor.go
149
94.89
-0.09% src/github.com/nats-io/nats-server/server/client.go
111
88.25
0.1% src/github.com/nats-io/nats-server/server/consumer.go
103
94.4
0.04% src/github.com/nats-io/nats-server/server/server.go
76
87.06
0.7% src/github.com/nats-io/nats-server/server/raft.go
7
54.44
-0.48% src/github.com/nats-io/nats-server/server/jetstream_errors_generated.go
4
95.72
-0.37% src/github.com/nats-io/nats-server/server/websocket.go
3
91.1
0.04% src/github.com/nats-io/nats-server/server/leafnode.go
2
86.32
-0.09% src/github.com/nats-io/nats-server/server/events.go
2
84.56
-0.01% src/github.com/nats-io/nats-server/server/filestore.go
2
97.11
-0.16% src/github.com/nats-io/nats-server/server/sublist.go
1
86.48
-0.05% src/github.com/nats-io/nats-server/server/memstore.go
Jobs
ID Job ID Ran Files Coverage
1 17339499407.1 30 Aug 2025 05:45AM UTC 60
86.04
GitHub Action Run
Source Files on build 17339499407
  • Tree
  • List 60
  • Changed 19
  • Source Changed 10
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17339499407
  • fd0ff37f on github
  • Prev Build on main (#17314866352)
  • Next Build on main (#17352638551)
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