[
https://issues.apache.org/jira/browse/HDDS-4560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Glen Geng updated HDDS-4560:
----------------------------
Description:
Add ReadWriteLock into PipelineStateMap to protect contentions between
RaftServer and PipelineManager.
If current leader SCM (as leader of term N) steps down while there are on-going
transactions, there might be read/write contentions that new leader SCM (as
leader of term N+1) has replicated some raft log entries encapsulating method
addPipeline/removePipeline/updatePipelineState to underlying RaftServer that
are being applied by StateMachineUpdater, and at the same time PipelineManager
is calling getPipelines.
was:
Add ReadWriteLock into PipelineStateMap to protect contentions between
RaftServer and PipelineManager.
If current leader SCM (as leader of term N) step-down while there are on-going
transactions, there might be read/write contentions that new leader SCM (as
leader of term N+1) is replicating raft log entries encapsulating method
addPipeline/removePipeline/updatePipelineState to underlying RaftServer which
will be applied by StateMachineUpdater, and at the same time PipelineManager is
calling getPipelines.
> Add ReadWriteLock into PipelineStateMap to protect contentions between
> RaftServer and PipelineManager
> -----------------------------------------------------------------------------------------------------
>
> Key: HDDS-4560
> URL: https://issues.apache.org/jira/browse/HDDS-4560
> Project: Hadoop Distributed Data Store
> Issue Type: Sub-task
> Components: SCM HA
> Affects Versions: 1.1.0
> Reporter: Glen Geng
> Assignee: Glen Geng
> Priority: Major
>
> Add ReadWriteLock into PipelineStateMap to protect contentions between
> RaftServer and PipelineManager.
> If current leader SCM (as leader of term N) steps down while there are
> on-going transactions, there might be read/write contentions that new leader
> SCM (as leader of term N+1) has replicated some raft log entries
> encapsulating method addPipeline/removePipeline/updatePipelineState to
> underlying RaftServer that are being applied by StateMachineUpdater, and at
> the same time PipelineManager is calling getPipelines.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]