Add try catch

This commit is contained in:
nowinkey
2023-02-14 13:50:47 +08:00
committed by Zhouxiang Zhan
parent 04b8400eb9
commit 65e3d1e4c0
@@ -2855,20 +2855,24 @@ public class DefaultMessageStore implements MessageStore {
if (!batchDispatchRequestQueue.isEmpty()) {
BatchDispatchRequest task = batchDispatchRequestQueue.peek();
batchDispatchRequestExecutor.execute(() -> {
ByteBuffer tmpByteBuffer = task.byteBuffer.duplicate();
tmpByteBuffer.position(task.position);
tmpByteBuffer.limit(task.position + task.size);
List<DispatchRequest> dispatchRequestList = new ArrayList<>();
while (tmpByteBuffer.hasRemaining()) {
DispatchRequest dispatchRequest = DefaultMessageStore.this.commitLog.checkMessageAndReturnSize(tmpByteBuffer, false, false, false);
if (dispatchRequest.isSuccess()) {
dispatchRequestList.add(dispatchRequest);
} else {
LOGGER.error("[BUG]read total count not equals msg total size.");
try {
ByteBuffer tmpByteBuffer = task.byteBuffer.duplicate();
tmpByteBuffer.position(task.position);
tmpByteBuffer.limit(task.position + task.size);
List<DispatchRequest> dispatchRequestList = new ArrayList<>();
while (tmpByteBuffer.hasRemaining()) {
DispatchRequest dispatchRequest = DefaultMessageStore.this.commitLog.checkMessageAndReturnSize(tmpByteBuffer, false, false, false);
if (dispatchRequest.isSuccess()) {
dispatchRequestList.add(dispatchRequest);
} else {
LOGGER.error("[BUG]read total count not equals msg total size.");
}
}
dispatchRequestOrderlyQueue.put(task.id, dispatchRequestList.toArray(new DispatchRequest[dispatchRequestList.size()]));
mappedPageHoldCount.getAndDecrement();
} catch (Exception e) {
LOGGER.error("There is an exception in task execution.", e);
}
dispatchRequestOrderlyQueue.put(task.id, dispatchRequestList.toArray(new DispatchRequest[dispatchRequestList.size()]));
mappedPageHoldCount.getAndDecrement();
});
batchDispatchRequestQueue.poll();
}