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

nats-io / nats-server / 12079128551
83%

Build:
DEFAULT BRANCH: main
Ran 29 Nov 2024 05:43AM 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

28 Nov 2024 06:42PM UTC coverage: 85.273% (-0.3%) from 85.532%
12079128551

push

github

web-flow
Refactor duplicate `Nats-Msg-Id` tracking (#6174)

The current duplicate tracking has a couple of problems, namely that the
`ddmap` capacity is potentially never reclaimed if it grows suddenly,
and secondly that we have to constantly monitor `ddarr`'s capacity and
copy it to stop the array from growing infinitely too.

This PR makes the following changes:

- `ddmap` is now using the stree, which means there is efficient
in-place deduplication of message IDs and no infinitely growing backing
capacity;
- `ddarr` and `ddindex` are now gone, replaced with linked-list
references and `ddnext` and `ddlast` tracking, so we also don't need to
watch the capacity and reallocate this either;
- `ddtmr` is now only scheduled when there is actually something to do.

Also added a unit test to prove the behaviour as well as the linked-list
stitching.

Signed-off-by: Neil Twigg <neil@nats.io>

68076 of 79833 relevant lines covered (85.27%)

1084371.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 12079128551.1 29 Nov 2024 05:43AM UTC 0
85.27
GitHub Action Run
Source Files on build 12079128551
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #12079128551
  • ed492149 on github
  • Prev Build on main (#12062663220)
  • Next Build on main (#12093624795)
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