You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by ra...@apache.org on 2020/12/09 08:34:39 UTC
[ozone] 01/01: HDDS-4321. Fix compilation errors : merge HDDS-4308
and HDDS-4473 changes into the branch (#1668)
This is an automated email from the ASF dual-hosted git repository.
rakeshr pushed a commit to branch HDDS-2939
in repository https://gitbox.apache.org/repos/asf/ozone.git
commit 6d5807e4ff141f7d638ef2b38c7a6d32bca10e52
Author: Rakesh Radhakrishnan <ra...@apache.org>
AuthorDate: Wed Dec 9 13:45:35 2020 +0530
HDDS-4321. Fix compilation errors : merge HDDS-4308 and HDDS-4473 changes into the branch (#1668)
---
.../org/apache/hadoop/ozone/om/KeyManagerImpl.java | 21 ++++++++++-----------
.../om/request/file/OMFileCreateRequestV1.java | 10 ++++------
.../ozone/om/request/key/OMKeyCommitRequestV1.java | 6 +++---
.../ozone/om/request/key/OMKeyDeleteRequestV1.java | 7 +++----
.../om/response/file/OMFileCreateResponseV1.java | 4 ----
.../om/response/key/OMKeyCommitResponseV1.java | 4 ----
.../om/response/key/OMKeyDeleteResponseV1.java | 4 ----
7 files changed, 20 insertions(+), 36 deletions(-)
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
index aa7a331..9c6cd9b 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
@@ -1890,7 +1890,7 @@ public class KeyManagerImpl implements KeyManager {
refreshPipeline(fileKeyInfo);
if (sortDatanodes) {
- sortDatanodeInPipeline(fileKeyInfo, clientAddress);
+ sortDatanodes(clientAddress, fileKeyInfo);
}
return new OzoneFileStatus(fileKeyInfo, scmBlockSize, false);
} else {
@@ -2430,20 +2430,19 @@ public class KeyManagerImpl implements KeyManager {
metadataManager.getLock().releaseReadLock(BUCKET_LOCK, volumeName,
bucketName);
}
+ List<OmKeyInfo> keyInfoList = new ArrayList<>(fileStatusList.size());
for (OzoneFileStatus fileStatus : fileStatusList) {
if (fileStatus.isFile()) {
- // refreshPipeline flag check has been removed as part of
- // https://issues.apache.org/jira/browse/HDDS-3658.
- // Please refer this jira for more details.
- refreshPipeline(fileStatus.getKeyInfo());
-
- // No need to check if a key is deleted or not here, this is handled
- // when adding entries to cacheKeyMap from DB.
- if (args.getSortDatanodes()) {
- sortDatanodeInPipeline(fileStatus.getKeyInfo(), clientAddress);
- }
+ keyInfoList.add(fileStatus.getKeyInfo());
}
}
+ // refreshPipeline flag check has been removed as part of
+ // https://issues.apache.org/jira/browse/HDDS-3658.
+ // Please refer this jira for more details.
+ refreshPipeline(keyInfoList);
+ if (args.getSortDatanodes()) {
+ sortDatanodes(clientAddress, keyInfoList.toArray(new OmKeyInfo[0]));
+ }
fileStatusFinalList.addAll(fileStatusList);
return fileStatusFinalList;
}
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestV1.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestV1.java
index d8452b3..a14fae5 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestV1.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestV1.java
@@ -184,11 +184,11 @@ public class OMFileCreateRequestV1 extends OMFileCreateRequest {
omVolumeArgs = getVolumeInfo(omMetadataManager, volumeName);
omBucketInfo = getBucketInfo(omMetadataManager, volumeName, bucketName);
- // check volume quota
+ // check bucket and volume quota
long preAllocatedSpace = newLocationList.size()
* ozoneManager.getScmBlockSize()
* omFileInfo.getFactor().getNumber();
- checkVolumeQuotaInBytes(omVolumeArgs, preAllocatedSpace);
+ checkBucketQuotaInBytes(omBucketInfo, preAllocatedSpace);
// Add to cache entry can be done outside of lock for this openKey.
// Even if bucket gets deleted, when commitKey we shall identify if
@@ -203,9 +203,7 @@ public class OMFileCreateRequestV1 extends OMFileCreateRequest {
Optional.absent(), Optional.of(missingParentInfos),
trxnLogIndex);
- // update usedBytes atomically.
- omVolumeArgs.getUsedBytes().add(preAllocatedSpace);
- omBucketInfo.getUsedBytes().add(preAllocatedSpace);
+ omBucketInfo.incrUsedBytes(preAllocatedSpace);
// Prepare response. Sets user given full key name in the 'keyName'
// attribute in response object.
@@ -216,7 +214,7 @@ public class OMFileCreateRequestV1 extends OMFileCreateRequest {
.setCmdType(Type.CreateFile);
omClientResponse = new OMFileCreateResponseV1(omResponse.build(),
omFileInfo, missingParentInfos, clientID, omVolumeArgs,
- omBucketInfo);
+ omBucketInfo.copyObject());
result = Result.SUCCESS;
} catch (IOException ex) {
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestV1.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestV1.java
index e985a9a..ffabcd7 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestV1.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestV1.java
@@ -169,11 +169,11 @@ public class OMKeyCommitRequestV1 extends OMKeyCommitRequest {
// be subtracted.
long correctedSpace = omKeyInfo.getDataSize() * factor -
locationInfoList.size() * scmBlockSize * factor;
- omVolumeArgs.getUsedBytes().add(correctedSpace);
- omBucketInfo.getUsedBytes().add(correctedSpace);
+ omBucketInfo.incrUsedBytes(correctedSpace);
omClientResponse = new OMKeyCommitResponseV1(omResponse.build(),
- omKeyInfo, dbFileKey, dbOpenFileKey, omVolumeArgs, omBucketInfo);
+ omKeyInfo, dbFileKey, dbOpenFileKey, omVolumeArgs,
+ omBucketInfo.copyObject());
result = Result.SUCCESS;
} catch (IOException ex) {
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestV1.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestV1.java
index cbc5879..7a887c9 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestV1.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestV1.java
@@ -148,10 +148,9 @@ public class OMKeyDeleteRequestV1 extends OMKeyDeleteRequest {
omVolumeArgs = getVolumeInfo(omMetadataManager, volumeName);
omBucketInfo = getBucketInfo(omMetadataManager, volumeName, bucketName);
+ // TODO: HDDS-4565: consider all the sub-paths if the path is a dir.
long quotaReleased = sumBlockLengths(omKeyInfo);
- // update usedBytes atomically.
- omVolumeArgs.getUsedBytes().add(-quotaReleased);
- omBucketInfo.getUsedBytes().add(-quotaReleased);
+ omBucketInfo.incrUsedBytes(-quotaReleased);
// No need to add cache entries to delete table. As delete table will
// be used by DeleteKeyService only, not used for any client response
@@ -161,7 +160,7 @@ public class OMKeyDeleteRequestV1 extends OMKeyDeleteRequest {
omClientResponse = new OMKeyDeleteResponseV1(omResponse
.setDeleteKeyResponse(DeleteKeyResponse.newBuilder()).build(),
omKeyInfo, ozoneManager.isRatisEnabled(), omVolumeArgs,
- omBucketInfo, keyStatus.isDirectory());
+ omBucketInfo.copyObject(), keyStatus.isDirectory());
result = Result.SUCCESS;
} catch (IOException ex) {
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseV1.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseV1.java
index a168d8f..f84fa25 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseV1.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseV1.java
@@ -78,10 +78,6 @@ public class OMFileCreateResponseV1 extends OMFileCreateResponse {
OMFileRequest.addToOpenFileTable(omMetadataMgr, batchOp, getOmKeyInfo(),
getOpenKeySessionID());
- // update volume usedBytes.
- omMetadataMgr.getVolumeTable().putWithBatch(batchOp,
- omMetadataMgr.getVolumeKey(getOmVolumeArgs().getVolume()),
- getOmVolumeArgs());
// update bucket usedBytes.
omMetadataMgr.getBucketTable().putWithBatch(batchOp,
omMetadataMgr.getBucketKey(getOmVolumeArgs().getVolume(),
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseV1.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseV1.java
index bff5554..26eda2d 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseV1.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseV1.java
@@ -69,10 +69,6 @@ public class OMKeyCommitResponseV1 extends OMKeyCommitResponse {
OMFileRequest.addToFileTable(omMetadataManager, batchOperation,
getOmKeyInfo());
- // update volume usedBytes.
- omMetadataManager.getVolumeTable().putWithBatch(batchOperation,
- omMetadataManager.getVolumeKey(getOmVolumeArgs().getVolume()),
- getOmVolumeArgs());
// update bucket usedBytes.
omMetadataManager.getBucketTable().putWithBatch(batchOperation,
omMetadataManager.getBucketKey(getOmVolumeArgs().getVolume(),
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseV1.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseV1.java
index 858532a..6119aab 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseV1.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseV1.java
@@ -76,10 +76,6 @@ public class OMKeyDeleteResponseV1 extends OMKeyDeleteResponse {
ozoneDbKey, getOmKeyInfo());
}
- // update volume usedBytes.
- omMetadataManager.getVolumeTable().putWithBatch(batchOperation,
- omMetadataManager.getVolumeKey(getOmVolumeArgs().getVolume()),
- getOmVolumeArgs());
// update bucket usedBytes.
omMetadataManager.getBucketTable().putWithBatch(batchOperation,
omMetadataManager.getBucketKey(getOmVolumeArgs().getVolume(),
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org