[jira] [Commented] (RATIS-883) Failed UT: testStateMachineMetrics.checkFollowerCommitLagsLeader

2020-04-27 Thread runzhiwang (Jira)


[ 
https://issues.apache.org/jira/browse/RATIS-883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17093129#comment-17093129
 ] 

runzhiwang commented on RATIS-883:
--

https://github.com/apache/incubator-ratis/pull/64

> Failed UT: testStateMachineMetrics.checkFollowerCommitLagsLeader
> 
>
> Key: RATIS-883
> URL: https://issues.apache.org/jira/browse/RATIS-883
> Project: Ratis
>  Issue Type: Sub-task
>Reporter: runzhiwang
>Assignee: runzhiwang
>Priority: Major
> Attachments: screenshot-1.png
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *What's the problem ?*
>  !screenshot-1.png! 
> *What's the reason ?*
> The reason is follower update commitInfoCache after leader.
> The stack of follower update commitInfoCache is: 
> RaftServerImpl::appendEntriesAsync
> -> state.updateStateMachine 
> -> StateMachineUpdater::applyLog 
> -> RaftServerImpl::applyLogToStateMachine
> -> RaftServerImpl::replyPendingRequest 
> -> RaftServerImpl::getCommitInfos 
> -> infos.add(commitInfoCache.update(getPeer(), 
> state.getLog().getLastCommittedIndex())) 
> -> CommitInfoCache::update.
> The stack of leader update commitInfoCache is: 
> follower finish RaftServerImpl::appendEntriesAsync and return reply
> -> GrpcLogAppender::runAppenderImpl 
> -> GrpcLogAppender::appendLog 
> ->LogAppender::createRequest 
> ->LeaderState::newAppendEntriesRequestProto 
> ->RaftServerImpl::getCommitInfos 
> ->LeaderState::updateFollowerCommitInfos
> ->CommitInfoCache::update.
> Because follower need to notify thread StateMachineUpdater to update 
> CommitInfoCache, we can not ensure follower update CommitInfoCache before 
> leader.
> *How to fix ?*
> Follower update CommitInfoCache before return reply to leader.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (RATIS-883) Failed UT: testStateMachineMetrics.checkFollowerCommitLagsLeader

2020-04-25 Thread runzhiwang (Jira)


[ 
https://issues.apache.org/jira/browse/RATIS-883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17092523#comment-17092523
 ] 

runzhiwang commented on RATIS-883:
--

[~shashikant] Could you help review this patch ? Thank you very much.

> Failed UT: testStateMachineMetrics.checkFollowerCommitLagsLeader
> 
>
> Key: RATIS-883
> URL: https://issues.apache.org/jira/browse/RATIS-883
> Project: Ratis
>  Issue Type: Bug
>Reporter: runzhiwang
>Assignee: runzhiwang
>Priority: Major
> Attachments: RATIS-883.001.patch, screenshot-1.png
>
>
> *What's the problem ?*
>  !screenshot-1.png! 
> *What's the reason ?*
> The reason is follower update commitInfoCache after leader.
> The stack of follower update commitInfoCache is: 
> RaftServerImpl::appendEntriesAsync
> -> state.updateStateMachine 
> -> StateMachineUpdater::applyLog 
> -> RaftServerImpl::applyLogToStateMachine
> -> RaftServerImpl::replyPendingRequest 
> -> RaftServerImpl::getCommitInfos 
> -> infos.add(commitInfoCache.update(getPeer(), 
> state.getLog().getLastCommittedIndex())) 
> -> CommitInfoCache::update.
> The stack of leader update commitInfoCache is: 
> follower finish RaftServerImpl::appendEntriesAsync and return reply
> -> GrpcLogAppender::runAppenderImpl 
> -> GrpcLogAppender::appendLog 
> ->LogAppender::createRequest 
> ->LeaderState::newAppendEntriesRequestProto 
> ->RaftServerImpl::getCommitInfos 
> ->LeaderState::updateFollowerCommitInfos
> ->CommitInfoCache::update.
> Because follower need to notify thread StateMachineUpdater to update 
> CommitInfoCache, we can not ensure follower update CommitInfoCache before 
> leader.
> *How to fix ?*
> Follower update CommitInfoCache before return reply to leader.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)