[
https://issues.apache.org/jira/browse/HDDS-13960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Swaminathan Balachandran updated HDDS-13960:
--------------------------------------------
Description:
The current leveled resource implementation is not ideal for having an
implementation since it only works on mask which can mean that only one
resource can be there at one level. However for more complex locking levels
this is not sufficient. Proposal here is to convert FlatResource into
DAGLeveledResource with which one can enforce more complex ordering to ensure
lock ordering.
This would be useful for ensuring SNAPSHOT_DB_CONTENT_LOCK is always acquired
before SNAPSHOT_DB_HANDLE_LOCK. This is to avoid any sort of deadlock later on.
The same implementation can be also extended to bootstrap lock.
Bootstrap code can acquire a complete resource stripe lock making the design
extensible as well.
was:
The current leveled resource implementation is not ideal for having an
implementation since it only works on mask which can mean that only one
resource can be there at one level. However for more complex locking levels
this is not sufficient. Proposal here is to convert FlatResource into
DAGLeveledResource with which one can enforce more complex ordering to ensure
lock ordering.
This would be useful for ensuring SNAPSHOT_DB_CONTENT_LOCK is always acquired
before SNAPSHOT_DB_HANDLE_LOCK. This is to avoid any sort of deadlock later on.
The same implementation can be also extended to bootstrap lock.
> Convert FlatResource Lock into DAG based lock ordering for the snapshot lock
> ----------------------------------------------------------------------------
>
> Key: HDDS-13960
> URL: https://issues.apache.org/jira/browse/HDDS-13960
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Swaminathan Balachandran
> Assignee: Swaminathan Balachandran
> Priority: Major
> Labels: pull-request-available
>
> The current leveled resource implementation is not ideal for having an
> implementation since it only works on mask which can mean that only one
> resource can be there at one level. However for more complex locking levels
> this is not sufficient. Proposal here is to convert FlatResource into
> DAGLeveledResource with which one can enforce more complex ordering to ensure
> lock ordering.
> This would be useful for ensuring SNAPSHOT_DB_CONTENT_LOCK is always acquired
> before SNAPSHOT_DB_HANDLE_LOCK. This is to avoid any sort of deadlock later
> on. The same implementation can be also extended to bootstrap lock.
> Bootstrap code can acquire a complete resource stripe lock making the design
> extensible as well.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]