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

Hyshmily / Zeta / 29380198503
86%

Build:
DEFAULT BRANCH: master
Ran 15 Jul 2026 12:54AM UTC
Jobs 2
Files 114
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

15 Jul 2026 12:52AM UTC coverage: 86.052% (-0.3%) from 86.358%
29380198503

push

github

Hyshmily
feat: add cache-key.strip-query config and refine WorkerConfigNegotiator code

The local cache used raw URLs as keys, so two calls with the same business resource but different query parameters (e.g., `?region=us` vs `?region=eu`) would be stored as separate Caffeine entries. This fragmentation diluted the HeavyKeeper hot-key detection because the same underlying data was spread across many entries, each seeing a low access frequency. The problem grew worse as the number of distinct query-parameter combinations increased, often causing the cache to hold numerous near-duplicates while the hot-key mechanism failed to promote any of them.

To solve this, a new boolean configuration `zeta.local.cache-key.strip-query` was introduced (default `false`). When enabled, the cache key is stripped of its query string (`?key=val`) before any cache lookup or insertion, so all variants of the same resource coalesce into a single Caffeine entry. The stripping logic is omitted when the flag is disabled, incurring zero overhead for users who do not need it. The implementation adds a simple `lastIndexOf('?')` check and substring, which is O(length of key) in the worst case but typically negligible compared to the hashing and cache operation themselves. By consolidating entries, the HeavyKeeper frequency sketches now see the true access rate of the business data, improving hot-key promotion accuracy.

Alongside the feature, the code in `WorkerConfigNegotiator.java` had its import statements reordered to follow the project convention (third-party imports before standard Java imports) and an empty Javadoc comment left over from an earlier refactoring was removed. These changes carry no behavioural difference but improve readability and maintain consistency with the rest of the codebase.

Signed-off-by: Hyshmily <cxm8607@outlook.com>

1490 of 1854 branches covered (80.37%)

Branch coverage included in aggregate %.

4124 of 4670 relevant lines covered (88.31%)

4.18 hits per line

Coverage Regressions

Lines Coverage ∆ File
127
65.67
0.45% common/src/main/java/io/github/hyshmily/zeta/cache/HotKeyCache.java
30
86.51
-3.61% common/src/main/java/io/github/hyshmily/zeta/hotkeydetector/heavykeeper/HeavyKeeper.java
10
84.48
-4.41% common/src/main/java/io/github/hyshmily/zeta/sync/distributedlock/impl/RedisLockProvider.java
Jobs
ID Job ID Ran Files Coverage
1 worker - 29380198503.1 15 Jul 2026 12:54AM UTC 13
93.32
GitHub Action Run
2 common - 29380198503.2 15 Jul 2026 12:54AM UTC 101
85.32
GitHub Action Run
Source Files on build 29380198503
  • Tree
  • List 114
  • Changed 6
  • Source Changed 6
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29380198503
  • d2fdba50 on github
  • Prev Build on master (#29313651503)
  • Delete
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