25
25
import org .tron .core .config .DefaultConfig ;
26
26
import org .tron .core .config .args .Args ;
27
27
import org .tron .core .db .Manager ;
28
- import org .tron .core .net .message .BlockMessage ;
29
28
import org .tron .core .services .RpcApiService ;
30
29
import org .tron .core .services .http .solidity .SolidityNodeHttpApiService ;
31
30
import org .tron .protos .Protocol .Block ;
@@ -51,7 +50,7 @@ public class SolidityNode {
51
50
52
51
private AtomicLong lastSolidityBlockNum = new AtomicLong ();
53
52
54
- private long startTime = System . currentTimeMillis () ;
53
+ private int maxBlockCacheSize = 10_000 ;
55
54
56
55
private volatile boolean syncFlag = true ;
57
56
@@ -89,7 +88,7 @@ private void getSyncBlock() {
89
88
long blockNum = getNextSyncBlockId ();
90
89
while (blockNum != 0 ) {
91
90
try {
92
- if (blockMap .size () > 10000 ) {
91
+ if (blockMap .size () > maxBlockCacheSize ) {
93
92
sleep (1000 );
94
93
continue ;
95
94
}
@@ -137,7 +136,7 @@ private void getAdvBlock() {
137
136
long blockNum = ID .incrementAndGet ();
138
137
while (flag ) {
139
138
try {
140
- if (blockNum > remoteLastSolidityBlockNum .get ()) {
139
+ if (blockNum > remoteLastSolidityBlockNum .get () || blockMap . size () > maxBlockCacheSize ) {
141
140
sleep (3000 );
142
141
remoteLastSolidityBlockNum .set (getLastSolidityBlockNum ());
143
142
continue ;
@@ -200,12 +199,11 @@ private void processBlock() {
200
199
loopProcessBlock (block );
201
200
blockBakQueue .put (block );
202
201
logger .info (
203
- "Success to process block: {}, blockMapSize: {}, blockQueueSize: {}, blockBakQueue: {}, cost {} ." ,
202
+ "Success to process block: {}, blockMapSize: {}, blockQueueSize: {}, blockBakQueue: {}." ,
204
203
block .getBlockHeader ().getRawData ().getNumber (),
205
204
blockMap .size (),
206
205
blockQueue .size (),
207
- blockBakQueue .size (),
208
- (System .currentTimeMillis () - startTime ));
206
+ blockBakQueue .size ());
209
207
} catch (Exception e ) {
210
208
logger .error (e .getMessage ());
211
209
sleep (100 );
0 commit comments