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

nats-io / nats-server / 13513815732
77%

Build:
DEFAULT BRANCH: main
Ran 25 Feb 2025 05:48AM UTC
Jobs 1
Files 57
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

24 Feb 2025 07:33PM UTC coverage: 68.025% (-17.4%) from 85.444%
13513815732

push

github

web-flow
[FIXED] Preserve max delivered messages with Interest retention (#6575)

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

If a consumer reached max deliveries for a message, it should preserve
the redelivered state and allow inspecting its content. However, if a
new consumer would be created and consume this message as well, it would
still be removed under Interest retention.

This PR fixes that by using the redelivered state to keep marking
there's interest.

Only downside is that the redelivered state gets cleaned up after a
restart (this PR does not change/fix that). So if the consumer that had
a max delivery message keeps acknowledging messages and its
acknowledgement floor moves up, it would clean up the redelivered state
below this ack floor.

Honestly I feel like keeping messages around if max delivery is reached
makes the code very complex. It would be a lot cleaner if we'd only have
the acknowledgement floor, starting sequence, and pending messages
in-between, not also redelivered state that can be below ack floor. It's
not something we can change now I suppose, but I'd be in favor of having
messages automatically be removed once max delivery is reached and all
consumers have consumed the message. DLQ-style behavior would then be
more explicitly (and reliably) handled by the client, for example by
publishing into another stream and then TERM the message, instead of
relying on advisories that could be missed.

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

55031 of 80898 relevant lines covered (68.03%)

310123.27 hits per line

Coverage Regressions

Lines Coverage ∆ File
3490
1.53
-87.51% src/github.com/nats-io/nats-server/server/mqtt.go
949
71.34
-16.82% src/github.com/nats-io/nats-server/server/consumer.go
938
60.19
-20.63% src/github.com/nats-io/nats-server/server/opts.go
696
46.33
-41.88% src/github.com/nats-io/nats-server/server/reload.go
691
53.58
-19.74% src/github.com/nats-io/nats-server/server/jetstream_api.go
671
70.28
-14.18% src/github.com/nats-io/nats-server/server/stream.go
560
63.99
-20.64% src/github.com/nats-io/nats-server/server/monitor.go
530
52.04
-31.19% src/github.com/nats-io/nats-server/server/memstore.go
524
87.4
-7.84% src/github.com/nats-io/nats-server/server/client.go
521
47.63
-48.47% src/github.com/nats-io/nats-server/server/websocket.go
475
72.04
-14.26% src/github.com/nats-io/nats-server/server/accounts.go
454
77.74
-5.57% src/github.com/nats-io/nats-server/server/filestore.go
446
75.85
-5.88% src/github.com/nats-io/nats-server/server/jetstream_cluster.go
436
63.2
-19.61% src/github.com/nats-io/nats-server/server/jetstream.go
386
22.75
-30.49% src/github.com/nats-io/nats-server/server/jetstream_errors_generated.go
373
74.65
-15.81% src/github.com/nats-io/nats-server/server/leafnode.go
329
26.87
-63.15% src/github.com/nats-io/nats-server/server/msgtrace.go
328
84.19
-10.48% src/github.com/nats-io/nats-server/server/server.go
268
82.45
-10.99% src/github.com/nats-io/nats-server/server/route.go
236
67.77
-21.07% src/github.com/nats-io/nats-server/server/auth.go
199
46.48
-38.87% src/github.com/nats-io/nats-server/server/dirstore.go
161
79.75
-5.29% src/github.com/nats-io/nats-server/server/raft.go
147
54.69
-34.51% src/github.com/nats-io/nats-server/server/subject_transform.go
124
87.41
-10.01% src/github.com/nats-io/nats-server/server/sublist.go
114
0.0
-50.22% src/github.com/nats-io/nats-server/server/proto.go
107
80.87
-10.29% src/github.com/nats-io/nats-server/server/parser.go
98
9.56
-72.06% src/github.com/nats-io/nats-server/server/signal.go
51
46.88
-31.88% src/github.com/nats-io/nats-server/server/jwt.go
50
92.09
-2.06% src/github.com/nats-io/nats-server/server/gateway.go
42
6.67
-93.33% src/github.com/nats-io/nats-server/server/monitor_sort_opts.go
41
75.0
-20.1% src/github.com/nats-io/nats-server/server/util.go
37
84.42
-1.8% src/github.com/nats-io/nats-server/server/events.go
29
61.63
-16.86% src/github.com/nats-io/nats-server/server/log.go
17
69.23
-5.03% src/github.com/nats-io/nats-server/server/store.go
7
75.95
-8.86% src/github.com/nats-io/nats-server/server/errors.go
4
93.81
-4.12% src/github.com/nats-io/nats-server/server/jetstream_versioning.go
4
42.86
-57.14% src/github.com/nats-io/nats-server/server/service.go
1
97.87
-2.13% src/github.com/nats-io/nats-server/server/jetstream_errors.go
Jobs
ID Job ID Ran Files Coverage
1 13513815732.1 25 Feb 2025 05:48AM UTC 57
68.03
GitHub Action Run
Source Files on build 13513815732
  • Tree
  • List 57
  • Changed 51
  • Source Changed 2
  • Coverage Changed 39
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #13513815732
  • e938ac01 on github
  • Prev Build on main (#13490973811)
  • Next Build on main (#13536697685)
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