-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
异常挂起后手工解挂2次,channel pipeline状态都显示正常,但实际上channel已经假死不同步 #638
Comments
@agapple ExtractMemoryArbitrateEvent中channel状态已经变成了PAUSE, 会直接丢掉数据不进行任何处理,回滚EventStore里面的读位点是不是被遗漏了?
|
|
#638 异常挂起后手工解挂2次,channel pipeline状态都显示正常,但实际上channel已经假死不同步。processId…
移除掉processId还是有问题,一是select stage信号量会丢掉1个,二是eventStore里面的get值没有回置。 测试发现把pipeline里面的并发度改成1,卡死的问题会稳定出现。
@agapple 看看有没有问题,如果没有问题,我再重现pull request下。 |
我也出现这个问题了... |
alibaba#638 异常挂起后手工解挂2次,channel pipeline状态都显示正常,但实际上channel已经假死不同步。processId…
node在insert 时出现异常触发manager挂起,不处理这个异常,紧接着直接在manager界面上面点击解挂,2次这样操作后channel 状态显示正常,但实际上channel已经假死不工作。
出现异常rollback,触发SelectTask.java里面
if (rversion.get() != startVersion) {// 说明存在过变化,中间出现过rollback,需要丢弃该数据 logger.warn("rollback happend , should skip this data and get new message."); canStartSelector.get();// 确认一下rollback是否完成 gotMessage = otterSelector.selector();// 这时不管有没有数据,都需要执行一次s/e/t/l }
,同时rollback会发送错误给manager,更改channel状态为PAUSE。如果在ExtractMemoryArbitrateEvent中channel状态已经变成了PAUSE, 会直接丢掉数据不进行任何处理,EventStore里面的读取位置点没有被rollback.
The text was updated successfully, but these errors were encountered: