feat: increase max number of topics from 1,000,000 to 2,000,000 - #26956
Open
akdev wants to merge 3 commits into
Open
feat: increase max number of topics from 1,000,000 to 2,000,000#26956akdev wants to merge 3 commits into
akdev wants to merge 3 commits into
Conversation
Raises the default topics.maxNumber config property to allow more HCS topics to be created on the network. Closes #26955 Signed-off-by: Akram AbouEmara <508522+akdev@users.noreply.github.com>
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
joshmarinacci
previously approved these changes
Aug 24, 2026
…iling Adds unit coverage in UtilizationScaledThrottleMultiplierTest for the real 2,000,000 topics.maxNumber default (below-threshold and tier-crossing cases), and a new HAPI test, topicPriceScalesWithUtilization, modeled on the existing NFT congestion-pricing check, confirming CONSENSUS_CREATE_TOPIC fees scale with topic utilization end-to-end. Signed-off-by: Akram AbouEmara <508522+akdev@users.noreply.github.com>
swirlds-automation
dismissed
joshmarinacci’s stale review
August 24, 2026 22:03
2 file(s) changed in commit 513d65e
Wraps each annotated record component onto its own line to satisfy the CI-pinned spotless/palantir-java-format output, which a local cached task result had been masking. Signed-off-by: Akram AbouEmara <508522+akdev@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #26956 +/- ##
=========================================
Coverage 70.50% 70.50%
- Complexity 11692 11693 +1
=========================================
Files 2586 2586
Lines 108484 108484
Branches 12145 12145
=========================================
+ Hits 76490 76492 +2
+ Misses 28014 28012 -2
Partials 3980 3980
... and 1 file with indirect coverage changes 🚀 New features to boost your workflow:
|
✅ All tests passed ✅🏷️ Commit: b02bd3b Learn more about TestLens at testlens.app/docs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
topics.maxNumberconfig property inTopicsConfig.javafrom1,000,000to2,000,000to allow more HCS topics to be created on the network.UtilizationScaledThrottleMultiplierTestexercising the real2,000,000default (below first tier, and crossing tiers), and a new HAPI testUtilScalePricingCheck#topicPriceScalesWithUtilizationconfirmingCONSENSUS_CREATE_TOPICfees scale with topic utilization end-to-end (modeled on the existing NFT congestion-pricing check).Closes #26955
Test plan
ConsensusCreateTopicHandlerTestpasses (parametrizes the limit rather than hardcoding it)UtilizationScaledThrottleMultiplier) behaves correctly at the new ceiling — covered by new unit test cases andUtilScalePricingCheck#topicPriceScalesWithUtilization(./gradlew hapiTestMiscEmbedded testEmbedded --tests "*UtilScalePricingCheck*", 2 passing)0.0.121) is also needed to raise the limit on already-running networks, sincemaxNumberis a@NetworkProperty