|
7 | 7 | import java.util.LinkedList; |
8 | 8 | import java.util.List; |
9 | 9 | import java.util.stream.Collectors; |
10 | | -import java.util.stream.LongStream; |
11 | 10 | import lombok.extern.slf4j.Slf4j; |
12 | 11 | import org.tron.common.overlay.message.Message; |
13 | 12 | import org.tron.common.utils.Sha256Hash; |
@@ -131,9 +130,19 @@ public LinkedList<BlockId> getLostBlockIds(List<BlockId> blockChainSummary) |
131 | 130 | long unForkedBlockIdNum = unForkedBlockId.getNum(); |
132 | 131 | long len = Longs |
133 | 132 | .min(dbManager.getHeadBlockNum(), unForkedBlockIdNum + NodeConstant.SYNC_FETCH_BATCH_NUM); |
134 | | - return LongStream.rangeClosed(unForkedBlockIdNum, len) |
135 | | - .mapToObj(num -> dbManager.getBlockIdByNum(num)) |
136 | | - .collect(Collectors.toCollection(LinkedList::new)); |
| 133 | + |
| 134 | + LinkedList<BlockId> blockIds = new LinkedList<>(); |
| 135 | + for (long i = unForkedBlockIdNum; i <= len; i++) { |
| 136 | + try { |
| 137 | + BlockId id = dbManager.getBlockIdByNum(i); |
| 138 | + blockIds.add(id); |
| 139 | + } catch (BadItemException e) { |
| 140 | + return new LinkedList<>(); |
| 141 | + } catch (ItemNotFoundException e) { |
| 142 | + return new LinkedList<>(); |
| 143 | + } |
| 144 | + } |
| 145 | + return blockIds; |
137 | 146 | } |
138 | 147 |
|
139 | 148 | @Override |
@@ -168,7 +177,13 @@ public Deque<BlockId> getBlockChainSummary(BlockId beginBLockId, Deque<BlockId> |
168 | 177 | long realHighBlkNum = highBlkNum + blockIds.size(); |
169 | 178 | do { |
170 | 179 | if (lowBlkNum <= highNoForkBlkNum) { |
171 | | - retSummary.offer(dbManager.getBlockIdByNum(lowBlkNum)); |
| 180 | + try { |
| 181 | + retSummary.offer(dbManager.getBlockIdByNum(lowBlkNum)); |
| 182 | + } catch (BadItemException e) { |
| 183 | + logger.info(e.getMessage()); |
| 184 | + } catch (ItemNotFoundException e) { |
| 185 | + logger.info(e.getMessage()); |
| 186 | + } |
172 | 187 | } else if (lowBlkNum <= highBlkNum) { |
173 | 188 | retSummary.offer(forkList.get((int) (lowBlkNum - highNoForkBlkNum - 1))); |
174 | 189 | } else { |
|
0 commit comments