Repository navigation
Conversation
Remove unused queue inspection and mutation methods, and mark the remaining stream accessor as test-only. Drop unreachable offer failure handling for the unbounded queue.
0xbigapple
requested review from
317787106,
bladehan1 and
waynercheung
and removed request for
317787106 and
xxo1shine
September 22, 2026 08:01
317787106
reviewed
Sep 23, 2026
bladehan1
reviewed
Oct 8, 2026
317787106
approved these changes
Oct 8, 2026
Little-Peony
added a commit
to Little-Peony/java-tron
that referenced
this pull request
Oct 9, 2026
* release_v4.8.3: refactor(framework): decouple Manager from TronJsonRpcImpl (tronprotocol#6990) refactor(api): replace response copy wrappers with Jetty content count (tronprotocol#6982) update a new version. version name:GreatVoyage-v4.8.2.2-1-gf3e81404fe,version code:18830 (tronprotocol#7008) feat: improve node stability and execution efficiency (tronprotocol#7007) chore(p2p): internalize libp2p v2.2.9 as a local `p2p` module (tronprotocol#6992) refactor(vm): remove unreachable trace compression path (tronprotocol#6997) fix(test): isolate cross-test state leaks and stabilize flaky suites (tronprotocol#6974) refactor(config): improve startup errors and remove inactive assertions (tronprotocol#6960) ci: optimize pull request checks (tronprotocol#6938) fix(config): remove inactive RocksDB options (tronprotocol#6944) # Conflicts: # framework/src/main/java/org/tron/core/services/http/servlets/CreateShieldedTransactionWithoutSpendAuthSigServlet.java
7 of 8 tasks
Little-Peony
added a commit
to Little-Peony/java-tron
that referenced
this pull request
Oct 12, 2026
* release_v4.8.3: feat(framework): remove --keystore-factory support from FullNode (tronprotocol#6978) refactor(proto): remove unused proto discover definition (tronprotocol#7014) fix(config): close resource streams (tronprotocol#7002) refactor(crypto): remove unused SM2 and SM3 (tronprotocol#6999) feat(plugins): backfill section bloom (tronprotocol#6973) refactor(api): remove dead WalletExtension gRPC service and config (tronprotocol#6975) refactor(framework): decouple Manager from TronJsonRpcImpl (tronprotocol#6990) refactor(api): replace response copy wrappers with Jetty content count (tronprotocol#6982) update a new version. version name:GreatVoyage-v4.8.2.2-1-gf3e81404fe,version code:18830 (tronprotocol#7008) feat: improve node stability and execution efficiency (tronprotocol#7007)
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.
What does this PR do?
close #6963
Removes the
Manager → TronJsonRpcImplreverse dependency left by #6732, where core-layerManagerholds the json-rpc filter consumer through a@Lazyinjection.FilterCapsuleQueuebean;Manager.postBlockFilter/postLogsFilterproduce into it, so Manager no longer references anything underorg.tron.core.services.jsonrpc(repo-wideframework/src/mainis now@Lazy-free).TronJsonRpcImpl: started by@PostConstructwhenisJsonRpcFilterEnabled(), single daemon thread, stopped byclose(). The consumer now runs on a daemon thread (the oldManagerloop was non-daemon).TronJsonRpcImplconstructor becomes(NodeInfoService, Wallet, Manager);setManager()is removed and the direct-construction test sites are migrated.close()is rewritten: anAtomicBooleanguard makes it idempotent and serves as a visibility-safe stop flag, the loop exits on interrupt, and the consumer is awaited beforelogsFilterPoolshuts down so an in-flight capsule completes on graceful shutdown. If the closing thread is interrupted,close()still waits up to 2 seconds, uninterruptibly, for the consumer before shutting down the pool.ApplicationImpl.shutdown()now closes the consumer after producers stop and beforedbManager.close(); the later Spring-destructionclose()is a no-op.instanceofdispatch logs a warning for unknownFilterTriggerCapsulesubtypes instead of silently dropping them.Runtime behavior of the filter API is unchanged: same unbounded queue, same discard-on-shutdown semantics, one consumer shared by the FullNode/solidity/PBFT json-rpc services.
Why are these changes required?
Follow-up agreed in the #6732 review (see discussion).
FullNodesetsallowCircularReferences(false);@Lazy, likeObjectProvideror a runtimegetBean(), only makes Spring tolerate the cycle. The reverse core → API edge stays, obscuring the component graph, and later json-rpc cleanups keep copying the pattern. This PR removes the edge instead.This PR has been tested by:
eth_getFilterChangesdelivers; SIGTERM log order confirms consumer →logs-filter-pool→dbManager→ context close, single shutdown episode, no errorsfilter not foundafter restart; noRejectedExecutionException, no bean-cycle errors, shutdown order identical in every cycleFollow up
Extra details