Skip to content

docs(archive): review state archive performance work - #53

Draft
bladehan1 wants to merge 161 commits into
developfrom
feature/archive_block2
Draft

docs(archive): review state archive performance work#53
bladehan1 wants to merge 161 commits into
developfrom
feature/archive_block2

Conversation

@bladehan1

@bladehan1 bladehan1 commented Sep 11, 2026

Copy link
Copy Markdown
Owner

What does this PR do?

Opens the current State Archive implementation and performance evidence for code-difference review only.

Why are these changes required?

The branch contains the current State Archive persistence, recovery, serving, ARM/AMD validation, and performance-tracking changes that need review before any merge decision.

This PR has been tested by:

  • Existing branch-level validation and recorded State Archive harness evidence
  • No new product change is introduced by opening this Draft PR

Follow up

Review only. Keep this PR in Draft; do not merge or enable auto-merge.

Extra details

This PR is intentionally created in the origin fork bladehan1/java-tron, not tronprotocol/java-tron. No upstream repository or runtime deployment is changed.


Summary by cubic

Review-only PR for the State Archive branch that stays in Draft and must not be merged. All archive persistence, recovery, serving, path-state root, historical VM execution, and performance work is default-off with no product change on the normal path.

State Archive Implementation

  • Adds bounded history body/index/commit structures, checkpoint WAL bindings, per-store file library partitioning, and the shared exact-27 serving generation.
  • Integrates default-off archive startup admission, native recovery, serving index publication, request-owned historical reads, and historical VM execution that rejects SELFDESTRUCT and CREATE/CREATE2.
  • Adds path-state root startup admission, rebuild, block transitions, reorg rewind, P66 activation migration, and non-consensus state root metadata.
  • Adds offline block replay and resumable HTTP export tools.

Performance Evidence

  • Documents HLT-002 ARM/AMD aligned 1k-block observations (AMD ~27.5% slower, higher IO PSI).
  • Records JDK17+RocksDB 9.7.4 candidate A/B results and restores explicit JDK8 control paths.
  • Adds layered trie deltas with in-memory transition preparation and owned snapshot heads, parallelized memory-bound rebuilds with progress reporting, and cross-store read avoidance with lazy migration.

Written for commit 46c99a0. Summary will update on new commits.

Review in cubic

bladehan1 added 30 commits July 17, 2026 14:54
Capture canonical block metadata and materialize reverse diffs from completed block snapshots. Classify archive state stores explicitly and project account-asset companion mutations before root merge.
Add deterministic history body and index records, ordered durable commit markers, and bounded asynchronous persistence.

Gate checkpoint advancement on committed archive history and cover crash, corruption, backpressure, and reorg behavior.
Persist reverse state history with bounded append-only body, index, and commit structures. Wire an opt-in archive writer into snapshot flush and add restart-safe account change indexing. Expose an experimental historical account balance endpoint for trace comparison.
Persist bounded restart checkpoints, truncation recovery, H/C/D/R progress authorities, and immutable serving generations. Pin committed history resources and fail closed on identity or durability drift.
Add durable engine identities and native LevelDB/RocksDB snapshot leases. Assemble exact Store generations under the SnapshotManager barrier and release partial acquisitions on authority drift.
Apply business mutations with participant progress in native sync batches. Freshly validate H/C/D authorities under the archive barrier and advance reader visibility only after exact convergence.
Unify LevelDB and RocksDB participants behind one recovery contract. Persist canonical mutation plans and bind checkpoint, participant, and reader progress to the same digest.
Collect exact ordinary and AccountAsset post-state without Store scans. Enforce target identity, bounded ownership, one-shot sealing, abort, and terminal payload release.
Drive an exact-27 capture batch through mixed native participants, inject a partial apply failure, and verify durable-plan replay, digest propagation, ownership, and restart convergence.
Apply two capture-produced targets through exact-27 participants. Verify per-target plan digests, overwrite and delete semantics, partial replay boundaries, reader publication, and restart convergence.
Prepare one target-bound Account and AccountAsset projection before snapshot merge, retain its forward payload through the revoking lifecycle, and seal it only against durable history markers.

Keep the integration default-off and preserve the existing proposal 66 physical layout.
Classify ABI as mutable auxiliary metadata outside the versioned state participant set while retaining an explicit tombstone classification.
Exercise proposal-bound projection, layer-to-flush ownership, durable marker sealing, retry and reorg boundaries, exact participant coverage, and ABI exclusion.
Expose durable marker receipt creation through direct and asynchronous history sinks, then gate forward payload sealing on the exact committed flush range.

Retain submitted frozen ranges across durability or receipt failures so retries do not resubmit history.
Verify direct and asynchronous receipt authority, disabled behavior, and retry ordering across durable wait and receipt failures without duplicate history submission.
@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@bladehan1
bladehan1 force-pushed the feature/archive_block2 branch from 49503ef to fd8d5cb Compare September 11, 2026 04:06
@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

Simplify common path state preparation and fail stop on required artifact errors. Append finalized history before checkpoint flush while retaining common publication authority.

Preserve published durability markers during startup recovery and retain frame locations instead of all history payloads to avoid archive reopen heap exhaustion.
@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

Reuse prepared encoded nodes when rebasing retained PathState snapshots and preserve root checks and native read accounting. Add finalized archive append timing and checkpoint continuation coverage.
@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

Expose explicit block-final stages with lightweight session commit. Sample account node reads, hash verification, decoding and native reads behind an opt-in flag, and export prepared-attempt metrics with bounded labels.
@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

@github-actions

Copy link
Copy Markdown

❌ Math Usage Detection Results

Found forbidden usage of java.lang.Math in the following files:

./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveFormatAdmissionValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveHistoryWriter.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveTargetMutationPlanCodec.java
./chainbase/src/main/java/org/tron/core/db2/archive/ArchiveWalStartupValidator.java
./chainbase/src/main/java/org/tron/core/db2/archive/BlockReverseDiff.java
./chainbase/src/main/java/org/tron/core/db2/archive/HistoricalAccountAssetPrefixResolver.java
./chainbase/src/main/java/org/tron/core/db2/archive/PersistentServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/ServingKeyIndexGeneration.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneDurabilityProofV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveFiveLaneSegmentWriterV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHistoryCatalogV3.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveHotStore.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveRuntimeOwner.java
./chainbase/src/main/java/org/tron/core/db2/archive/StateArchiveServingWorkerV3.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointPayload.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRedoCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/core/CommonCheckpointRuntime.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathMerkleTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateBlockTransition.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCatchUpQueue.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateCommitmentCodec.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateFlushTarget.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateLayerLimits.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeNodeStore.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSource.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateNodeStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOverlayHead.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalStoreSet.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRebuildCoordinator.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateRoot.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateSnapshotDelta.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStackTrie.java
./chainbase/src/main/java/org/tron/core/db2/stateroot/PathStateStoreTrieBuilder.java
./framework/src/main/java/org/tron/core/db2/stateroot/PathStatePhysicalOracle.java
./framework/src/main/java/org/tron/program/BlockReplay.java
./framework/src/main/java/org/tron/program/HttpBlockExport.java
./framework/src/test/java/org/tron/core/db2/archive/PersistentServingKeyIndexGenerationTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeNodeStoreTest.java
./framework/src/test/java/org/tron/core/db2/stateroot/PathStateNativeSnapshotSourceTest.java

Please review if this usage is intended.

Caution

Note: You should use org.tron.common.math.StrictMathWrapper.
If you need to use java.lang.Math, please provide a justification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant