mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
always check whether ringbuffer has an exception in event processor (#2053)
This commit is contained in:
@@ -190,17 +190,17 @@ public class MysqlMultiStageCoprocessor extends AbstractCanalLifeCycle implement
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 由于改为processor仅终止自身stage而不是stop,那么需要由incident标识coprocessor是否正常工作。
|
|
||||||
* 让dump线程能够及时感知
|
|
||||||
*/
|
|
||||||
if (exception != null) {
|
|
||||||
throw exception;
|
|
||||||
}
|
|
||||||
boolean interupted = false;
|
boolean interupted = false;
|
||||||
long blockingStart = 0L;
|
long blockingStart = 0L;
|
||||||
int fullTimes = 0;
|
int fullTimes = 0;
|
||||||
do {
|
do {
|
||||||
|
/**
|
||||||
|
* 由于改为processor仅终止自身stage而不是stop,那么需要由incident标识coprocessor是否正常工作。
|
||||||
|
* 让dump线程能够及时感知
|
||||||
|
*/
|
||||||
|
if (exception != null) {
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
long next = disruptorMsgBuffer.tryNext();
|
long next = disruptorMsgBuffer.tryNext();
|
||||||
MessageEvent data = disruptorMsgBuffer.get(next);
|
MessageEvent data = disruptorMsgBuffer.get(next);
|
||||||
|
|||||||
Reference in New Issue
Block a user