[
https://issues.apache.org/jira/browse/HDDS-1624?focusedWorklogId=253817&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-253817
]
ASF GitHub Bot logged work on HDDS-1624:
----------------------------------------
Author: ASF GitHub Bot
Created on: 04/Jun/19 15:37
Start Date: 04/Jun/19 15:37
Worklog Time Spent: 10m
Work Description: bharatviswa504 commented on pull request #882:
HDDS-1624 : Refactor operations inside the bucket lock in OM key write.
URL: https://github.com/apache/hadoop/pull/882#discussion_r290362757
##########
File path:
hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/TypedTable.java
##########
@@ -79,6 +79,12 @@ public boolean isEmpty() throws IOException {
return rawTable.isEmpty();
}
+ @Override
+ public boolean isExist(KEY key) throws IOException {
+ return cache.get(new CacheKey<>(key)) != null ||
Review comment:
yes, think of a case like where flush to om DB has not happened, it is only
in the cache. so for key exist we need to check the value also in the cache, as
for delete case we set value as Optional.absent().
https://github.com/apache/hadoop/blob/trunk/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketDeleteRequest.java#L103
Can you add a java doc to the method caller should acquire/synchronize
before calling this method.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 253817)
Time Spent: 2h 40m (was: 2.5h)
> Refactor operations inside the bucket lock in OM key write.
> -----------------------------------------------------------
>
> Key: HDDS-1624
> URL: https://issues.apache.org/jira/browse/HDDS-1624
> Project: Hadoop Distributed Data Store
> Issue Type: Bug
> Components: Ozone Manager
> Reporter: Aravindan Vijayan
> Assignee: Aravindan Vijayan
> Priority: Critical
> Labels: pull-request-available
> Fix For: 0.5.0
>
> Time Spent: 2h 40m
> Remaining Estimate: 0h
>
> There are a few steps that are done inside the OM bucket lock that are lock
> invariant and can be done outside the lock. This patch refactors those steps.
> It also adds an isExist API in the metadata store so that we dont need to
> deserialize the byte[] to Object while doing a simple _table.get(key) !=
> null_ check.
> On applying the patch, the OM + SCM (With dummy datanodes) write performance
> improves by around 3 - 6x based on number of existing keys in the OM RocksDB.
> Thanks to [~nandakumar131] who helped with this patch.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]