You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by xy...@apache.org on 2018/01/10 19:53:46 UTC
[2/2] hadoop git commit: HDFS-12966. Ozone: owner name should be set
properly when the container allocation happens. Contributed by Shashikant
Banerjee.
HDFS-12966. Ozone: owner name should be set properly when the container allocation happens. Contributed by Shashikant Banerjee.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f4369776
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f4369776
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f4369776
Branch: refs/heads/HDFS-7240
Commit: f4369776dacbf402616011b774110b924c751a01
Parents: fd4a4ce
Author: Xiaoyu Yao <xy...@apache.org>
Authored: Wed Jan 10 11:50:07 2018 -0800
Committer: Xiaoyu Yao <xy...@apache.org>
Committed: Wed Jan 10 11:50:07 2018 -0800
----------------------------------------------------------------------
.../scm/client/ContainerOperationClient.java | 8 +--
.../org/apache/hadoop/scm/client/ScmClient.java | 6 +-
.../container/common/helpers/ContainerInfo.java | 12 ++--
.../scm/protocol/ScmBlockLocationProtocol.java | 2 +-
.../StorageContainerLocationProtocol.java | 2 +-
...kLocationProtocolClientSideTranslatorPB.java | 16 ++---
...rLocationProtocolClientSideTranslatorPB.java | 3 +-
.../src/main/proto/Ozone.proto | 9 +--
.../main/proto/ScmBlockLocationProtocol.proto | 1 +
.../StorageContainerLocationProtocol.proto | 2 +-
.../org/apache/hadoop/cblock/CBlockManager.java | 7 +-
.../hadoop/cblock/storage/StorageManager.java | 6 +-
.../apache/hadoop/ozone/ksm/KeyManagerImpl.java | 9 ++-
.../hadoop/ozone/ksm/KeySpaceManager.java | 7 +-
...kLocationProtocolServerSideTranslatorPB.java | 2 +-
...rLocationProtocolServerSideTranslatorPB.java | 3 +-
.../ozone/scm/StorageContainerManager.java | 20 +++---
.../hadoop/ozone/scm/block/BlockManager.java | 2 +-
.../ozone/scm/block/BlockManagerImpl.java | 10 ++-
.../cli/container/CreateContainerHandler.java | 3 +-
.../ozone/scm/container/ContainerMapping.java | 3 +-
.../scm/container/ContainerStateManager.java | 57 +++++++++-------
.../hadoop/ozone/scm/container/Mapping.java | 2 +-
.../apache/hadoop/cblock/TestBufferManager.java | 2 +-
.../hadoop/cblock/TestCBlockReadWrite.java | 2 +-
.../hadoop/cblock/TestLocalBlockCache.java | 2 +-
.../hadoop/cblock/util/MockStorageClient.java | 6 +-
.../hadoop/ozone/TestContainerOperations.java | 2 +-
.../ozone/TestStorageContainerManager.java | 4 +-
.../hadoop/ozone/scm/TestAllocateContainer.java | 9 +--
.../hadoop/ozone/scm/TestContainerSQLCli.java | 8 ++-
.../ozone/scm/TestContainerSmallFile.java | 7 +-
.../org/apache/hadoop/ozone/scm/TestSCMCli.java | 13 ++--
.../ozone/scm/TestXceiverClientManager.java | 25 +++----
.../ozone/scm/TestXceiverClientMetrics.java | 6 +-
.../ozone/scm/block/TestBlockManager.java | 11 ++--
.../scm/container/TestContainerMapping.java | 23 +++----
.../container/TestContainerStateManager.java | 69 ++++++++++----------
.../ozone/scm/node/TestContainerPlacement.java | 5 +-
39 files changed, 206 insertions(+), 180 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ContainerOperationClient.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ContainerOperationClient.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ContainerOperationClient.java
index 7568c85..52e7993 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ContainerOperationClient.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ContainerOperationClient.java
@@ -82,14 +82,14 @@ public class ContainerOperationClient implements ScmClient {
* @inheritDoc
*/
@Override
- public Pipeline createContainer(String containerId)
+ public Pipeline createContainer(String containerId, String owner)
throws IOException {
XceiverClientSpi client = null;
try {
Pipeline pipeline =
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- xceiverClientManager.getFactor(), containerId);
+ xceiverClientManager.getFactor(), containerId, owner);
client = xceiverClientManager.acquireClient(pipeline);
// Allocated State means that SCM has allocated this pipeline in its
@@ -187,13 +187,13 @@ public class ContainerOperationClient implements ScmClient {
@Override
public Pipeline createContainer(OzoneProtos.ReplicationType type,
OzoneProtos.ReplicationFactor factor,
- String containerId) throws IOException {
+ String containerId, String owner) throws IOException {
XceiverClientSpi client = null;
try {
// allocate container on SCM.
Pipeline pipeline =
storageContainerLocationClient.allocateContainer(type, factor,
- containerId);
+ containerId, owner);
client = xceiverClientManager.acquireClient(pipeline);
// Allocated State means that SCM has allocated this pipeline in its
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ScmClient.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ScmClient.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ScmClient.java
index 2d11336..ef2f1e0 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ScmClient.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/client/ScmClient.java
@@ -45,7 +45,7 @@ public interface ScmClient {
* @return Pipeline
* @throws IOException
*/
- Pipeline createContainer(String containerId) throws IOException;
+ Pipeline createContainer(String containerId, String owner) throws IOException;
/**
* Gets a container by Name -- Throws if the container does not exist.
@@ -112,8 +112,8 @@ public interface ScmClient {
* @throws IOException - in case of error.
*/
Pipeline createContainer(OzoneProtos.ReplicationType type,
- OzoneProtos.ReplicationFactor replicationFactor, String containerId)
- throws IOException;
+ OzoneProtos.ReplicationFactor replicationFactor, String containerId,
+ String owner) throws IOException;
/**
* Returns a set of Nodes that meet a query criteria.
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/container/common/helpers/ContainerInfo.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/container/common/helpers/ContainerInfo.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/container/common/helpers/ContainerInfo.java
index ff8bcdb..fc51c80 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/container/common/helpers/ContainerInfo.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/container/common/helpers/ContainerInfo.java
@@ -38,7 +38,7 @@ public class ContainerInfo
private long lastUsed;
// The wall-clock ms since the epoch at which the current state enters.
private long stateEnterTime;
- private OzoneProtos.Owner owner;
+ private String owner;
private String containerName;
ContainerInfo(
@@ -49,7 +49,7 @@ public class ContainerInfo
long usedBytes,
long numberOfKeys,
long stateEnterTime,
- OzoneProtos.Owner owner) {
+ String owner) {
this.containerName = containerName;
this.pipeline = pipeline;
this.allocatedBytes = allocatedBytes;
@@ -143,11 +143,11 @@ public class ContainerInfo
return builder.build();
}
- public OzoneProtos.Owner getOwner() {
+ public String getOwner() {
return owner;
}
- public void setOwner(OzoneProtos.Owner owner) {
+ public void setOwner(String owner) {
this.owner = owner;
}
@@ -241,7 +241,7 @@ public class ContainerInfo
private long used;
private long keys;
private long stateEnterTime;
- private OzoneProtos.Owner owner;
+ private String owner;
private String containerName;
public Builder setState(OzoneProtos.LifeCycleState lifeCycleState) {
@@ -274,7 +274,7 @@ public class ContainerInfo
return this;
}
- public Builder setOwner(OzoneProtos.Owner containerOwner) {
+ public Builder setOwner(String containerOwner) {
this.owner = containerOwner;
return this;
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/ScmBlockLocationProtocol.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/ScmBlockLocationProtocol.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/ScmBlockLocationProtocol.java
index e849094..9728554 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/ScmBlockLocationProtocol.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/ScmBlockLocationProtocol.java
@@ -53,7 +53,7 @@ public interface ScmBlockLocationProtocol {
* @throws IOException
*/
AllocatedBlock allocateBlock(long size, ReplicationType type,
- ReplicationFactor factor) throws IOException;
+ ReplicationFactor factor, String owner) throws IOException;
/**
* Delete blocks for a set of object keys.
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java
index 07d3f0d..3a12f68 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java
@@ -38,7 +38,7 @@ public interface StorageContainerLocationProtocol {
*
*/
Pipeline allocateContainer(OzoneProtos.ReplicationType replicationType,
- OzoneProtos.ReplicationFactor factor, String containerName)
+ OzoneProtos.ReplicationFactor factor, String containerName, String owner)
throws IOException;
/**
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
index 061f0fe..02d973a 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
@@ -116,16 +116,14 @@ public final class ScmBlockLocationProtocolClientSideTranslatorPB
* @throws IOException
*/
@Override
- public AllocatedBlock allocateBlock(long size, OzoneProtos.ReplicationType
- type, OzoneProtos.ReplicationFactor factor) throws IOException {
- Preconditions.checkArgument(size > 0,
- "block size must be greater than 0");
+ public AllocatedBlock allocateBlock(long size,
+ OzoneProtos.ReplicationType type, OzoneProtos.ReplicationFactor factor,
+ String owner) throws IOException {
+ Preconditions.checkArgument(size > 0, "block size must be greater than 0");
- AllocateScmBlockRequestProto request = AllocateScmBlockRequestProto
- .newBuilder()
- .setSize(size).setType(type)
- .setFactor(factor)
- .build();
+ AllocateScmBlockRequestProto request =
+ AllocateScmBlockRequestProto.newBuilder().setSize(size).setType(type)
+ .setFactor(factor).setOwner(owner).build();
final AllocateScmBlockResponseProto response;
try {
response = rpcProxy.allocateScmBlock(NULL_RPC_CONTROLLER, request);
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
index 0ac322d..a3c4a9f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
@@ -88,7 +88,7 @@ public final class StorageContainerLocationProtocolClientSideTranslatorPB
@Override
public Pipeline allocateContainer(OzoneProtos.ReplicationType type,
OzoneProtos.ReplicationFactor factor, String
- containerName) throws IOException {
+ containerName, String owner) throws IOException {
Preconditions.checkNotNull(containerName, "Container Name cannot be Null");
Preconditions.checkState(!containerName.isEmpty(), "Container name cannot" +
@@ -97,6 +97,7 @@ public final class StorageContainerLocationProtocolClientSideTranslatorPB
.setContainerName(containerName)
.setReplicationFactor(factor)
.setReplicationType(type)
+ .setOwner(owner)
.build();
final ContainerResponseProto response;
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto
index 4941b62..e5bfd36 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto
@@ -132,7 +132,7 @@ message SCMContainerInfo {
required uint64 usedBytes = 5;
required uint64 numberOfKeys = 6;
optional int64 stateEnterTime = 7;
- optional Owner owner = 8 [default = OZONE];
+ required string owner = 8;
}
message GetScmInfoRequestProto {
@@ -154,10 +154,3 @@ enum ReplicationFactor {
ONE = 1;
THREE = 3;
}
-
-enum Owner {
- OZONE = 1;
- CBLOCK = 2;
- // In future --
- //HDFS = 3;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto
index 8a6359b..99536ac 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto
@@ -63,6 +63,7 @@ message AllocateScmBlockRequestProto {
required uint64 size = 1;
required hadoop.hdfs.ozone.ReplicationType type = 2;
required hadoop.hdfs.ozone.ReplicationFactor factor = 3;
+ required string owner = 4;
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto
index e65f51b..c1e9ea6 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto
@@ -39,7 +39,7 @@ message ContainerRequestProto {
// Ozone only support replciation of either 1 or 3.
required hadoop.hdfs.ozone.ReplicationFactor replicationFactor = 2;
required hadoop.hdfs.ozone.ReplicationType replicationType = 3;
- optional hadoop.hdfs.ozone.Owner owner = 4 [default = OZONE];
+ required string owner = 4;
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/CBlockManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/CBlockManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/CBlockManager.java
index 57c47d7..bb4252c 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/CBlockManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/CBlockManager.java
@@ -62,6 +62,7 @@ import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
import static org.apache.hadoop.cblock.CBlockConfigKeys
.DFS_CBLOCK_CONTAINER_SIZE_GB_DEFAULT;
@@ -122,7 +123,11 @@ public class CBlockManager implements CBlockServiceProtocol,
public CBlockManager(OzoneConfiguration conf,
ScmClient storageClient) throws IOException {
- storageManager = new StorageManager(storageClient, conf);
+ // Fix the cBlockManagerId generattion code here. Should support
+ // cBlockManager --init command which will generate a cBlockManagerId and
+ // persist it locally.
+ storageManager =
+ new StorageManager(storageClient, conf, "CBLOCK");
dbPath = conf.getTrimmed(DFS_CBLOCK_SERVICE_LEVELDB_PATH_KEY,
DFS_CBLOCK_SERVICE_LEVELDB_PATH_DEFAULT);
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/storage/StorageManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/storage/StorageManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/storage/StorageManager.java
index edab822..65b9b49 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/storage/StorageManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/cblock/storage/StorageManager.java
@@ -58,6 +58,7 @@ public class StorageManager {
private static final int MAX_THREADS =
Runtime.getRuntime().availableProcessors() * 2;
private static final int MAX_QUEUE_CAPACITY = 1024;
+ private final String cblockId;
/**
* We will NOT have the situation where same kv pair getting
@@ -77,13 +78,14 @@ public class StorageManager {
private long containerSizeB;
public StorageManager(ScmClient storageClient,
- OzoneConfiguration ozoneConfig) throws IOException {
+ OzoneConfiguration ozoneConfig, String cblockId) throws IOException {
this.storageClient = storageClient;
this.user2VolumeMap = new ConcurrentHashMap<>();
this.containerSizeB = storageClient.getContainerSize(null);
this.numThreads =
ozoneConfig.getInt(CBlockConfigKeys.DFS_CBLOCK_MANAGER_POOL_SIZE,
CBlockConfigKeys.DFS_CBLOCK_MANAGER_POOL_SIZE_DEFAULT);
+ this.cblockId = cblockId;
}
/**
@@ -188,7 +190,7 @@ public class StorageManager {
OzoneProtos.ReplicationType.STAND_ALONE,
OzoneProtos.ReplicationFactor.ONE,
KeyUtil.getContainerName(volume.getUserName(),
- volume.getVolumeName(), containerIdx));
+ volume.getVolumeName(), containerIdx), cblockId);
container = new ContainerDescriptor(pipeline.getContainerName());
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
index b4a13de..10c61fc 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeyManagerImpl.java
@@ -95,9 +95,11 @@ public class KeyManagerImpl implements KeyManager {
private final long preallocateMax;
private final Random random;
+ private final String ksmId;
public KeyManagerImpl(ScmBlockLocationProtocol scmBlockClient,
- KSMMetadataManager metadataManager, OzoneConfiguration conf) {
+ KSMMetadataManager metadataManager, OzoneConfiguration conf,
+ String ksmId) {
this.scmBlockClient = scmBlockClient;
this.metadataManager = metadataManager;
this.scmBlockSize = conf.getLong(OZONE_SCM_BLOCK_SIZE_IN_MB,
@@ -123,6 +125,7 @@ public class KeyManagerImpl implements KeyManager {
openKeyCleanupService = new OpenKeyCleanupService(
scmBlockClient, this, openkeyCheckInterval, serviceTimeout);
random = new Random();
+ this.ksmId = ksmId;
}
@Override
@@ -190,7 +193,7 @@ public class KeyManagerImpl implements KeyManager {
KSMException.ResultCodes.FAILED_KEY_NOT_FOUND);
}
AllocatedBlock allocatedBlock =
- scmBlockClient.allocateBlock(scmBlockSize, type, factor);
+ scmBlockClient.allocateBlock(scmBlockSize, type, factor, ksmId);
KsmKeyInfo keyInfo =
KsmKeyInfo.getFromProtobuf(KeyInfo.parseFrom(keyData));
KsmKeyLocationInfo info = new KsmKeyLocationInfo.Builder()
@@ -245,7 +248,7 @@ public class KeyManagerImpl implements KeyManager {
while (requestedSize > 0) {
long allocateSize = Math.min(scmBlockSize, requestedSize);
AllocatedBlock allocatedBlock =
- scmBlockClient.allocateBlock(allocateSize, type, factor);
+ scmBlockClient.allocateBlock(allocateSize, type, factor, ksmId);
KsmKeyLocationInfo subKeyInfo = new KsmKeyLocationInfo.Builder()
.setContainerName(allocatedBlock.getPipeline().getContainerName())
.setBlockID(allocatedBlock.getKey())
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeySpaceManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeySpaceManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeySpaceManager.java
index 9147390..ef31165 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeySpaceManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/ksm/KeySpaceManager.java
@@ -182,8 +182,9 @@ public class KeySpaceManager extends ServiceRuntimeInfoImpl
volumeManager = new VolumeManagerImpl(metadataManager, configuration);
bucketManager = new BucketManagerImpl(metadataManager);
metrics = KSMMetrics.create();
- keyManager = new KeyManagerImpl(scmBlockClient, metadataManager,
- configuration);
+ keyManager =
+ new KeyManagerImpl(scmBlockClient, metadataManager, configuration,
+ ksmStorage.getKsmId());
httpServer = new KeySpaceManagerHttpServer(configuration, this);
}
@@ -704,7 +705,7 @@ public class KeySpaceManager extends ServiceRuntimeInfoImpl
}
@Override
- public KsmKeyLocationInfo allocateBlock(KsmKeyArgs args, int clientID)
+ public KsmKeyLocationInfo allocateBlock(KsmKeyArgs args, int clientID)
throws IOException {
try {
metrics.incNumBlockAllocateCalls();
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java
index 9bdfe98..2ab11ba 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java
@@ -107,7 +107,7 @@ public final class ScmBlockLocationProtocolServerSideTranslatorPB
try {
AllocatedBlock allocatedBlock =
impl.allocateBlock(request.getSize(), request.getType(),
- request.getFactor());
+ request.getFactor(), request.getOwner());
if (allocatedBlock != null) {
return
AllocateScmBlockResponseProto.newBuilder()
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java
index df1fa40..ae99a37 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java
@@ -76,7 +76,8 @@ public final class StorageContainerLocationProtocolServerSideTranslatorPB
ContainerRequestProto request) throws ServiceException {
try {
Pipeline pipeline = impl.allocateContainer(request.getReplicationType(),
- request.getReplicationFactor(), request.getContainerName());
+ request.getReplicationFactor(), request.getContainerName(),
+ request.getOwner());
return ContainerResponseProto.newBuilder()
.setPipeline(pipeline.getProtobufMessage())
.setErrorCode(ContainerResponseProto.Error.success)
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/StorageContainerManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/StorageContainerManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/StorageContainerManager.java
index 42bb082..ca1fa48 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/StorageContainerManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/StorageContainerManager.java
@@ -788,16 +788,13 @@ public class StorageContainerManager extends ServiceRuntimeInfoImpl
*/
@Override
public Pipeline allocateContainer(OzoneProtos.ReplicationType replicationType,
- OzoneProtos.ReplicationFactor replicationFactor, String containerName)
- throws IOException {
+ OzoneProtos.ReplicationFactor replicationFactor, String containerName,
+ String owner) throws IOException {
- //TODO : FIX ME : Pass the owner argument to this function.
- // This causes a lot of test change and cblock change to filing
- // another JIRA to fix it.
- final OzoneProtos.Owner owner = OzoneProtos.Owner.OZONE;
checkAdminAccess();
- return scmContainerManager.allocateContainer(replicationType,
- replicationFactor, containerName, owner).getPipeline();
+ return scmContainerManager
+ .allocateContainer(replicationType, replicationFactor, containerName,
+ owner).getPipeline();
}
/**
@@ -1115,9 +1112,10 @@ public class StorageContainerManager extends ServiceRuntimeInfoImpl
* @throws IOException
*/
@Override
- public AllocatedBlock allocateBlock(long size, OzoneProtos.ReplicationType
- type, OzoneProtos.ReplicationFactor factor) throws IOException {
- return scmBlockManager.allocateBlock(size, type, factor);
+ public AllocatedBlock allocateBlock(long size,
+ OzoneProtos.ReplicationType type, OzoneProtos.ReplicationFactor factor,
+ String owner) throws IOException {
+ return scmBlockManager.allocateBlock(size, type, factor, owner);
}
/**
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManager.java
index b0f4da6..cfed7a8 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManager.java
@@ -40,7 +40,7 @@ public interface BlockManager extends Closeable {
* @throws IOException
*/
AllocatedBlock allocateBlock(long size, OzoneProtos.ReplicationType type,
- OzoneProtos.ReplicationFactor factor) throws IOException;
+ OzoneProtos.ReplicationFactor factor, String owner) throws IOException;
/**
* Give the key to the block, get the pipeline info.
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManagerImpl.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManagerImpl.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManagerImpl.java
index 345db1a..5771080 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManagerImpl.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/block/BlockManagerImpl.java
@@ -22,7 +22,6 @@ import org.apache.hadoop.hdfs.DFSUtil;
import org.apache.hadoop.metrics2.util.MBeans;
import org.apache.hadoop.ozone.OzoneConsts;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos;
-import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.Owner;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.ReplicationFactor;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.ReplicationType;
import org.apache.hadoop.ozone.scm.container.Mapping;
@@ -76,7 +75,6 @@ public class BlockManagerImpl implements BlockManager, BlockmanagerMXBean {
// TODO : FIX ME : Hard coding the owner.
// Currently only user of the block service is Ozone, CBlock manages blocks
// by itself and does not rely on the Block service offered by SCM.
- private final Owner owner = Owner.OZONE;
private final NodeManager nodeManager;
private final Mapping containerManager;
@@ -178,7 +176,7 @@ public class BlockManagerImpl implements BlockManager, BlockmanagerMXBean {
* @throws IOException
*/
private void preAllocateContainers(int count, ReplicationType type,
- ReplicationFactor factor)
+ ReplicationFactor factor, String owner)
throws IOException {
lock.lock();
try {
@@ -214,8 +212,8 @@ public class BlockManagerImpl implements BlockManager, BlockmanagerMXBean {
* @throws IOException on failure.
*/
@Override
- public AllocatedBlock allocateBlock(
- final long size, ReplicationType type, ReplicationFactor factor)
+ public AllocatedBlock allocateBlock(final long size,
+ ReplicationType type, ReplicationFactor factor, String owner)
throws IOException {
LOG.trace("Size;{} , type : {}, factor : {} ", size, type, factor);
@@ -289,7 +287,7 @@ public class BlockManagerImpl implements BlockManager, BlockmanagerMXBean {
// that most of our containers are full or we have not allocated
// containers of the type and replication factor. So let us go and
// allocate some.
- preAllocateContainers(containerProvisionBatchSize, type, factor);
+ preAllocateContainers(containerProvisionBatchSize, type, factor, owner);
// Since we just allocated a set of containers this should work
containerInfo =
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java
index b68d872..569c4a3 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java
@@ -36,6 +36,7 @@ public class CreateContainerHandler extends OzoneCommandHandler {
public static final String CONTAINER_CREATE = "create";
public static final String OPT_CONTAINER_NAME = "c";
+ public static final String containerOwner = "OZONE";
// TODO Support an optional -p <pipelineID> option to create
// container on given datanodes.
@@ -59,7 +60,7 @@ public class CreateContainerHandler extends OzoneCommandHandler {
String containerName = cmd.getOptionValue(OPT_CONTAINER_NAME);
logOut("Creating container : %s.", containerName);
- getScmClient().createContainer(containerName);
+ getScmClient().createContainer(containerName, containerOwner);
logOut("Container created.");
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerMapping.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerMapping.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerMapping.java
index 4ae1883..79974d9 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerMapping.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerMapping.java
@@ -26,7 +26,6 @@ import org.apache.hadoop.ozone.lease.Lease;
import org.apache.hadoop.ozone.lease.LeaseException;
import org.apache.hadoop.ozone.lease.LeaseManager;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos;
-import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.Owner;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.ReplicationFactor;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.ReplicationType;
import org.apache.hadoop.ozone.protocol.proto.StorageContainerDatanodeProtocolProtos;
@@ -198,7 +197,7 @@ public class ContainerMapping implements Mapping {
ReplicationType type,
ReplicationFactor replicationFactor,
final String containerName,
- Owner owner)
+ String owner)
throws IOException {
Preconditions.checkNotNull(containerName);
Preconditions.checkState(!containerName.isEmpty());
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerStateManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerStateManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerStateManager.java
index 9b67473..0240f69 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerStateManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/ContainerStateManager.java
@@ -54,7 +54,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.LifeCycleState;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.ReplicationType;
-import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.Owner;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.LifeCycleEvent;
import org.apache.hadoop.ozone.protocol.proto.OzoneProtos.ReplicationFactor;
@@ -167,7 +166,6 @@ public class ContainerStateManager implements Closeable {
lock = new ReentrantReadWriteLock();
containers = new HashMap<>();
- initializeContainerMaps();
loadExistingContainers(containerMapping);
containerCloseQueue = new ConcurrentLinkedQueue<>();
}
@@ -185,17 +183,15 @@ public class ContainerStateManager implements Closeable {
* of these {ALLOCATED, CREATING, OPEN, CLOSED, DELETING, DELETED} container
* states
*/
- private void initializeContainerMaps() {
+ private void initializeContainerMaps(String owner) {
// Called only from Ctor path, hence no lock is held.
Preconditions.checkNotNull(containers);
- for (OzoneProtos.Owner owner : OzoneProtos.Owner.values()) {
- for (ReplicationType type : ReplicationType.values()) {
- for (ReplicationFactor factor : ReplicationFactor.values()) {
- for (LifeCycleState state : LifeCycleState.values()) {
- ContainerKey key = new ContainerKey(owner, type, factor, state);
- PriorityQueue<ContainerInfo> queue = new PriorityQueue<>();
- containers.put(key, queue);
- }
+ for (ReplicationType type : ReplicationType.values()) {
+ for (ReplicationFactor factor : ReplicationFactor.values()) {
+ for (LifeCycleState state : LifeCycleState.values()) {
+ ContainerKey key = new ContainerKey(owner, type, factor, state);
+ PriorityQueue<ContainerInfo> queue = new PriorityQueue<>();
+ containers.put(key, queue);
}
}
}
@@ -208,12 +204,18 @@ public class ContainerStateManager implements Closeable {
*/
private void loadExistingContainers(Mapping containerMapping) {
try {
+ List<String> ownerList = new ArrayList<>();
List<ContainerInfo> containerList =
containerMapping.listContainer(null, null, Integer.MAX_VALUE);
for (ContainerInfo container : containerList) {
- ContainerKey key = new ContainerKey(container.getOwner(),
- container.getPipeline().getType(),
- container.getPipeline().getFactor(), container.getState());
+ String owner = container.getOwner();
+ if (ownerList.isEmpty() || !ownerList.contains(owner)) {
+ ownerList.add(owner);
+ initializeContainerMaps(owner);
+ }
+ ContainerKey key =
+ new ContainerKey(owner, container.getPipeline().getType(),
+ container.getPipeline().getFactor(), container.getState());
containers.get(key).add(container);
}
} catch (IOException e) {
@@ -317,7 +319,7 @@ public class ContainerStateManager implements Closeable {
*/
public ContainerInfo allocateContainer(PipelineSelector selector, OzoneProtos
.ReplicationType type, OzoneProtos.ReplicationFactor replicationFactor,
- final String containerName, OzoneProtos.Owner owner) throws
+ final String containerName, String owner) throws
IOException {
Pipeline pipeline = selector.getReplicationPipeline(type,
@@ -340,7 +342,10 @@ public class ContainerStateManager implements Closeable {
ContainerKey key = new ContainerKey(owner, type, replicationFactor,
containerInfo.getState());
PriorityQueue<ContainerInfo> queue = containers.get(key);
- Preconditions.checkNotNull(queue);
+ if (queue == null) {
+ initializeContainerMaps(owner);
+ queue = containers.get(key);
+ }
queue.add(containerInfo);
LOG.trace("New container allocated: {}", containerInfo);
} finally {
@@ -431,12 +436,16 @@ public class ContainerStateManager implements Closeable {
* @return ContainerInfo
*/
public ContainerInfo getMatchingContainer(final long size,
- Owner owner, ReplicationType type, ReplicationFactor factor,
+ String owner, ReplicationType type, ReplicationFactor factor,
LifeCycleState state) {
ContainerKey key = new ContainerKey(owner, type, factor, state);
lock.writeLock().lock();
try {
PriorityQueue<ContainerInfo> queue = containers.get(key);
+ if (queue == null) {
+ initializeContainerMaps(owner);
+ queue = containers.get(key);
+ }
if (queue.size() == 0) {
// We don't have any Containers of this type.
return null;
@@ -466,13 +475,17 @@ public class ContainerStateManager implements Closeable {
}
@VisibleForTesting
- public List<ContainerInfo> getMatchingContainers(Owner owner,
+ public List<ContainerInfo> getMatchingContainers(String owner,
ReplicationType type, ReplicationFactor factor, LifeCycleState state) {
ContainerKey key = new ContainerKey(owner, type, factor, state);
lock.readLock().lock();
try {
- return Arrays.asList((ContainerInfo[]) containers.get(key)
- .toArray(new ContainerInfo[0]));
+ if (containers.get(key) == null) {
+ return null;
+ } else {
+ return Arrays.asList((ContainerInfo[]) containers.get(key)
+ .toArray(new ContainerInfo[0]));
+ }
} catch (Exception e) {
LOG.error("Could not get matching containers", e);
} finally {
@@ -492,7 +505,7 @@ public class ContainerStateManager implements Closeable {
private static class ContainerKey {
private final LifeCycleState state;
private final ReplicationType type;
- private final OzoneProtos.Owner owner;
+ private final String owner;
private final ReplicationFactor replicationFactor;
/**
@@ -503,7 +516,7 @@ public class ContainerStateManager implements Closeable {
* @param factor - Replication Factors
* @param state - LifeCycle State
*/
- ContainerKey(Owner owner, ReplicationType type,
+ ContainerKey(String owner, ReplicationType type,
ReplicationFactor factor, LifeCycleState state) {
this.state = state;
this.type = type;
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/Mapping.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/Mapping.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/Mapping.java
index ab4f3df..5d2518e 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/Mapping.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/Mapping.java
@@ -73,7 +73,7 @@ public interface Mapping extends Closeable {
*/
ContainerInfo allocateContainer(OzoneProtos.ReplicationType type,
OzoneProtos.ReplicationFactor replicationFactor,
- String containerName, OzoneProtos.Owner owner) throws IOException;
+ String containerName, String owner) throws IOException;
/**
* Deletes a container from SCM.
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestBufferManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestBufferManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestBufferManager.java
index c0c077b..30f87e24 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestBufferManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestBufferManager.java
@@ -105,7 +105,7 @@ public class TestBufferManager {
Pipeline pipeline =
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- xceiverClientManager.getFactor(), containerName);
+ xceiverClientManager.getFactor(), containerName, "CBLOCK");
XceiverClientSpi client = xceiverClientManager.acquireClient(pipeline);
ContainerProtocolCalls.createContainer(client, traceID);
// This step is needed since we set private data on pipelines, when we
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestCBlockReadWrite.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestCBlockReadWrite.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestCBlockReadWrite.java
index b71dbb3..70793f4 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestCBlockReadWrite.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestCBlockReadWrite.java
@@ -111,7 +111,7 @@ public class TestCBlockReadWrite {
Pipeline pipeline =
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- xceiverClientManager.getFactor(), containerName);
+ xceiverClientManager.getFactor(), containerName, "CBLOCK");
XceiverClientSpi client = xceiverClientManager.acquireClient(pipeline);
ContainerProtocolCalls.createContainer(client, traceID);
// This step is needed since we set private data on pipelines, when we
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestLocalBlockCache.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestLocalBlockCache.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestLocalBlockCache.java
index 58b94d7..7749432 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestLocalBlockCache.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/TestLocalBlockCache.java
@@ -116,7 +116,7 @@ public class TestLocalBlockCache {
Pipeline pipeline =
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- xceiverClientManager.getFactor(), containerName);
+ xceiverClientManager.getFactor(), containerName, "CBLOCK");
XceiverClientSpi client = xceiverClientManager.acquireClient(pipeline);
ContainerProtocolCalls.createContainer(client, traceID);
// This step is needed since we set private data on pipelines, when we
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/util/MockStorageClient.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/util/MockStorageClient.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/util/MockStorageClient.java
index 7022c44..34eb69a 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/util/MockStorageClient.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/cblock/util/MockStorageClient.java
@@ -50,7 +50,7 @@ public class MockStorageClient implements ScmClient {
* @throws Exception
*/
@Override
- public Pipeline createContainer(String containerId)
+ public Pipeline createContainer(String containerId, String owner)
throws IOException {
int contId = currentContainerId.getAndIncrement();
ContainerLookUpService.addContainer(Long.toString(contId));
@@ -135,8 +135,8 @@ public class MockStorageClient implements ScmClient {
@Override
public Pipeline createContainer(OzoneProtos.ReplicationType type,
- OzoneProtos.ReplicationFactor replicationFactor, String containerId)
- throws IOException {
+ OzoneProtos.ReplicationFactor replicationFactor, String containerId,
+ String owner) throws IOException {
int contId = currentContainerId.getAndIncrement();
ContainerLookUpService.addContainer(Long.toString(contId));
return ContainerLookUpService.lookUp(Long.toString(contId))
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestContainerOperations.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestContainerOperations.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestContainerOperations.java
index 26922f6..2a8ca7f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestContainerOperations.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestContainerOperations.java
@@ -82,7 +82,7 @@ public class TestContainerOperations {
public void testCreate() throws Exception {
Pipeline pipeline0 = storageClient.createContainer(OzoneProtos
.ReplicationType.STAND_ALONE, OzoneProtos.ReplicationFactor
- .ONE, "container0");
+ .ONE, "container0", "OZONE");
assertEquals("container0", pipeline0.getContainerName());
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManager.java
index 8c59785..21321bf 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManager.java
@@ -132,7 +132,7 @@ public class TestStorageContainerManager {
try {
Pipeline pipeLine2 = mockScm.allocateContainer(
xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, "container2");
+ OzoneProtos.ReplicationFactor.ONE, "container2", "OZONE");
if (expectPermissionDenied) {
fail("Operation should fail, expecting an IOException here.");
} else {
@@ -145,7 +145,7 @@ public class TestStorageContainerManager {
try {
Pipeline pipeLine3 = mockScm.allocateContainer(
xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, "container3");
+ OzoneProtos.ReplicationFactor.ONE, "container3", "OZONE");
if (expectPermissionDenied) {
fail("Operation should fail, expecting an IOException here.");
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestAllocateContainer.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestAllocateContainer.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestAllocateContainer.java
index d9562f7..027e720 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestAllocateContainer.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestAllocateContainer.java
@@ -45,6 +45,7 @@ public class TestAllocateContainer {
private static StorageContainerLocationProtocolClientSideTranslatorPB
storageContainerLocationClient;
private static XceiverClientManager xceiverClientManager;
+ private static String containerOwner = "OZONE";
@Rule
public ExpectedException thrown = ExpectedException.none();
@@ -74,7 +75,7 @@ public class TestAllocateContainer {
Pipeline pipeline = storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
xceiverClientManager.getFactor(),
- "container0");
+ "container0", containerOwner);
Assert.assertNotNull(pipeline);
Assert.assertNotNull(pipeline.getLeader());
@@ -85,7 +86,7 @@ public class TestAllocateContainer {
thrown.expect(NullPointerException.class);
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- xceiverClientManager.getFactor(), null);
+ xceiverClientManager.getFactor(), null, containerOwner);
}
@Test
@@ -95,9 +96,9 @@ public class TestAllocateContainer {
thrown.expectMessage("Specified container already exists");
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- xceiverClientManager.getFactor(), containerName);
+ xceiverClientManager.getFactor(), containerName, containerOwner);
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- xceiverClientManager.getFactor(), containerName);
+ xceiverClientManager.getFactor(), containerName, containerOwner);
}
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSQLCli.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSQLCli.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSQLCli.java
index 49fb261..686c567 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSQLCli.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSQLCli.java
@@ -2,7 +2,7 @@
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright containerOwnership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
@@ -99,6 +99,7 @@ public class TestContainerSQLCli {
private final static long DEFAULT_BLOCK_SIZE = 4 * KB;
private static OzoneProtos.ReplicationFactor factor;
private static OzoneProtos.ReplicationType type;
+ private static final String containerOwner = "OZONE";
@Before
@@ -145,7 +146,7 @@ public class TestContainerSQLCli {
}
assertEquals(2, nodeManager.getAllNodes().size());
AllocatedBlock ab1 = blockManager.allocateBlock(DEFAULT_BLOCK_SIZE, type,
- factor);
+ factor, containerOwner);
pipeline1 = ab1.getPipeline();
blockContainerMap.put(ab1.getKey(), pipeline1.getContainerName());
@@ -157,7 +158,8 @@ public class TestContainerSQLCli {
// although each retry will create a block and assign to a container. So
// the size of blockContainerMap will vary each time the test is run.
while (true) {
- ab2 = blockManager.allocateBlock(DEFAULT_BLOCK_SIZE, type, factor);
+ ab2 = blockManager
+ .allocateBlock(DEFAULT_BLOCK_SIZE, type, factor, containerOwner);
pipeline2 = ab2.getPipeline();
blockContainerMap.put(ab2.getKey(), pipeline2.getContainerName());
if (!pipeline1.getContainerName().equals(pipeline2.getContainerName())) {
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSmallFile.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSmallFile.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSmallFile.java
index 290c894..a16d4d8 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSmallFile.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestContainerSmallFile.java
@@ -55,6 +55,7 @@ public class TestContainerSmallFile {
private static StorageContainerLocationProtocolClientSideTranslatorPB
storageContainerLocationClient;
private static XceiverClientManager xceiverClientManager;
+ private static String containerOwner = "OZONE";
@BeforeClass
public static void init() throws Exception {
@@ -86,7 +87,7 @@ public class TestContainerSmallFile {
Pipeline pipeline =
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, containerName);
+ OzoneProtos.ReplicationFactor.ONE, containerName, containerOwner);
XceiverClientSpi client = xceiverClientManager.acquireClient(pipeline);
ContainerProtocolCalls.createContainer(client, traceID);
@@ -107,7 +108,7 @@ public class TestContainerSmallFile {
Pipeline pipeline =
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, containerName);
+ OzoneProtos.ReplicationFactor.ONE, containerName, containerOwner);
XceiverClientSpi client = xceiverClientManager.acquireClient(pipeline);
ContainerProtocolCalls.createContainer(client, traceID);
@@ -129,7 +130,7 @@ public class TestContainerSmallFile {
Pipeline pipeline =
storageContainerLocationClient.allocateContainer(
xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, containerName);
+ OzoneProtos.ReplicationFactor.ONE, containerName, containerOwner);
XceiverClientSpi client = xceiverClientManager.acquireClient(pipeline);
ContainerProtocolCalls.createContainer(client, traceID);
ContainerProtocolCalls.writeSmallFile(client, containerName,
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java
index d067247..14d314f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java
@@ -71,6 +71,7 @@ public class TestSCMCli {
private static ByteArrayOutputStream errContent;
private static PrintStream errStream;
private static XceiverClientManager xceiverClientManager;
+ private static String containerOwner = "OZONE";
@Rule
public Timeout globalTimeout = new Timeout(30000);
@@ -158,7 +159,7 @@ public class TestSCMCli {
containerName = "non-empty-container";
pipeline = containerOperationClient
.createContainer(xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, containerName);
+ OzoneProtos.ReplicationFactor.ONE, containerName, containerOwner);
ContainerData cdata = ContainerData
.getFromProtBuf(containerOperationClient.readContainer(pipeline), conf);
@@ -200,7 +201,7 @@ public class TestSCMCli {
containerName = "empty-container";
pipeline = containerOperationClient
.createContainer(xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, containerName);
+ OzoneProtos.ReplicationFactor.ONE, containerName, containerOwner);
containerOperationClient.closeContainer(pipeline);
Assert.assertTrue(containerExist(containerName));
@@ -213,7 +214,7 @@ public class TestSCMCli {
// After the container is deleted,
// a same name container can now be recreated.
containerOperationClient.createContainer(xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, containerName);
+ OzoneProtos.ReplicationFactor.ONE, containerName, containerOwner);
Assert.assertTrue(containerExist(containerName));
// ****************************************
@@ -262,7 +263,7 @@ public class TestSCMCli {
cname = "ContainerTestInfo1";
Pipeline pipeline = containerOperationClient
.createContainer(xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, cname);
+ OzoneProtos.ReplicationFactor.ONE, cname, containerOwner);
ContainerData data = ContainerData
.getFromProtBuf(containerOperationClient.readContainer(pipeline), conf);
@@ -284,7 +285,7 @@ public class TestSCMCli {
cname = "ContainerTestInfo2";
pipeline = containerOperationClient
.createContainer(xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, cname);
+ OzoneProtos.ReplicationFactor.ONE, cname, containerOwner);
data = ContainerData
.getFromProtBuf(containerOperationClient.readContainer(pipeline), conf);
KeyUtils.getDB(data, conf).put(cname.getBytes(), "someKey".getBytes());
@@ -343,7 +344,7 @@ public class TestSCMCli {
for (int index = 0; index < 20; index++) {
String containerName = String.format("%s%02d", prefix, index);
containerOperationClient.createContainer(xceiverClientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, containerName);
+ OzoneProtos.ReplicationFactor.ONE, containerName, containerOwner);
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientManager.java
index b641299..d5ee1d7 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientManager.java
@@ -51,6 +51,7 @@ public class TestXceiverClientManager {
private static MiniOzoneCluster cluster;
private static StorageContainerLocationProtocolClientSideTranslatorPB
storageContainerLocationClient;
+ private static String containerOwner = "OZONE";
@Rule
public ExpectedException exception = ExpectedException.none();
@@ -76,18 +77,18 @@ public class TestXceiverClientManager {
XceiverClientManager clientManager = new XceiverClientManager(conf);
String containerName1 = "container" + RandomStringUtils.randomNumeric(10);
- Pipeline pipeline1 =
- storageContainerLocationClient.allocateContainer(
- clientManager.getType(), clientManager.getFactor(), containerName1);
+ Pipeline pipeline1 = storageContainerLocationClient
+ .allocateContainer(clientManager.getType(), clientManager.getFactor(),
+ containerName1, containerOwner);
XceiverClientSpi client1 = clientManager.acquireClient(pipeline1);
Assert.assertEquals(1, client1.getRefcount());
Assert.assertEquals(containerName1,
client1.getPipeline().getContainerName());
String containerName2 = "container" + RandomStringUtils.randomNumeric(10);
- Pipeline pipeline2 =
- storageContainerLocationClient.allocateContainer(
- clientManager.getType(), clientManager.getFactor(), containerName2);
+ Pipeline pipeline2 = storageContainerLocationClient
+ .allocateContainer(clientManager.getType(), clientManager.getFactor(),
+ containerName2, containerOwner);
XceiverClientSpi client2 = clientManager.acquireClient(pipeline2);
Assert.assertEquals(1, client2.getRefcount());
Assert.assertEquals(containerName2,
@@ -116,7 +117,7 @@ public class TestXceiverClientManager {
Pipeline pipeline1 =
storageContainerLocationClient.allocateContainer(
clientManager.getType(), OzoneProtos.ReplicationFactor.ONE,
- containerName1);
+ containerName1, containerOwner);
XceiverClientSpi client1 = clientManager.acquireClient(pipeline1);
Assert.assertEquals(1, client1.getRefcount());
Assert.assertEquals(containerName1,
@@ -126,7 +127,7 @@ public class TestXceiverClientManager {
Pipeline pipeline2 =
storageContainerLocationClient.allocateContainer(
clientManager.getType(),
- OzoneProtos.ReplicationFactor.ONE, containerName2);
+ OzoneProtos.ReplicationFactor.ONE, containerName2, containerOwner);
XceiverClientSpi client2 = clientManager.acquireClient(pipeline2);
Assert.assertEquals(1, client2.getRefcount());
Assert.assertEquals(containerName2,
@@ -161,7 +162,7 @@ public class TestXceiverClientManager {
Pipeline pipeline1 =
storageContainerLocationClient.allocateContainer(
clientManager.getType(),
- clientManager.getFactor(), containerName1);
+ clientManager.getFactor(), containerName1, containerOwner);
XceiverClientSpi client1 = clientManager.acquireClient(pipeline1);
Assert.assertEquals(1, client1.getRefcount());
Assert.assertEquals(containerName1,
@@ -171,9 +172,9 @@ public class TestXceiverClientManager {
Assert.assertEquals(0, client1.getRefcount());
String containerName2 = "container" + RandomStringUtils.randomNumeric(10);
- Pipeline pipeline2 =
- storageContainerLocationClient.allocateContainer(
- clientManager.getType(), clientManager.getFactor(), containerName2);
+ Pipeline pipeline2 = storageContainerLocationClient
+ .allocateContainer(clientManager.getType(), clientManager.getFactor(),
+ containerName2, containerOwner);
XceiverClientSpi client2 = clientManager.acquireClient(pipeline2);
Assert.assertEquals(1, client2.getRefcount());
Assert.assertEquals(containerName2,
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientMetrics.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientMetrics.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientMetrics.java
index 1478f6c..8a828fa 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientMetrics.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientMetrics.java
@@ -60,6 +60,7 @@ public class TestXceiverClientMetrics {
private static MiniOzoneCluster cluster;
private static StorageContainerLocationProtocolClientSideTranslatorPB
storageContainerLocationClient;
+ private static String containerOwner = "OZONE";
@BeforeClass
public static void init() throws IOException {
@@ -82,8 +83,9 @@ public class TestXceiverClientMetrics {
XceiverClientManager clientManager = new XceiverClientManager(conf);
String containerName = "container" + RandomStringUtils.randomNumeric(10);
- Pipeline pipeline = storageContainerLocationClient.allocateContainer(
- clientManager.getType(), clientManager.getFactor(), containerName);
+ Pipeline pipeline = storageContainerLocationClient
+ .allocateContainer(clientManager.getType(), clientManager.getFactor(),
+ containerName, containerOwner);
XceiverClientSpi client = clientManager.acquireClient(pipeline);
ContainerCommandRequestProto request = ContainerTestHelper
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/block/TestBlockManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/block/TestBlockManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/block/TestBlockManager.java
index 7980de0..2878a03 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/block/TestBlockManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/block/TestBlockManager.java
@@ -57,6 +57,7 @@ public class TestBlockManager {
private final static long DEFAULT_BLOCK_SIZE = 128 * MB;
private static OzoneProtos.ReplicationFactor factor;
private static OzoneProtos.ReplicationType type;
+ private static String containerOwner = "OZONE";
@Rule
public ExpectedException thrown = ExpectedException.none();
@@ -101,14 +102,14 @@ public class TestBlockManager {
@Test
public void testAllocateBlock() throws Exception {
AllocatedBlock block = blockManager.allocateBlock(DEFAULT_BLOCK_SIZE,
- type, factor);
+ type, factor, containerOwner);
Assert.assertNotNull(block);
}
@Test
public void testGetAllocatedBlock() throws IOException {
AllocatedBlock block = blockManager.allocateBlock(DEFAULT_BLOCK_SIZE,
- type, factor);
+ type, factor, containerOwner);
Assert.assertNotNull(block);
Pipeline pipeline = blockManager.getBlock(block.getKey());
Assert.assertEquals(pipeline.getLeader().getDatanodeUuid(),
@@ -118,7 +119,7 @@ public class TestBlockManager {
@Test
public void testDeleteBlock() throws Exception {
AllocatedBlock block = blockManager.allocateBlock(DEFAULT_BLOCK_SIZE,
- type, factor);
+ type, factor, containerOwner);
Assert.assertNotNull(block);
blockManager.deleteBlocks(Collections.singletonList(block.getKey()));
@@ -139,7 +140,7 @@ public class TestBlockManager {
long size = 6 * GB;
thrown.expectMessage("Unsupported block size");
AllocatedBlock block = blockManager.allocateBlock(size,
- type, factor);
+ type, factor, containerOwner);
}
@Test
@@ -154,6 +155,6 @@ public class TestBlockManager {
nodeManager.setChillmode(true);
thrown.expectMessage("Unable to create block while in chill mode");
blockManager.allocateBlock(DEFAULT_BLOCK_SIZE,
- type, factor);
+ type, factor, containerOwner);
}
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4369776/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/container/TestContainerMapping.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/container/TestContainerMapping.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/container/TestContainerMapping.java
index 5907b2b..38067ad 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/container/TestContainerMapping.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/container/TestContainerMapping.java
@@ -57,6 +57,7 @@ public class TestContainerMapping {
private static MockNodeManager nodeManager;
private static File testDir;
private static XceiverClientManager xceiverClientManager;
+ private static String containerOwner = "OZONE";
private static final long TIMEOUT = 10000;
@@ -101,7 +102,7 @@ public class TestContainerMapping {
ContainerInfo containerInfo = mapping.allocateContainer(
xceiverClientManager.getType(),
xceiverClientManager.getFactor(),
- UUID.randomUUID().toString(), OzoneProtos.Owner.OZONE);
+ UUID.randomUUID().toString(), containerOwner);
Assert.assertNotNull(containerInfo);
}
@@ -118,7 +119,7 @@ public class TestContainerMapping {
ContainerInfo containerInfo = mapping.allocateContainer(
xceiverClientManager.getType(),
xceiverClientManager.getFactor(),
- UUID.randomUUID().toString(), OzoneProtos.Owner.OZONE);
+ UUID.randomUUID().toString(), containerOwner);
Assert.assertNotNull(containerInfo);
Assert.assertNotNull(containerInfo.getPipeline());
@@ -134,7 +135,7 @@ public class TestContainerMapping {
Pipeline pipeline = mapping.allocateContainer(
xceiverClientManager.getType(),
xceiverClientManager.getFactor(), containerName,
- OzoneProtos.Owner.OZONE).getPipeline();
+ containerOwner).getPipeline();
Assert.assertNotNull(pipeline);
Pipeline newPipeline = mapping.getContainer(containerName).getPipeline();
Assert.assertEquals(pipeline.getLeader().getDatanodeUuid(),
@@ -147,12 +148,12 @@ public class TestContainerMapping {
Pipeline pipeline = mapping.allocateContainer(
xceiverClientManager.getType(),
xceiverClientManager.getFactor(), containerName,
- OzoneProtos.Owner.OZONE).getPipeline();
+ containerOwner).getPipeline();
Assert.assertNotNull(pipeline);
thrown.expectMessage("Specified container already exists.");
mapping.allocateContainer(xceiverClientManager.getType(),
xceiverClientManager.getFactor(), containerName,
- OzoneProtos.Owner.OZONE);
+ containerOwner);
}
@Test
@@ -169,7 +170,7 @@ public class TestContainerMapping {
thrown.expectMessage("Unable to create container while in chill mode");
mapping.allocateContainer(xceiverClientManager.getType(),
xceiverClientManager.getFactor(), containerName,
- OzoneProtos.Owner.OZONE);
+ containerOwner);
}
@Test
@@ -181,7 +182,7 @@ public class TestContainerMapping {
xceiverClientManager.getType(),
xceiverClientManager.getFactor(),
containerName,
- OzoneProtos.Owner.OZONE);
+ containerOwner);
mapping.updateContainerState(containerInfo.getContainerName(),
OzoneProtos.LifeCycleEvent.CREATE);
Thread.sleep(TIMEOUT + 1000);
@@ -265,7 +266,7 @@ public class TestContainerMapping {
Assert.assertEquals(5368705120L, updatedContainer.getUsedBytes());
List<ContainerInfo> pendingCloseContainers = mapping.getStateManager()
.getMatchingContainers(
- OzoneProtos.Owner.OZONE,
+ containerOwner,
xceiverClientManager.getType(),
xceiverClientManager.getFactor(),
OzoneProtos.LifeCycleState.CLOSING);
@@ -282,7 +283,7 @@ public class TestContainerMapping {
OzoneProtos.LifeCycleEvent.FINALIZE);
List<ContainerInfo> pendingCloseContainers = mapping.getStateManager()
.getMatchingContainers(
- OzoneProtos.Owner.OZONE,
+ containerOwner,
xceiverClientManager.getType(),
xceiverClientManager.getFactor(),
OzoneProtos.LifeCycleState.CLOSING);
@@ -293,7 +294,7 @@ public class TestContainerMapping {
OzoneProtos.LifeCycleEvent.CLOSE);
List<ContainerInfo> closeContainers = mapping.getStateManager()
.getMatchingContainers(
- OzoneProtos.Owner.OZONE,
+ containerOwner,
xceiverClientManager.getType(),
xceiverClientManager.getFactor(),
OzoneProtos.LifeCycleState.CLOSED);
@@ -314,7 +315,7 @@ public class TestContainerMapping {
xceiverClientManager.getType(),
xceiverClientManager.getFactor(),
containerName,
- OzoneProtos.Owner.OZONE);
+ containerOwner);
mapping.updateContainerState(containerInfo.getContainerName(),
OzoneProtos.LifeCycleEvent.CREATE);
mapping.updateContainerState(containerInfo.getContainerName(),
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org