hadoop git commit: HDFS-8674. Improve performance of postponed block scans. Contributed by Daryn Sharp.
Repository: hadoop Updated Branches: refs/heads/branch-2.7 948d0ac72 -> cafee1109 HDFS-8674. Improve performance of postponed block scans. Contributed by Daryn Sharp. (cherry picked from commit 0d8a35bd6de5d2a5a9b816ca98f31975e94bd7c6) Conflicts: hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/cafee110 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/cafee110 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/cafee110 Branch: refs/heads/branch-2.7 Commit: cafee1109c7b4a1e3fe2a1b18f0495a410cc19ef Parents: 948d0ac Author: Kihwal LeeAuthored: Thu Dec 1 12:20:30 2016 -0600 Committer: Konstantin V Shvachko Committed: Fri May 26 19:00:03 2017 -0700 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 2 + .../server/blockmanagement/BlockManager.java| 75 +++- 2 files changed, 26 insertions(+), 51 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/cafee110/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 7e4994a..09ee6cd 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -114,6 +114,8 @@ Release 2.7.4 - UNRELEASED HDFS-9710. DN can be configured to send block receipt IBRs in batches. (Tsz-Wo Nicholas Sze. Backport HDFS-11837 by Vinitha Reddy Gankidi) +HDFS-8674. Improve performance of postponed block scans. (Daryn Sharp) + BUG FIXES HDFS-8307. Spurious DNS Queries from hdfs shell. (Andres Perez via aengineer) http://git-wip-us.apache.org/repos/asf/hadoop/blob/cafee110/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java index aeb38e2..da15397 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -127,7 +128,6 @@ public class BlockManager { private volatile long underReplicatedBlocksCount = 0L; private volatile long scheduledReplicationBlocksCount = 0L; private final AtomicLong excessBlocksCount = new AtomicLong(0L); - private final AtomicLong postponedMisreplicatedBlocksCount = new AtomicLong(0L); private final long startupDelayBlockDeletionInMs; /** Used by metrics */ @@ -160,7 +160,7 @@ public class BlockManager { } /** Used by metrics */ public long getPostponedMisreplicatedBlocksCount() { -return postponedMisreplicatedBlocksCount.get(); +return postponedMisreplicatedBlocks.size(); } /** Used by metrics */ public int getPendingDataNodeMessageCount() { @@ -196,7 +196,10 @@ public class BlockManager { * notified of all block deletions that might have been pending * when the failover happened. */ - private final Set postponedMisreplicatedBlocks = Sets.newHashSet(); + private final LinkedHashSet postponedMisreplicatedBlocks = + new LinkedHashSet(); + private final int blocksPerPostpondedRescan; + private final ArrayList rescannedMisreplicatedBlocks; /** * Maps a StorageID to the set of blocks that are "extra" for this @@ -286,7 +289,10 @@ public class BlockManager { this.namesystem = namesystem; datanodeManager = new DatanodeManager(this, namesystem, conf); heartbeatManager = datanodeManager.getHeartbeatManager(); - +blocksPerPostpondedRescan = (int)Math.min(Integer.MAX_VALUE, +datanodeManager.getBlocksPerPostponedMisreplicatedBlocksRescan()); +rescannedMisreplicatedBlocks = +new ArrayList(blocksPerPostpondedRescan); startupDelayBlockDeletionInMs = conf.getLong( DFSConfigKeys.DFS_NAMENODE_STARTUP_DELAY_BLOCK_DELETION_SEC_KEY, DFSConfigKeys.DFS_NAMENODE_STARTUP_DELAY_BLOCK_DELETION_SEC_DEFAULT) * 1000L; @@ -1319,9 +1325,7 @@ public class BlockManager { private void postponeBlock(Block blk) { -if
hadoop git commit: HADOOP-14442. Owner support for ranger-wasb integration. Contributed by Varada Hemeswari
Repository: hadoop Updated Branches: refs/heads/branch-2 f20039949 -> 9d7e67ccf HADOOP-14442. Owner support for ranger-wasb integration. Contributed by Varada Hemeswari (cherry picked from commit 89bb8bfe582ba85566cede321b233bb642f1c675) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9d7e67cc Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9d7e67cc Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9d7e67cc Branch: refs/heads/branch-2 Commit: 9d7e67ccf928f0ad8489b2a773ec282a6612ce89 Parents: f200399 Author: Mingliang LiuAuthored: Fri May 26 17:52:56 2017 -0700 Committer: Mingliang Liu Committed: Fri May 26 17:59:14 2017 -0700 -- .../hadoop/fs/azure/NativeAzureFileSystem.java | 48 +++- .../fs/azure/RemoteWasbAuthorizerImpl.java | 12 +- .../fs/azure/WasbAuthorizerInterface.java | 3 +- .../hadoop/fs/azure/MockWasbAuthorizerImpl.java | 52 ++-- .../TestNativeAzureFileSystemAuthorization.java | 90 -- ...veAzureFileSystemAuthorizationWithOwner.java | 122 +++ 6 files changed, 247 insertions(+), 80 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/9d7e67cc/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java -- diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java index 621b423..bb6f8c9 100644 --- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java +++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java @@ -200,7 +200,7 @@ public class NativeAzureFileSystem extends FileSystem { JsonNode oldFolderName = json.get("OldFolderName"); JsonNode newFolderName = json.get("NewFolderName"); if (oldFolderName == null || newFolderName == null) { - this.committed = false; +this.committed = false; } else { this.srcKey = oldFolderName.getTextValue(); this.dstKey = newFolderName.getTextValue(); @@ -349,7 +349,7 @@ public class NativeAzureFileSystem extends FileSystem { return contents; } - + /** * This is an exact copy of org.codehaus.jettison.json.JSONObject.quote * method. @@ -639,7 +639,7 @@ public class NativeAzureFileSystem extends FileSystem { return "wasb"; } - + /** * * A {@link FileSystem} for reading and writing files stored on http://git-wip-us.apache.org/repos/asf/hadoop/blob/9d7e67cc/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java -- diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java index 9c85816..faef159 100644 --- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java +++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java @@ -87,6 +87,12 @@ public class RemoteWasbAuthorizerImpl implements WasbAuthorizerInterface { private static final String DELEGATION_TOKEN_QUERY_PARAM_NAME = "delegation"; + /** + * Query parameter name for sending owner of the specific resource {@value} + */ + private static final String WASB_RESOURCE_OWNER_QUERY_PARAM_NAME = + "wasb_resource_owner"; + private WasbRemoteCallHelper remoteCallHelper = null; private String delegationToken; private boolean isSecurityEnabled; @@ -119,7 +125,7 @@ public class RemoteWasbAuthorizerImpl implements WasbAuthorizerInterface { } @Override - public boolean authorize(String wasbAbsolutePath, String accessType) + public boolean authorize(String wasbAbsolutePath, String accessType, String resourceOwner) throws WasbAuthorizationException, IOException { try { @@ -139,6 +145,10 @@ public class RemoteWasbAuthorizerImpl implements WasbAuthorizerInterface { uriBuilder.addParameter(DELEGATION_TOKEN_QUERY_PARAM_NAME, delegationToken); } +if (resourceOwner != null && StringUtils.isNotEmpty(resourceOwner)) { + uriBuilder.addParameter(WASB_RESOURCE_OWNER_QUERY_PARAM_NAME, + resourceOwner); +} String responseBody = null; UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
hadoop git commit: HADOOP-14442. Owner support for ranger-wasb integration. Contributed by Varada Hemeswari
Repository: hadoop Updated Branches: refs/heads/trunk bd6a2172e -> 89bb8bfe5 HADOOP-14442. Owner support for ranger-wasb integration. Contributed by Varada Hemeswari Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/89bb8bfe Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/89bb8bfe Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/89bb8bfe Branch: refs/heads/trunk Commit: 89bb8bfe582ba85566cede321b233bb642f1c675 Parents: bd6a217 Author: Mingliang LiuAuthored: Fri May 26 17:52:56 2017 -0700 Committer: Mingliang Liu Committed: Fri May 26 17:54:00 2017 -0700 -- .../hadoop/fs/azure/NativeAzureFileSystem.java | 48 +++- .../fs/azure/RemoteWasbAuthorizerImpl.java | 12 +- .../fs/azure/WasbAuthorizerInterface.java | 3 +- .../hadoop/fs/azure/MockWasbAuthorizerImpl.java | 52 ++-- .../TestNativeAzureFileSystemAuthorization.java | 90 -- ...veAzureFileSystemAuthorizationWithOwner.java | 122 +++ 6 files changed, 247 insertions(+), 80 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/89bb8bfe/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java -- diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java index 0ba47ef..b61baab 100644 --- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java +++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java @@ -200,7 +200,7 @@ public class NativeAzureFileSystem extends FileSystem { JsonNode oldFolderName = json.get("OldFolderName"); JsonNode newFolderName = json.get("NewFolderName"); if (oldFolderName == null || newFolderName == null) { - this.committed = false; +this.committed = false; } else { this.srcKey = oldFolderName.textValue(); this.dstKey = newFolderName.textValue(); @@ -349,7 +349,7 @@ public class NativeAzureFileSystem extends FileSystem { return contents; } - + /** * This is an exact copy of org.codehaus.jettison.json.JSONObject.quote * method. @@ -639,7 +639,7 @@ public class NativeAzureFileSystem extends FileSystem { return "wasb"; } - + /** * * A {@link FileSystem} for reading and writing files stored on http://git-wip-us.apache.org/repos/asf/hadoop/blob/89bb8bfe/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java -- diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java index ea08b2b..3c912d7 100644 --- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java +++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/RemoteWasbAuthorizerImpl.java @@ -87,6 +87,12 @@ public class RemoteWasbAuthorizerImpl implements WasbAuthorizerInterface { private static final String DELEGATION_TOKEN_QUERY_PARAM_NAME = "delegation"; + /** + * Query parameter name for sending owner of the specific resource {@value} + */ + private static final String WASB_RESOURCE_OWNER_QUERY_PARAM_NAME = + "wasb_resource_owner"; + private WasbRemoteCallHelper remoteCallHelper = null; private String delegationToken; private boolean isSecurityEnabled; @@ -119,7 +125,7 @@ public class RemoteWasbAuthorizerImpl implements WasbAuthorizerInterface { } @Override - public boolean authorize(String wasbAbsolutePath, String accessType) + public boolean authorize(String wasbAbsolutePath, String accessType, String resourceOwner) throws WasbAuthorizationException, IOException { try { @@ -140,6 +146,10 @@ public class RemoteWasbAuthorizerImpl implements WasbAuthorizerInterface { uriBuilder.addParameter(DELEGATION_TOKEN_QUERY_PARAM_NAME, delegationToken); } +if (resourceOwner != null && StringUtils.isNotEmpty(resourceOwner)) { + uriBuilder.addParameter(WASB_RESOURCE_OWNER_QUERY_PARAM_NAME, + resourceOwner); +} String responseBody = null; UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
[48/50] [abbrv] hadoop git commit: YARN-5531. UnmanagedAM pool manager for federating application across clusters. (Botong Huang via Subru).
http://git-wip-us.apache.org/repos/asf/hadoop/blob/a86926f0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java index 55b8fbb..d78d01c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java @@ -102,6 +102,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.security .AMRMTokenSecretManager; import org.apache.hadoop.yarn.server.resourcemanager.security.authorize.RMPolicyProvider; import org.apache.hadoop.yarn.server.security.MasterKeyData; +import org.apache.hadoop.yarn.server.utils.AMRMClientUtils; import org.apache.hadoop.yarn.server.utils.BuilderUtils; import org.apache.hadoop.yarn.server.utils.YarnServerSecurityUtils; import org.apache.hadoop.yarn.util.resource.Resources; @@ -223,9 +224,7 @@ public class ApplicationMasterService extends AbstractService implements synchronized (lock) { AllocateResponse lastResponse = lock.getAllocateResponse(); if (hasApplicationMasterRegistered(applicationAttemptId)) { -String message = -"Application Master is already registered : " -+ appID; +String message = AMRMClientUtils.APP_ALREADY_REGISTERED_MESSAGE + appID; LOG.warn(message); RMAuditLogger.logFailure( this.rmContext.getRMApps() http://git-wip-us.apache.org/repos/asf/hadoop/blob/a86926f0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java index 9e84010..8e14176 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java @@ -73,6 +73,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.amlauncher.ApplicationMaste import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp; import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt; import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptState; +import org.apache.hadoop.yarn.server.utils.AMRMClientUtils; import org.apache.hadoop.yarn.server.utils.BuilderUtils; import org.apache.log4j.Level; import org.apache.log4j.LogManager; @@ -338,9 +339,8 @@ public class TestApplicationMasterLauncher { am.registerAppAttempt(false); Assert.fail(); } catch (Exception e) { - Assert.assertEquals("Application Master is already registered : " - + attempt.getAppAttemptId().getApplicationId(), -e.getMessage()); + Assert.assertEquals(AMRMClientUtils.APP_ALREADY_REGISTERED_MESSAGE + + attempt.getAppAttemptId().getApplicationId(), e.getMessage()); } // Simulate an AM that was disconnected and app attempt was removed - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[38/50] [abbrv] hadoop git commit: YARN-6203: Occasional test failure in TestWeightedRandomRouterPolicy (curino)
YARN-6203: Occasional test failure in TestWeightedRandomRouterPolicy (curino) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1752f593 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1752f593 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1752f593 Branch: refs/heads/YARN-2915 Commit: 1752f593f7f28fd1770e0f4745d66d3db44cde62 Parents: 6366046 Author: Carlo CurinoAuthored: Thu Apr 13 12:09:39 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- .../router/TestWeightedRandomRouterPolicy.java| 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/1752f593/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/router/TestWeightedRandomRouterPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/router/TestWeightedRandomRouterPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/router/TestWeightedRandomRouterPolicy.java index 34cc5f8..09173e6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/router/TestWeightedRandomRouterPolicy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/router/TestWeightedRandomRouterPolicy.java @@ -50,8 +50,9 @@ public class TestWeightedRandomRouterPolicy extends BaseRouterPoliciesTest { Map routerWeights = new HashMap<>(); Map amrmWeights = new HashMap<>(); -// simulate 20 subclusters with a 5% chance of being inactive -for (int i = 0; i < 20; i++) { +float numSubClusters = 20; +// simulate N subclusters each with a 5% chance of being inactive +for (int i = 0; i < numSubClusters; i++) { SubClusterIdInfo sc = new SubClusterIdInfo("sc" + i); // with 5% omit a subcluster if (getRand().nextFloat() < 0.95f) { @@ -60,8 +61,12 @@ public class TestWeightedRandomRouterPolicy extends BaseRouterPoliciesTest { when(sci.getSubClusterId()).thenReturn(sc.toId()); getActiveSubclusters().put(sc.toId(), sci); } - // 5% chance we omit one of the weights - float weight = getRand().nextFloat(); + + // 80% of the weight is evenly spread, 20% is randomly generated + float weight = + (0.8f * 1f / numSubClusters) + (0.2f * getRand().nextFloat()); + + // also 5% chance we omit one of the weights if (i <= 5 || getRand().nextFloat() > 0.05f) { routerWeights.put(sc, weight); amrmWeights.put(sc, weight); @@ -89,7 +94,7 @@ public class TestWeightedRandomRouterPolicy extends BaseRouterPoliciesTest { counter.put(id.toId(), new AtomicLong(0)); } -float numberOfDraws = 10; +float numberOfDraws = 1; for (float i = 0; i < numberOfDraws; i++) { SubClusterId chosenId = ((FederationRouterPolicy) getPolicy()) @@ -118,8 +123,7 @@ public class TestWeightedRandomRouterPolicy extends BaseRouterPoliciesTest { Assert.assertTrue( "Id " + counterEntry.getKey() + " Actual weight: " + actualWeight + " expected weight: " + expectedWeight, -expectedWeight == 0 || (actualWeight / expectedWeight) < 1.2 -&& (actualWeight / expectedWeight) > 0.8); +Math.abs(actualWeight - expectedWeight) < 0.01); } else { Assert .assertTrue( - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[36/50] [abbrv] hadoop git commit: YARN-5413. Create a proxy chain for ResourceManager Admin API in the Router. (Giovanni Matteo Fumarola via Subru).
YARN-5413. Create a proxy chain for ResourceManager Admin API in the Router. (Giovanni Matteo Fumarola via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e6bc6a0f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e6bc6a0f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e6bc6a0f Branch: refs/heads/YARN-2915 Commit: e6bc6a0f6ade6c0c85ae3ca61c25bd78d27023d4 Parents: 0125c1a Author: Subru KrishnanAuthored: Tue May 9 19:19:27 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- .../hadoop/yarn/conf/YarnConfiguration.java | 22 +- .../src/main/resources/yarn-default.xml | 25 +- .../hadoop/yarn/util/TestLRUCacheHashMap.java | 2 +- .../yarn/server/MockResourceManagerFacade.java | 120 +- .../hadoop/yarn/server/router/Router.java | 10 + .../AbstractClientRequestInterceptor.java | 11 +- .../DefaultClientRequestInterceptor.java| 2 +- .../router/clientrm/RouterClientRMService.java | 16 +- .../AbstractRMAdminRequestInterceptor.java | 90 .../DefaultRMAdminRequestInterceptor.java | 215 ++ .../rmadmin/RMAdminRequestInterceptor.java | 65 +++ .../router/rmadmin/RouterRMAdminService.java| 423 +++ .../server/router/rmadmin/package-info.java | 20 + .../router/clientrm/BaseRouterClientRMTest.java | 2 +- .../router/rmadmin/BaseRouterRMAdminTest.java | 346 +++ .../rmadmin/MockRMAdminRequestInterceptor.java | 36 ++ .../PassThroughRMAdminRequestInterceptor.java | 148 +++ .../rmadmin/TestRouterRMAdminService.java | 219 ++ 18 files changed, 1750 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/e6bc6a0f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 7f2655f..4d1463b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2621,6 +2621,8 @@ public class YarnConfiguration extends Configuration { public static final String ROUTER_PREFIX = YARN_PREFIX + "router."; + public static final String ROUTER_BIND_HOST = ROUTER_PREFIX + "bind-host"; + public static final String ROUTER_CLIENTRM_PREFIX = ROUTER_PREFIX + "clientrm."; @@ -2636,9 +2638,23 @@ public class YarnConfiguration extends Configuration { "org.apache.hadoop.yarn.server.router.clientrm." + "DefaultClientRequestInterceptor"; - public static final String ROUTER_CLIENTRM_PIPELINE_CACHE_MAX_SIZE = - ROUTER_CLIENTRM_PREFIX + "cache-max-size"; - public static final int DEFAULT_ROUTER_CLIENTRM_PIPELINE_CACHE_MAX_SIZE = 25; + public static final String ROUTER_PIPELINE_CACHE_MAX_SIZE = + ROUTER_PREFIX + "pipeline.cache-max-size"; + public static final int DEFAULT_ROUTER_PIPELINE_CACHE_MAX_SIZE = 25; + + public static final String ROUTER_RMADMIN_PREFIX = ROUTER_PREFIX + "rmadmin."; + + public static final String ROUTER_RMADMIN_ADDRESS = + ROUTER_RMADMIN_PREFIX + ".address"; + public static final int DEFAULT_ROUTER_RMADMIN_PORT = 8052; + public static final String DEFAULT_ROUTER_RMADMIN_ADDRESS = + "0.0.0.0:" + DEFAULT_ROUTER_RMADMIN_PORT; + + public static final String ROUTER_RMADMIN_INTERCEPTOR_CLASS_PIPELINE = + ROUTER_RMADMIN_PREFIX + "interceptor-class.pipeline"; + public static final String DEFAULT_ROUTER_RMADMIN_INTERCEPTOR_CLASS = + "org.apache.hadoop.yarn.server.router.rmadmin." + + "DefaultRMAdminRequestInterceptor"; // Other Configs http://git-wip-us.apache.org/repos/asf/hadoop/blob/e6bc6a0f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml index 03559dc..ad936ff 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml @@ -3159,10 +3159,31 @@ -
[42/50] [abbrv] hadoop git commit: YARN-6370. Properly handle rack requests for non-active subclusters in LocalityMulticastAMRMProxyPolicy. (Contributed by Botong Huang via curino).
YARN-6370. Properly handle rack requests for non-active subclusters in LocalityMulticastAMRMProxyPolicy. (Contributed by Botong Huang via curino). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/93b3c0fe Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/93b3c0fe Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/93b3c0fe Branch: refs/heads/YARN-2915 Commit: 93b3c0feb37315c6439ffb696a2d34f5980318af Parents: cf0e9dd Author: Carlo CurinoAuthored: Wed Mar 22 13:53:47 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- .../LocalityMulticastAMRMProxyPolicy.java | 6 ++- .../TestLocalityMulticastAMRMProxyPolicy.java | 53 +--- 2 files changed, 41 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/93b3c0fe/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java index 6f97a51..454962f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java @@ -261,7 +261,11 @@ public class LocalityMulticastAMRMProxyPolicy extends AbstractAMRMProxyPolicy { // If home-subcluster is not active, ignore node/rack request if (bookkeeper.isActiveAndEnabled(homeSubcluster)) { -bookkeeper.addLocalizedNodeRR(homeSubcluster, rr); +if (targetIds != null && targetIds.size() > 0) { + bookkeeper.addRackRR(homeSubcluster, rr); +} else { + bookkeeper.addLocalizedNodeRR(homeSubcluster, rr); +} } else { if (LOG.isDebugEnabled()) { LOG.debug("The homeSubCluster (" + homeSubcluster + ") we are " http://git-wip-us.apache.org/repos/asf/hadoop/blob/93b3c0fe/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/TestLocalityMulticastAMRMProxyPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/TestLocalityMulticastAMRMProxyPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/TestLocalityMulticastAMRMProxyPolicy.java index 5b3cf74..6e3a2f1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/TestLocalityMulticastAMRMProxyPolicy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/TestLocalityMulticastAMRMProxyPolicy.java @@ -339,19 +339,20 @@ public class TestLocalityMulticastAMRMProxyPolicy validateSplit(response, resourceRequests); prettyPrintRequests(response); -// we expect 4 entry for home subcluster (3 for request-id 4, and a part -// of the broadcast of request-id 2 -checkExpectedAllocation(response, getHomeSubCluster().getId(), 4, 23); +// we expect 7 entries for home subcluster (2 for request-id 4, 3 for +// request-id 5, and a part of the broadcast of request-id 2 +checkExpectedAllocation(response, getHomeSubCluster().getId(), 7, 29); -// for subcluster0 we expect 3 entry from request-id 0, and 3 from -// request-id 3, as well as part of the request-id 2 broadast -checkExpectedAllocation(response, "subcluster0", 7, 26); +// for subcluster0 we expect 10 entries, 3 from request-id 0, and 3 from +// request-id 3, 3 entries from request-id 5, as well as part of the +// request-id 2 broadast +checkExpectedAllocation(response, "subcluster0", 10, 32); -// we expect 5 entry for subcluster1 (4 from
[40/50] [abbrv] hadoop git commit: YARN-5411. Create a proxy chain for ApplicationClientProtocol in the Router. (Giovanni Matteo Fumarola via Subru).
http://git-wip-us.apache.org/repos/asf/hadoop/blob/0125c1a8/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/DefaultClientRequestInterceptor.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/DefaultClientRequestInterceptor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/DefaultClientRequestInterceptor.java new file mode 100644 index 000..12b933b --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/DefaultClientRequestInterceptor.java @@ -0,0 +1,334 @@ +/** + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.server.router.clientrm; + +import java.io.IOException; +import java.security.PrivilegedExceptionAction; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.security.UserGroupInformation; +import org.apache.hadoop.yarn.api.ApplicationClientProtocol; +import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenRequest; +import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenResponse; +import org.apache.hadoop.yarn.api.protocolrecords.FailApplicationAttemptRequest; +import org.apache.hadoop.yarn.api.protocolrecords.FailApplicationAttemptResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeLabelsRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeLabelsResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetContainersRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetContainersResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetLabelsToNodesRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetLabelsToNodesResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetNewReservationRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetNewReservationResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoRequest; +import org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoResponse; +import org.apache.hadoop.yarn.api.protocolrecords.KillApplicationRequest; +import
[27/50] [abbrv] hadoop git commit: YARN-5323. Policies APIs for Federation Router and AMRMProxy policies. (Carlo Curino via Subru).
YARN-5323. Policies APIs for Federation Router and AMRMProxy policies. (Carlo Curino via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1bb1ecfc Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1bb1ecfc Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1bb1ecfc Branch: refs/heads/YARN-2915 Commit: 1bb1ecfcd4e1fbf407224d94c9f9dedbd473fcbd Parents: 3ea0703 Author: Subru KrishnanAuthored: Wed Sep 7 17:33:34 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../policies/ConfigurableFederationPolicy.java | 44 +++ .../policies/FederationPolicyConfigurator.java | 91 + .../FederationPolicyInitializationContext.java | 109 ...ionPolicyInitializationContextValidator.java | 82 .../policies/FederationPolicyWriter.java| 45 +++ .../amrmproxy/FederationAMRMProxyPolicy.java| 66 ++ .../policies/amrmproxy/package-info.java| 20 +++ .../exceptions/FederationPolicyException.java | 33 + ...FederationPolicyInitializationException.java | 33 + .../NoActiveSubclustersException.java | 27 .../exceptions/UnknownSubclusterException.java | 28 .../policies/exceptions/package-info.java | 20 +++ .../federation/policies/package-info.java | 20 +++ .../policies/router/FederationRouterPolicy.java | 45 +++ .../policies/router/package-info.java | 20 +++ ...ionPolicyInitializationContextValidator.java | 128 +++ .../utils/FederationPoliciesTestUtil.java | 83 17 files changed, 894 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/1bb1ecfc/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/ConfigurableFederationPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/ConfigurableFederationPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/ConfigurableFederationPolicy.java new file mode 100644 index 000..fd6ceea --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/ConfigurableFederationPolicy.java @@ -0,0 +1,44 @@ +/** + * 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 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.yarn.server.federation.policies; + +import org.apache.hadoop.yarn.server.federation.policies.exceptions.FederationPolicyInitializationException; + +/** + * This interface provides a general method to reinitialize a policy. The + * semantics are try-n-swap, so in case of an exception is thrown the + * implmentation must ensure the previous state and configuration is preserved. + */ +public interface ConfigurableFederationPolicy { + + /** + * This method is invoked to initialize of update the configuration of + * policies. The implementor should provide try-n-swap semantics, and retain + * state if possible. + * + * @param federationPolicyInitializationContext the new context to provide to + * implementor. + * + * @throws FederationPolicyInitializationException in case the initialization + * fails. + */ + void reinitialize( + FederationPolicyInitializationContext + federationPolicyInitializationContext) + throws FederationPolicyInitializationException; +}
[03/50] [abbrv] hadoop git commit: Update 3.0.0-alpha3 changes, release notes, jdiff.
Update 3.0.0-alpha3 changes, release notes, jdiff. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2cd612ba Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2cd612ba Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2cd612ba Branch: refs/heads/YARN-2915 Commit: 2cd612ba8e3b84ddf41acf7b1beb0a4757a2465b Parents: 16ad896 Author: Andrew WangAuthored: Fri May 26 14:14:38 2017 -0700 Committer: Andrew Wang Committed: Fri May 26 14:14:38 2017 -0700 -- .../3.0.0-alpha3/CHANGES.3.0.0-alpha3.md| 71 .../3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md | 22 ++ .../jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml | 326 +++ 3 files changed, 419 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cd612ba/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/CHANGES.3.0.0-alpha3.md -- diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/CHANGES.3.0.0-alpha3.md b/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/CHANGES.3.0.0-alpha3.md new file mode 100644 index 000..61d63e0 --- /dev/null +++ b/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/CHANGES.3.0.0-alpha3.md @@ -0,0 +1,71 @@ + + +# "Apache Hadoop" Changelog + +## Release 3.0.0-alpha3 - 2017-05-25 + +### INCOMPATIBLE CHANGES: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### IMPORTANT ISSUES: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### NEW FEATURES: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### IMPROVEMENTS: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### BUG FIXES: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | +| [YARN-6336](https://issues.apache.org/jira/browse/YARN-6336) | Jenkins report YARN new UI build failure | Blocker | . | Junping Du | Sunil G | +| [YARN-6278](https://issues.apache.org/jira/browse/YARN-6278) | Enforce to use correct node and npm version in new YARN-UI build | Critical | . | Sunil G | Sunil G | + + +### TESTS: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### SUB-TASKS: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### OTHER: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cd612ba/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md -- diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md b/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md new file mode 100644 index 000..bda1807 --- /dev/null +++ b/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md @@ -0,0 +1,22 @@ + + +# "Apache Hadoop" 3.0.0-alpha3 Release Notes + +These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements. + http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cd612ba/hadoop-hdfs-project/hadoop-hdfs/dev-support/jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/dev-support/jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml b/hadoop-hdfs-project/hadoop-hdfs/dev-support/jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml new file mode 100644 index 000..cadf733 --- /dev/null +++ b/hadoop-hdfs-project/hadoop-hdfs/dev-support/jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[25/50] [abbrv] hadoop git commit: YARN-3671. Integrate Federation services with ResourceManager. Contributed by Subru Krishnan
YARN-3671. Integrate Federation services with ResourceManager. Contributed by Subru Krishnan Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/30f7f566 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/30f7f566 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/30f7f566 Branch: refs/heads/YARN-2915 Commit: 30f7f566f10f849336c6663dd6c084b3ac7d745d Parents: a92e521 Author: Jian HeAuthored: Tue Aug 30 12:20:52 2016 +0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../hadoop/yarn/conf/YarnConfiguration.java | 11 +- .../yarn/conf/TestYarnConfigurationFields.java | 4 +- .../failover/FederationProxyProviderUtil.java | 2 +- .../FederationRMFailoverProxyProvider.java | 4 +- ...ationMembershipStateStoreInputValidator.java | 7 +- .../TestFederationStateStoreInputValidator.java | 10 +- .../server/resourcemanager/ResourceManager.java | 26 ++ .../FederationStateStoreHeartbeat.java | 108 +++ .../federation/FederationStateStoreService.java | 304 +++ .../federation/package-info.java| 17 ++ .../webapp/dao/ClusterMetricsInfo.java | 5 +- .../TestFederationRMStateStoreService.java | 170 +++ 12 files changed, 648 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/30f7f566/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 0580a7f..b978ece 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2550,9 +2550,6 @@ public class YarnConfiguration extends Configuration { FEDERATION_PREFIX + "failover.enabled"; public static final boolean DEFAULT_FEDERATION_FAILOVER_ENABLED = true; - public static final String FEDERATION_SUBCLUSTER_ID = - FEDERATION_PREFIX + "sub-cluster.id"; - public static final String FEDERATION_STATESTORE_CLIENT_CLASS = FEDERATION_PREFIX + "state-store.class"; @@ -2565,6 +2562,14 @@ public class YarnConfiguration extends Configuration { // 5 minutes public static final int DEFAULT_FEDERATION_CACHE_TIME_TO_LIVE_SECS = 5 * 60; + public static final String FEDERATION_STATESTORE_HEARTBEAT_INTERVAL_SECS = + FEDERATION_PREFIX + "state-store.heartbeat-interval-secs"; + + // 5 minutes + public static final int + DEFAULT_FEDERATION_STATESTORE_HEARTBEAT_INTERVAL_SECS = + 5 * 60; + public static final String FEDERATION_MACHINE_LIST = FEDERATION_PREFIX + "machine-list"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/30f7f566/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java index c4d8f38..5e0876f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java @@ -72,9 +72,9 @@ public class TestYarnConfigurationFields extends TestConfigurationFieldsBase { configurationPropsToSkipCompare .add(YarnConfiguration.DEFAULT_FEDERATION_STATESTORE_CLIENT_CLASS); configurationPropsToSkipCompare -.add(YarnConfiguration.FEDERATION_SUBCLUSTER_ID); -configurationPropsToSkipCompare .add(YarnConfiguration.FEDERATION_FAILOVER_ENABLED); +configurationPropsToSkipCompare +.add(YarnConfiguration.FEDERATION_STATESTORE_HEARTBEAT_INTERVAL_SECS); // Ignore blacklisting nodes for AM failures feature since it is still a // "work in progress" http://git-wip-us.apache.org/repos/asf/hadoop/blob/30f7f566/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java
[16/50] [abbrv] hadoop git commit: YARN-3662. Federation Membership State Store internal APIs.
http://git-wip-us.apache.org/repos/asf/hadoop/blob/7cce1696/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/records/impl/pb/SubClusterDeregisterRequestPBImpl.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/records/impl/pb/SubClusterDeregisterRequestPBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/records/impl/pb/SubClusterDeregisterRequestPBImpl.java new file mode 100644 index 000..d4c5451 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/records/impl/pb/SubClusterDeregisterRequestPBImpl.java @@ -0,0 +1,156 @@ +/** + * 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 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.yarn.server.federation.store.records.impl.pb; + +import org.apache.hadoop.classification.InterfaceAudience.Private; +import org.apache.hadoop.classification.InterfaceStability.Unstable; +import org.apache.hadoop.yarn.federation.proto.YarnServerFederationProtos.SubClusterDeregisterRequestProto; +import org.apache.hadoop.yarn.federation.proto.YarnServerFederationProtos.SubClusterDeregisterRequestProtoOrBuilder; +import org.apache.hadoop.yarn.federation.proto.YarnServerFederationProtos.SubClusterIdProto; +import org.apache.hadoop.yarn.federation.proto.YarnServerFederationProtos.SubClusterStateProto; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterDeregisterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterId; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterState; + +import com.google.protobuf.TextFormat; + +/** + * Protocol buffer based implementation of {@link SubClusterDeregisterRequest}. + */ +@Private +@Unstable +public class SubClusterDeregisterRequestPBImpl +extends SubClusterDeregisterRequest { + + private SubClusterDeregisterRequestProto proto = + SubClusterDeregisterRequestProto.getDefaultInstance(); + private SubClusterDeregisterRequestProto.Builder builder = null; + private boolean viaProto = false; + + public SubClusterDeregisterRequestPBImpl() { +builder = SubClusterDeregisterRequestProto.newBuilder(); + } + + public SubClusterDeregisterRequestPBImpl( + SubClusterDeregisterRequestProto proto) { +this.proto = proto; +viaProto = true; + } + + public SubClusterDeregisterRequestProto getProto() { +mergeLocalToProto(); +proto = viaProto ? proto : builder.build(); +viaProto = true; +return proto; + } + + private void mergeLocalToProto() { +if (viaProto) { + maybeInitBuilder(); +} +mergeLocalToBuilder(); +proto = builder.build(); +viaProto = true; + } + + private void maybeInitBuilder() { +if (viaProto || builder == null) { + builder = SubClusterDeregisterRequestProto.newBuilder(proto); +} +viaProto = false; + } + + private void mergeLocalToBuilder() { + } + + @Override + public int hashCode() { +return getProto().hashCode(); + } + + @Override + public boolean equals(Object other) { +if (other == null) { + return false; +} +if (other.getClass().isAssignableFrom(this.getClass())) { + return this.getProto().equals(this.getClass().cast(other).getProto()); +} +return false; + } + + @Override + public String toString() { +return TextFormat.shortDebugString(getProto()); + } + + @Override + public SubClusterId getSubClusterId() { +SubClusterDeregisterRequestProtoOrBuilder p = viaProto ? proto : builder; +if (!p.hasSubClusterId()) { + return null; +} +return convertFromProtoFormat(p.getSubClusterId()); + } + + @Override + public void setSubClusterId(SubClusterId subClusterId) { +maybeInitBuilder(); +if (subClusterId == null) { + builder.clearSubClusterId(); + return; +} +
[37/50] [abbrv] hadoop git commit: YARN-6190. Validation and synchronization fixes in LocalityMulticastAMRMProxyPolicy. (Botong Huang via curino)
YARN-6190. Validation and synchronization fixes in LocalityMulticastAMRMProxyPolicy. (Botong Huang via curino) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e5734796 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e5734796 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e5734796 Branch: refs/heads/YARN-2915 Commit: e5734796b020b41f00df1aebd8a8530282f4b3e3 Parents: 0377673 Author: Carlo CurinoAuthored: Tue Feb 28 17:04:20 2017 -0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- .../LocalityMulticastAMRMProxyPolicy.java | 63 +--- .../TestLocalityMulticastAMRMProxyPolicy.java | 21 ++- .../policies/manager/BasePolicyManagerTest.java | 3 - .../resolver/TestDefaultSubClusterResolver.java | 9 ++- .../utils/FederationPoliciesTestUtil.java | 6 +- 5 files changed, 73 insertions(+), 29 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/e5734796/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java index 283f89e..6f97a51 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/LocalityMulticastAMRMProxyPolicy.java @@ -32,6 +32,7 @@ import org.apache.hadoop.yarn.api.protocolrecords.AllocateResponse; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.api.records.ResourceRequest; import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.exceptions.YarnRuntimeException; import org.apache.hadoop.yarn.server.federation.policies.FederationPolicyInitializationContext; import org.apache.hadoop.yarn.server.federation.policies.dao.WeightedPolicyInfo; import org.apache.hadoop.yarn.server.federation.policies.exceptions.FederationPolicyInitializationException; @@ -143,10 +144,9 @@ public class LocalityMulticastAMRMProxyPolicy extends AbstractAMRMProxyPolicy { Map newWeightsConverted = new HashMap<>(); boolean allInactive = true; WeightedPolicyInfo policy = getPolicyInfo(); -if (policy.getAMRMPolicyWeights() == null -|| policy.getAMRMPolicyWeights().size() == 0) { - allInactive = false; -} else { + +if (policy.getAMRMPolicyWeights() != null +&& policy.getAMRMPolicyWeights().size() > 0) { for (Map.Entry e : policy.getAMRMPolicyWeights() .entrySet()) { if (e.getValue() > 0) { @@ -180,7 +180,6 @@ public class LocalityMulticastAMRMProxyPolicy extends AbstractAMRMProxyPolicy { this.federationFacade = policyContext.getFederationStateStoreFacade(); -this.bookkeeper = new AllocationBookkeeper(); this.homeSubcluster = policyContext.getHomeSubcluster(); } @@ -197,7 +196,9 @@ public class LocalityMulticastAMRMProxyPolicy extends AbstractAMRMProxyPolicy { List resourceRequests) throws YarnException { // object used to accumulate statistics about the answer, initialize with -// active subclusters. +// active subclusters. Create a new instance per call because this method +// can be called concurrently. +bookkeeper = new AllocationBookkeeper(); bookkeeper.reinitialize(federationFacade.getSubClusters(true)); List nonLocalizedRequests = @@ -238,12 +239,16 @@ public class LocalityMulticastAMRMProxyPolicy extends AbstractAMRMProxyPolicy { // we log altogether later } if (targetIds != null && targetIds.size() > 0) { +boolean hasActive = false; for (SubClusterId tid : targetIds) { if (bookkeeper.isActiveAndEnabled(tid)) { bookkeeper.addRackRR(tid, rr); +hasActive = true; } } -continue; +if (hasActive) { + continue; +} } // Handle node/rack requests that the SubClusterResolver cannot map to @@ -347,7 +352,7
[05/50] [abbrv] hadoop git commit: YARN-5407. In-memory based implementation of the FederationApplicationStateStore/FederationPolicyStateStore. (Ellen Hui via Subru)
YARN-5407. In-memory based implementation of the FederationApplicationStateStore/FederationPolicyStateStore. (Ellen Hui via Subru) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/80069c43 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/80069c43 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/80069c43 Branch: refs/heads/YARN-2915 Commit: 80069c43fe12469662089e74b265bb3f765f5586 Parents: b824569 Author: Subru KrishnanAuthored: Tue Aug 9 16:07:55 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- .../store/impl/MemoryFederationStateStore.java | 158 +++- ...SubClusterPoliciesConfigurationsRequest.java | 2 +- ...ubClusterPoliciesConfigurationsResponse.java | 2 +- ...GetSubClusterPolicyConfigurationRequest.java | 3 +- ...etSubClusterPolicyConfigurationResponse.java | 2 +- ...SetSubClusterPolicyConfigurationRequest.java | 20 +- ...etSubClusterPolicyConfigurationResponse.java | 2 +- .../records/SubClusterPolicyConfiguration.java | 27 +- ...tApplicationHomeSubClusterRequestPBImpl.java | 4 + ...ClusterPolicyConfigurationRequestPBImpl.java | 17 - .../pb/SubClusterPolicyConfigurationPBImpl.java | 17 + .../proto/yarn_server_federation_protos.proto | 8 +- .../impl/FederationStateStoreBaseTest.java | 367 ++- .../impl/TestMemoryFederationStateStore.java| 4 +- 14 files changed, 558 insertions(+), 75 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/80069c43/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java index cea4ac2..a540dff 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java @@ -20,35 +20,72 @@ package org.apache.hadoop.yarn.server.federation.store.impl; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.federation.store.records.SubClusterId; import org.apache.hadoop.yarn.server.federation.store.records.SubClusterInfo; -import org.apache.hadoop.yarn.server.federation.store.FederationMembershipStateStore; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterPolicyConfiguration; +import org.apache.hadoop.yarn.server.federation.store.FederationStateStore; import org.apache.hadoop.yarn.server.federation.store.records.SubClusterDeregisterRequest; import org.apache.hadoop.yarn.server.federation.store.records.SubClusterDeregisterResponse; +import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterResponse; +import org.apache.hadoop.yarn.server.federation.store.records.ApplicationHomeSubCluster; +import org.apache.hadoop.yarn.server.federation.store.records.DeleteApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.DeleteApplicationHomeSubClusterResponse; +import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationHomeSubClusterResponse; +import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationsHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationsHomeSubClusterResponse; import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterInfoRequest; import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterInfoResponse; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterPoliciesConfigurationsRequest; +import
[47/50] [abbrv] hadoop git commit: YARN-6247. Share a single instance of SubClusterResolver instead of instantiating one per AM. (Botong Huang via Subru)
YARN-6247. Share a single instance of SubClusterResolver instead of instantiating one per AM. (Botong Huang via Subru) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/cf0e9dd5 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/cf0e9dd5 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/cf0e9dd5 Branch: refs/heads/YARN-2915 Commit: cf0e9dd5176aef41b8dd04de7244a890b1a7d31b Parents: e573479 Author: Subru KrishnanAuthored: Thu Mar 2 18:54:53 2017 -0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- .../hadoop/yarn/conf/YarnConfiguration.java | 6 +++ .../src/main/resources/yarn-default.xml | 7 +++ .../resolver/AbstractSubClusterResolver.java| 6 +-- .../federation/resolver/SubClusterResolver.java | 4 +- .../utils/FederationStateStoreFacade.java | 48 +--- 5 files changed, 59 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/cf0e9dd5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 3436481..b103d2f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2576,6 +2576,12 @@ public class YarnConfiguration extends Configuration { public static final String FEDERATION_MACHINE_LIST = FEDERATION_PREFIX + "machine-list"; + public static final String FEDERATION_CLUSTER_RESOLVER_CLASS = + FEDERATION_PREFIX + "subcluster-resolver.class"; + public static final String DEFAULT_FEDERATION_CLUSTER_RESOLVER_CLASS = + "org.apache.hadoop.yarn.server.federation.resolver." + + "DefaultSubClusterResolverImpl"; + public static final String DEFAULT_FEDERATION_POLICY_KEY = "*"; public static final String FEDERATION_POLICY_MANAGER = FEDERATION_PREFIX http://git-wip-us.apache.org/repos/asf/hadoop/blob/cf0e9dd5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml index 0d40482..75b32ce 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml @@ -2683,6 +2683,13 @@ yarn.federation.machine-list + + + Class name for SubClusterResolver + +yarn.federation.subcluster-resolver.class + org.apache.hadoop.yarn.server.federation.resolver.DefaultSubClusterResolverImpl + http://git-wip-us.apache.org/repos/asf/hadoop/blob/cf0e9dd5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/resolver/AbstractSubClusterResolver.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/resolver/AbstractSubClusterResolver.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/resolver/AbstractSubClusterResolver.java index 6b4f60c..bccff2d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/resolver/AbstractSubClusterResolver.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/resolver/AbstractSubClusterResolver.java @@ -21,8 +21,8 @@ package org.apache.hadoop.yarn.server.federation.resolver; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.federation.store.records.SubClusterId; -import java.util.HashMap; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.Map; /** @@ -31,9 +31,9 @@ import java.util.Map; */ public abstract class AbstractSubClusterResolver implements SubClusterResolver { private Map
[46/50] [abbrv] hadoop git commit: YARN-5410. Bootstrap Router server module. (Giovanni Matteo Fumarola via Subru).
YARN-5410. Bootstrap Router server module. (Giovanni Matteo Fumarola via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/03776736 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/03776736 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/03776736 Branch: refs/heads/YARN-2915 Commit: 037767363d06fab2552a35530af7ee9721ccab4b Parents: b06fa2e Author: Subru KrishnanAuthored: Fri Feb 24 12:08:53 2017 -0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- hadoop-project/pom.xml | 6 ++ .../hadoop-yarn-server-router/pom.xml | 62 .../hadoop/yarn/server/router/Router.java | 38 .../hadoop/yarn/server/router/package-info.java | 20 +++ .../hadoop/yarn/server/router/TestRouter.java | 26 .../hadoop-yarn/hadoop-yarn-server/pom.xml | 1 + hadoop-yarn-project/pom.xml | 4 ++ 7 files changed, 157 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/03776736/hadoop-project/pom.xml -- diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml old mode 100644 new mode 100755 index ecdd6ab..0619018 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml @@ -407,6 +407,12 @@ org.apache.hadoop +hadoop-yarn-server-router +${project.version} + + + +org.apache.hadoop hadoop-mapreduce-client-jobclient ${project.version} test-jar http://git-wip-us.apache.org/repos/asf/hadoop/blob/03776736/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml new file mode 100644 index 000..25afa5c --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml @@ -0,0 +1,62 @@ + + +http://maven.apache.org/POM/4.0.0; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/xsd/maven-4.0.0.xsd;> + +hadoop-yarn-server +org.apache.hadoop +3.0.0-alpha3-SNAPSHOT + + 4.0.0 + org.apache.hadoop + hadoop-yarn-server-router + 3.0.0-alpha3-SNAPSHOT + Apache Hadoop YARN Router + + + +${project.parent.parent.basedir} + + + + + org.apache.hadoop + hadoop-yarn-api + + + + org.apache.hadoop + hadoop-common + + + + org.apache.hadoop + hadoop-yarn-common + + + + org.apache.hadoop + hadoop-yarn-server-common + + + + + + + + + http://git-wip-us.apache.org/repos/asf/hadoop/blob/03776736/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java new file mode 100644 index 000..7be8a59 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/Router.java @@ -0,0 +1,38 @@ +/** + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.server.router; + +/** + * The router is a stateless YARN component which is the entry point to the + * cluster. It can be deployed on multiple nodes behind a Virtual IP (VIP) with + * a
[50/50] [abbrv] hadoop git commit: Bumping up hadoop-yarn-server-router module to 3.0.0-alpha4 post rebase.
Bumping up hadoop-yarn-server-router module to 3.0.0-alpha4 post rebase. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b304977d Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b304977d Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b304977d Branch: refs/heads/YARN-2915 Commit: b304977d399ece706023a142ca7e86d2c09dd901 Parents: a86926f Author: Subru KrishnanAuthored: Fri May 26 17:10:03 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:10:03 2017 -0700 -- .../hadoop-yarn-server/hadoop-yarn-server-router/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b304977d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml index 89813de..f9169e1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/pom.xml @@ -19,12 +19,12 @@ hadoop-yarn-server org.apache.hadoop -3.0.0-alpha3-SNAPSHOT +3.0.0-alpha4-SNAPSHOT 4.0.0 org.apache.hadoop hadoop-yarn-server-router - 3.0.0-alpha3-SNAPSHOT + 3.0.0-alpha4-SNAPSHOT Apache Hadoop YARN Router - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[43/50] [abbrv] hadoop git commit: YARN-3663. Federation State and Policy Store (DBMS implementation). (Giovanni Matteo Fumarola via curino).
http://git-wip-us.apache.org/repos/asf/hadoop/blob/84ddaf39/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/impl/FederationStateStoreBaseTest.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/impl/FederationStateStoreBaseTest.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/impl/FederationStateStoreBaseTest.java index 80b00ef..db04592 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/impl/FederationStateStoreBaseTest.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/impl/FederationStateStoreBaseTest.java @@ -19,13 +19,14 @@ package org.apache.hadoop.yarn.server.federation.store.impl; import java.io.IOException; import java.nio.ByteBuffer; +import java.util.Calendar; import java.util.List; +import java.util.TimeZone; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.federation.store.FederationStateStore; -import org.apache.hadoop.yarn.server.federation.store.exception.FederationStateStoreErrorCode; import org.apache.hadoop.yarn.server.federation.store.exception.FederationStateStoreException; import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterRequest; import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterResponse; @@ -87,13 +88,26 @@ public abstract class FederationStateStoreBaseTest { @Test public void testRegisterSubCluster() throws Exception { SubClusterId subClusterId = SubClusterId.newInstance("SC"); + SubClusterInfo subClusterInfo = createSubClusterInfo(subClusterId); +long previousTimeStamp = +Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTimeInMillis(); + SubClusterRegisterResponse result = stateStore.registerSubCluster( SubClusterRegisterRequest.newInstance(subClusterInfo)); +long currentTimeStamp = +Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTimeInMillis(); + Assert.assertNotNull(result); Assert.assertEquals(subClusterInfo, querySubClusterInfo(subClusterId)); + +// The saved heartbeat is between the old one and the current timestamp +Assert.assertTrue(querySubClusterInfo(subClusterId) +.getLastHeartBeat() <= currentTimeStamp); +Assert.assertTrue(querySubClusterInfo(subClusterId) +.getLastHeartBeat() >= previousTimeStamp); } @Test @@ -120,9 +134,7 @@ public abstract class FederationStateStoreBaseTest { stateStore.deregisterSubCluster(deregisterRequest); Assert.fail(); } catch (FederationStateStoreException e) { - Assert.assertEquals( - FederationStateStoreErrorCode.MEMBERSHIP_UPDATE_DEREGISTER_FAIL, - e.getCode()); + Assert.assertTrue(e.getMessage().startsWith("SubCluster SC not found")); } } @@ -149,9 +161,8 @@ public abstract class FederationStateStoreBaseTest { stateStore.getSubCluster(request).getSubClusterInfo(); Assert.fail(); } catch (FederationStateStoreException e) { - Assert.assertEquals( - FederationStateStoreErrorCode.MEMBERSHIP_SINGLE_SELECT_FAIL, - e.getCode()); + Assert.assertTrue( + e.getMessage().startsWith("SubCluster SC does not exist")); } } @@ -200,13 +211,24 @@ public abstract class FederationStateStoreBaseTest { SubClusterId subClusterId = SubClusterId.newInstance("SC"); registerSubCluster(createSubClusterInfo(subClusterId)); +long previousHeartBeat = +querySubClusterInfo(subClusterId).getLastHeartBeat(); + SubClusterHeartbeatRequest heartbeatRequest = SubClusterHeartbeatRequest .newInstance(subClusterId, SubClusterState.SC_RUNNING, "capability"); stateStore.subClusterHeartbeat(heartbeatRequest); +long currentTimeStamp = +Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTimeInMillis(); + Assert.assertEquals(SubClusterState.SC_RUNNING, querySubClusterInfo(subClusterId).getState()); -Assert.assertNotNull(querySubClusterInfo(subClusterId).getLastHeartBeat()); + +// The saved heartbeat is between the old one and the current timestamp +Assert.assertTrue(querySubClusterInfo(subClusterId) +.getLastHeartBeat() <= currentTimeStamp); +Assert.assertTrue(querySubClusterInfo(subClusterId) +.getLastHeartBeat() >= previousHeartBeat); } @Test @@
[49/50] [abbrv] hadoop git commit: YARN-5531. UnmanagedAM pool manager for federating application across clusters. (Botong Huang via Subru).
YARN-5531. UnmanagedAM pool manager for federating application across clusters. (Botong Huang via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a86926f0 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a86926f0 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a86926f0 Branch: refs/heads/YARN-2915 Commit: a86926f018f8ad88a70cac664459a93aa7b51628 Parents: e6bc6a0 Author: Subru KrishnanAuthored: Fri May 26 16:23:38 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- .../apache/hadoop/yarn/util/AsyncCallback.java | 35 ++ .../failover/FederationProxyProviderUtil.java | 114 ++-- .../yarn/server/uam/UnmanagedAMPoolManager.java | 311 ++ .../server/uam/UnmanagedApplicationManager.java | 607 +++ .../hadoop/yarn/server/uam/package-info.java| 18 + .../yarn/server/utils/AMRMClientUtils.java | 189 ++ .../server/utils/YarnServerSecurityUtils.java | 41 +- .../yarn/server/MockResourceManagerFacade.java | 83 ++- .../uam/TestUnmanagedApplicationManager.java| 335 ++ .../amrmproxy/DefaultRequestInterceptor.java| 30 +- .../ApplicationMasterService.java | 5 +- .../TestApplicationMasterLauncher.java | 6 +- 12 files changed, 1658 insertions(+), 116 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a86926f0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/AsyncCallback.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/AsyncCallback.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/AsyncCallback.java new file mode 100644 index 000..b4f75c9 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/AsyncCallback.java @@ -0,0 +1,35 @@ +/** + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.util; + +/** + * Generic interface that can be used for calling back when a corresponding + * asynchronous operation completes. + * + * @param parameter type for the callback + */ +public interface AsyncCallback { + /** + * This method is called back when the corresponding asynchronous operation + * completes. + * + * @param response response of the callback + */ + void callback(T response); +} http://git-wip-us.apache.org/repos/asf/hadoop/blob/a86926f0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java index 18f1338..3931f2b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java @@ -19,22 +19,20 @@ package org.apache.hadoop.yarn.server.federation.failover; import java.io.IOException; -import java.security.PrivilegedExceptionAction; import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.classification.InterfaceAudience.Public; import org.apache.hadoop.classification.InterfaceStability.Unstable; import org.apache.hadoop.conf.Configuration;
[20/50] [abbrv] hadoop git commit: YARN-5676. Add a HashBasedRouterPolicy, and small policies and test refactoring. (Carlo Curino via Subru).
YARN-5676. Add a HashBasedRouterPolicy, and small policies and test refactoring. (Carlo Curino via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/955faca4 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/955faca4 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/955faca4 Branch: refs/heads/YARN-2915 Commit: 955faca4d42b89a4b0bca62a0293c98caf982f28 Parents: cd7ec98 Author: Subru KrishnanAuthored: Tue Nov 22 15:02:22 2016 -0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../hadoop/yarn/conf/YarnConfiguration.java | 3 +- .../policies/AbstractPolicyManager.java | 175 - .../policies/FederationPolicyManager.java | 117 .../PriorityBroadcastPolicyManager.java | 66 --- .../federation/policies/RouterPolicyFacade.java | 1 + .../policies/UniformBroadcastPolicyManager.java | 56 -- .../policies/WeightedLocalityPolicyManager.java | 67 --- .../policies/manager/AbstractPolicyManager.java | 190 +++ .../manager/FederationPolicyManager.java| 118 .../manager/HashBroadcastPolicyManager.java | 38 .../manager/PriorityBroadcastPolicyManager.java | 66 +++ .../manager/UniformBroadcastPolicyManager.java | 44 + .../manager/WeightedLocalityPolicyManager.java | 67 +++ .../policies/manager/package-info.java | 19 ++ .../policies/router/AbstractRouterPolicy.java | 19 ++ .../policies/router/HashBasedRouterPolicy.java | 81 .../policies/router/LoadBasedRouterPolicy.java | 3 + .../policies/router/PriorityRouterPolicy.java | 3 + .../router/UniformRandomRouterPolicy.java | 10 +- .../router/WeightedRandomRouterPolicy.java | 3 + .../policies/BaseFederationPoliciesTest.java| 17 +- .../policies/BasePolicyManagerTest.java | 108 --- ...ionPolicyInitializationContextValidator.java | 1 + .../TestPriorityBroadcastPolicyManager.java | 72 --- .../policies/TestRouterPolicyFacade.java| 2 + .../TestUniformBroadcastPolicyManager.java | 40 .../TestWeightedLocalityPolicyManager.java | 79 .../policies/manager/BasePolicyManagerTest.java | 104 ++ .../TestHashBasedBroadcastPolicyManager.java| 40 .../TestPriorityBroadcastPolicyManager.java | 72 +++ .../TestUniformBroadcastPolicyManager.java | 40 .../TestWeightedLocalityPolicyManager.java | 79 .../policies/router/BaseRouterPoliciesTest.java | 51 + .../router/TestHashBasedRouterPolicy.java | 83 .../router/TestLoadBasedRouterPolicy.java | 3 +- .../router/TestPriorityRouterPolicy.java| 3 +- .../router/TestUniformRandomRouterPolicy.java | 3 +- .../router/TestWeightedRandomRouterPolicy.java | 15 +- 38 files changed, 1160 insertions(+), 798 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/955faca4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 860d8a8..3436481 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2582,7 +2582,8 @@ public class YarnConfiguration extends Configuration { + "policy-manager"; public static final String DEFAULT_FEDERATION_POLICY_MANAGER = "org.apache" - + ".hadoop.yarn.server.federation.policies.UniformBroadcastPolicyManager"; + + ".hadoop.yarn.server.federation.policies" + + ".manager.UniformBroadcastPolicyManager"; public static final String FEDERATION_POLICY_MANAGER_PARAMS = FEDERATION_PREFIX + "policy-manager-params"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/955faca4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractPolicyManager.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractPolicyManager.java
[31/50] [abbrv] hadoop git commit: YARN-5325. Stateless ARMRMProxy policies implementation. (Carlo Curino via Subru).
http://git-wip-us.apache.org/repos/asf/hadoop/blob/5e21d049/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/router/LoadBasedRouterPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/router/LoadBasedRouterPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/router/LoadBasedRouterPolicy.java index e57709f..5de749f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/router/LoadBasedRouterPolicy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/router/LoadBasedRouterPolicy.java @@ -17,8 +17,8 @@ package org.apache.hadoop.yarn.server.federation.policies.router; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import java.util.Map; + import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.federation.policies.FederationPolicyInitializationContext; @@ -30,34 +30,27 @@ import org.apache.hadoop.yarn.server.federation.store.records.SubClusterInfo; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; -import java.util.Map; - /** * This implements a simple load-balancing policy. The policy "weights" are * binary 0/1 values that enable/disable each sub-cluster, and the policy peaks * the sub-cluster with the least load to forward this application. */ -public class LoadBasedRouterPolicy -extends BaseWeightedRouterPolicy { - - private static final Log LOG = - LogFactory.getLog(LoadBasedRouterPolicy.class); +public class LoadBasedRouterPolicy extends AbstractRouterPolicy { @Override - public void reinitialize(FederationPolicyInitializationContext - federationPolicyContext) + public void reinitialize(FederationPolicyInitializationContext policyContext) throws FederationPolicyInitializationException { // remember old policyInfo WeightedPolicyInfo tempPolicy = getPolicyInfo(); -//attempt new initialization -super.reinitialize(federationPolicyContext); +// attempt new initialization +super.reinitialize(policyContext); -//check extra constraints +// check extra constraints for (Float weight : getPolicyInfo().getRouterPolicyWeights().values()) { if (weight != 0 && weight != 1) { -//reset to old policyInfo if check fails +// reset to old policyInfo if check fails setPolicyInfo(tempPolicy); throw new FederationPolicyInitializationException( this.getClass().getCanonicalName() @@ -69,18 +62,16 @@ public class LoadBasedRouterPolicy @Override public SubClusterId getHomeSubcluster( - ApplicationSubmissionContext appSubmissionContext) - throws YarnException { + ApplicationSubmissionContext appSubmissionContext) throws YarnException { MapactiveSubclusters = getActiveSubclusters(); -Map weights = getPolicyInfo() -.getRouterPolicyWeights(); +Map weights = +getPolicyInfo().getRouterPolicyWeights(); SubClusterIdInfo chosen = null; long currBestMem = -1; -for (Map.Entry entry : -activeSubclusters +for (Map.Entry entry : activeSubclusters .entrySet()) { SubClusterIdInfo id = new SubClusterIdInfo(entry.getKey()); if (weights.containsKey(id) && weights.get(id) > 0) { @@ -95,8 +86,7 @@ public class LoadBasedRouterPolicy return chosen.toId(); } - private long getAvailableMemory(SubClusterInfo value) - throws YarnException { + private long getAvailableMemory(SubClusterInfo value) throws YarnException { try { long mem = -1; JSONObject obj = new JSONObject(value.getCapability()); http://git-wip-us.apache.org/repos/asf/hadoop/blob/5e21d049/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/router/PriorityRouterPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/router/PriorityRouterPolicy.java
[10/50] [abbrv] hadoop git commit: YARN-3672. Create Facade for Federation State and Policy Store. Contributed by Subru Krishnan
YARN-3672. Create Facade for Federation State and Policy Store. Contributed by Subru Krishnan Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/5e55c7dc Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/5e55c7dc Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/5e55c7dc Branch: refs/heads/YARN-2915 Commit: 5e55c7dcab07ab28918192dbd4908a630eee3d85 Parents: cb61028 Author: Jian HeAuthored: Wed Aug 17 11:13:19 2016 +0800 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- hadoop-project/pom.xml | 13 + .../hadoop/yarn/conf/YarnConfiguration.java | 13 + .../yarn/conf/TestYarnConfigurationFields.java | 4 + .../src/main/resources/yarn-default.xml | 20 +- .../hadoop-yarn-server-common/pom.xml | 10 + .../utils/FederationStateStoreFacade.java | 532 +++ .../server/federation/utils/package-info.java | 17 + .../utils/FederationStateStoreTestUtil.java | 149 ++ .../utils/TestFederationStateStoreFacade.java | 148 ++ 9 files changed, 905 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/5e55c7dc/hadoop-project/pom.xml -- diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml index 3cfdc18..ecdd6ab 100644 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml @@ -98,6 +98,9 @@ 2.0.0-M21 1.0.0-M33 +1.0.0 +3.0.3 + 1.8 @@ -1261,6 +1264,16 @@ kerb-simplekdc 1.0.0 + + javax.cache + cache-api + ${jcache.version} + + + org.ehcache + ehcache + ${ehcache.version} + http://git-wip-us.apache.org/repos/asf/hadoop/blob/5e55c7dc/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 3ee5e64..c0ed856 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2542,6 +2542,19 @@ public class YarnConfiguration extends Configuration { public static final String FEDERATION_PREFIX = YARN_PREFIX + "federation."; + + public static final String FEDERATION_STATESTORE_CLIENT_CLASS = + FEDERATION_PREFIX + "state-store.class"; + + public static final String DEFAULT_FEDERATION_STATESTORE_CLIENT_CLASS = + "org.apache.hadoop.yarn.server.federation.store.impl.MemoryFederationStateStore"; + + public static final String FEDERATION_CACHE_TIME_TO_LIVE_SECS = + FEDERATION_PREFIX + "cache-ttl.secs"; + + // 5 minutes + public static final int DEFAULT_FEDERATION_CACHE_TIME_TO_LIVE_SECS = 5 * 60; + public static final String FEDERATION_MACHINE_LIST = FEDERATION_PREFIX + "machine-list"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/5e55c7dc/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java index 3da4bab..bfc2534 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java @@ -68,6 +68,10 @@ public class TestYarnConfigurationFields extends TestConfigurationFieldsBase { .YARN_SECURITY_SERVICE_AUTHORIZATION_RESOURCETRACKER_PROTOCOL); configurationPropsToSkipCompare.add(YarnConfiguration.CURATOR_LEADER_ELECTOR); +// Federation default configs to be ignored +configurationPropsToSkipCompare +.add(YarnConfiguration.DEFAULT_FEDERATION_STATESTORE_CLIENT_CLASS); + // Ignore blacklisting nodes for AM failures feature since it is still a // "work in progress" configurationPropsToSkipCompare.add(YarnConfiguration.
[29/50] [abbrv] hadoop git commit: YARN-5324. Stateless Federation router policies implementation. (Carlo Curino via Subru).
http://git-wip-us.apache.org/repos/asf/hadoop/blob/28c8a586/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/FederationPoliciesTestUtil.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/FederationPoliciesTestUtil.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/FederationPoliciesTestUtil.java index 8c2115b..f901329 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/FederationPoliciesTestUtil.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/FederationPoliciesTestUtil.java @@ -19,13 +19,20 @@ package org.apache.hadoop.yarn.server.federation.utils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.federation.policies.ConfigurableFederationPolicy; +import org.apache.hadoop.yarn.server.federation.policies.FederationPolicyInitializationContext; +import org.apache.hadoop.yarn.server.federation.policies.dao.WeightedPolicyInfo; import org.apache.hadoop.yarn.server.federation.resolver.DefaultSubClusterResolverImpl; import org.apache.hadoop.yarn.server.federation.resolver.SubClusterResolver; import org.apache.hadoop.yarn.server.federation.store.FederationStateStore; -import org.apache.hadoop.yarn.server.federation.store.records.GetSubClustersInfoResponse; +import org.apache.hadoop.yarn.server.federation.store.records.*; import java.net.URL; +import java.nio.ByteBuffer; import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static org.mockito.Matchers.any; import static org.mockito.Mockito.mock; @@ -41,6 +48,41 @@ public final class FederationPoliciesTestUtil { // disabled. } + + public static void initializePolicyContext( + FederationPolicyInitializationContext fpc, ConfigurableFederationPolicy + policy, WeightedPolicyInfo policyInfo, + MapactiveSubclusters) + throws YarnException { +ByteBuffer buf = policyInfo.toByteBuffer(); +fpc.setSubClusterPolicyConfiguration(SubClusterPolicyConfiguration +.newInstance("queue1", policy.getClass().getCanonicalName(), buf)); +FederationStateStoreFacade facade = FederationStateStoreFacade +.getInstance(); +FederationStateStore fss = mock(FederationStateStore.class); + +if (activeSubclusters == null) { + activeSubclusters = new HashMap (); +} +GetSubClustersInfoResponse response = GetSubClustersInfoResponse +.newInstance(new ArrayList(activeSubclusters.values())); + +when(fss.getSubClusters(any())).thenReturn(response); +facade.reinitialize(fss, new Configuration()); +fpc.setFederationStateStoreFacade(facade); +policy.reinitialize(fpc); + } + + public static void initializePolicyContext( + ConfigurableFederationPolicy policy, + WeightedPolicyInfo policyInfo, Map activeSubclusters) throws YarnException { +FederationPolicyInitializationContext context = +new FederationPolicyInitializationContext(null, initResolver(), +initFacade()); +initializePolicyContext(context, policy, policyInfo, activeSubclusters); + } + /** * Initialize a {@link SubClusterResolver}. * @@ -66,18 +108,52 @@ public final class FederationPoliciesTestUtil { * Initialiaze a main-memory {@link FederationStateStoreFacade} used for * testing, wiht a mock resolver. * + * @param subClusterInfos the list of subclusters to be served on + *getSubClusters invocations. + * * @return the facade. * * @throws YarnException in case the initialization is not successful. */ - public static FederationStateStoreFacade initFacade() throws YarnException { + + public static FederationStateStoreFacade initFacade( + List subClusterInfos, SubClusterPolicyConfiguration + policyConfiguration) throws YarnException { FederationStateStoreFacade goodFacade = FederationStateStoreFacade .getInstance(); FederationStateStore fss = mock(FederationStateStore.class); GetSubClustersInfoResponse response = GetSubClustersInfoResponse -.newInstance(new ArrayList<>()); +.newInstance(subClusterInfos); when(fss.getSubClusters(any())).thenReturn(response); + +List configurations = new ArrayList<>(); +
[33/50] [abbrv] hadoop git commit: YARN-5391. PolicyManager to tie together Router/AMRM Federation policies. (Carlo Curino via Subru).
YARN-5391. PolicyManager to tie together Router/AMRM Federation policies. (Carlo Curino via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d8e0ade3 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d8e0ade3 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d8e0ade3 Branch: refs/heads/YARN-2915 Commit: d8e0ade3d73ec1501ea56ba9fcc58d4fec44102e Parents: 5e21d04 Author: Subru KrishnanAuthored: Tue Nov 1 19:54:18 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../policies/AbstractPolicyManager.java | 175 +++ .../FederationPolicyInitializationContext.java | 3 +- .../policies/UniformBroadcastPolicyManager.java | 56 ++ .../policies/WeightedLocalityPolicyManager.java | 67 +++ .../records/SubClusterPolicyConfiguration.java | 13 ++ .../policies/BasePolicyManagerTest.java | 108 ...ionPolicyInitializationContextValidator.java | 5 +- .../TestUniformBroadcastPolicyManager.java | 40 + .../TestWeightedLocalityPolicyManager.java | 79 + .../utils/FederationPoliciesTestUtil.java | 2 +- 10 files changed, 545 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/d8e0ade3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractPolicyManager.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractPolicyManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractPolicyManager.java new file mode 100644 index 000..e77f2e3 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractPolicyManager.java @@ -0,0 +1,175 @@ +/** + * 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 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.yarn.server.federation.policies; + +import org.apache.hadoop.yarn.server.federation.policies.amrmproxy.FederationAMRMProxyPolicy; +import org.apache.hadoop.yarn.server.federation.policies.exceptions.FederationPolicyInitializationException; +import org.apache.hadoop.yarn.server.federation.policies.router.FederationRouterPolicy; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterPolicyConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This class provides basic implementation for common methods that multiple + * policies will need to implement. + */ +public abstract class AbstractPolicyManager implements +FederationPolicyManager { + + private String queue; + @SuppressWarnings("checkstyle:visibilitymodifier") + protected Class routerFederationPolicy; + @SuppressWarnings("checkstyle:visibilitymodifier") + protected Class amrmProxyFederationPolicy; + + public static final Logger LOG = + LoggerFactory.getLogger(AbstractPolicyManager.class); + /** + * This default implementation validates the + * {@link FederationPolicyInitializationContext}, + * then checks whether it needs to reinstantiate the class (null or + * mismatching type), and reinitialize the policy. + * + * @param federationPolicyContext the current context + * @param oldInstance the existing (possibly null) instance. + * + * @return a valid and fully reinitalized {@link FederationAMRMProxyPolicy} + * instance + * + * @throws FederationPolicyInitializationException if the reinitalization is + * not valid, and ensure + * previous state is preserved + */ + public FederationAMRMProxyPolicy
[06/50] [abbrv] hadoop git commit: YARN-3664. Federation PolicyStore internal APIs
YARN-3664. Federation PolicyStore internal APIs Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1a578ae2 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1a578ae2 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1a578ae2 Branch: refs/heads/YARN-2915 Commit: 1a578ae268b5ce6785ddc1e667cd1e0e9ab90006 Parents: bbf119e Author: Subru KrishnanAuthored: Fri Aug 5 12:34:58 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- .../federation/store/FederationPolicyStore.java | 76 ...SubClusterPoliciesConfigurationsRequest.java | 35 ...ubClusterPoliciesConfigurationsResponse.java | 66 +++ ...GetSubClusterPolicyConfigurationRequest.java | 62 ++ ...etSubClusterPolicyConfigurationResponse.java | 65 +++ ...SetSubClusterPolicyConfigurationRequest.java | 79 ...etSubClusterPolicyConfigurationResponse.java | 36 .../records/SubClusterPolicyConfiguration.java | 130 + ...sterPoliciesConfigurationsRequestPBImpl.java | 95 + ...terPoliciesConfigurationsResponsePBImpl.java | 191 +++ ...ClusterPolicyConfigurationRequestPBImpl.java | 103 ++ ...lusterPolicyConfigurationResponsePBImpl.java | 143 ++ .../pb/GetSubClustersInfoResponsePBImpl.java| 4 +- ...ClusterPolicyConfigurationRequestPBImpl.java | 159 +++ ...lusterPolicyConfigurationResponsePBImpl.java | 93 + .../pb/SubClusterPolicyConfigurationPBImpl.java | 121 .../proto/yarn_server_federation_protos.proto | 28 +++ .../records/TestFederationProtocolRecords.java | 53 - 18 files changed, 1536 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/1a578ae2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationPolicyStore.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationPolicyStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationPolicyStore.java new file mode 100644 index 000..9d9bd9b --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationPolicyStore.java @@ -0,0 +1,76 @@ +/** + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.server.federation.store; + +import org.apache.hadoop.classification.InterfaceAudience.Private; +import org.apache.hadoop.classification.InterfaceStability.Unstable; +import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterPoliciesConfigurationsRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterPoliciesConfigurationsResponse; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterPolicyConfigurationRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterPolicyConfigurationResponse; +import org.apache.hadoop.yarn.server.federation.store.records.SetSubClusterPolicyConfigurationRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SetSubClusterPolicyConfigurationResponse; + +/** + * The FederationPolicyStore provides a key-value interface to access the + * policies configured for the system. The key is a "queue" name, i.e., the + * system allows to configure a different policy for each queue in the system + * (though each policy can make dynamic run-time decisions on a per-job/per-task + * basis). The value is a {@code SubClusterPolicyConfiguration}, a serialized + * representation of the policy type and its
[35/50] [abbrv] hadoop git commit: YARN-5413. Create a proxy chain for ResourceManager Admin API in the Router. (Giovanni Matteo Fumarola via Subru).
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e6bc6a0f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/rmadmin/TestRouterRMAdminService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/rmadmin/TestRouterRMAdminService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/rmadmin/TestRouterRMAdminService.java new file mode 100644 index 000..11786e6 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/rmadmin/TestRouterRMAdminService.java @@ -0,0 +1,219 @@ +/** +* 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 +* 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 +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.yarn.server.router.rmadmin; + +import java.io.IOException; +import java.util.Map; + +import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.api.protocolrecords.AddToClusterNodeLabelsResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.CheckForDecommissioningNodesResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RefreshAdminAclsResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RefreshClusterMaxPriorityResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RefreshNodesResourcesResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RefreshNodesResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RefreshQueuesResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RefreshServiceAclsResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RefreshSuperUserGroupsConfigurationResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RefreshUserToGroupsMappingsResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RemoveFromClusterNodeLabelsResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.ReplaceLabelsOnNodeResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.UpdateNodeResourceResponse; +import org.apache.hadoop.yarn.server.router.rmadmin.RouterRMAdminService.RequestInterceptorChainWrapper; +import org.junit.Assert; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Test class to validate the RMAdmin Service inside the Router. + */ +public class TestRouterRMAdminService extends BaseRouterRMAdminTest { + + private static final Logger LOG = + LoggerFactory.getLogger(TestRouterRMAdminService.class); + + /** + * Tests if the pipeline is created properly. + */ + @Test + public void testRequestInterceptorChainCreation() throws Exception { +RMAdminRequestInterceptor root = +super.getRouterRMAdminService().createRequestInterceptorChain(); +int index = 0; +while (root != null) { + // The current pipeline is: + // PassThroughRMAdminRequestInterceptor - index = 0 + // PassThroughRMAdminRequestInterceptor - index = 1 + // PassThroughRMAdminRequestInterceptor - index = 2 + // MockClientRequestInterceptor - index = 3 + switch (index) { + case 0: // Fall to the next case + case 1: // Fall to the next case + case 2: +// If index is equal to 0,1 or 2 we fall in this check +Assert.assertEquals( +PassThroughRMAdminRequestInterceptor.class.getName(), +root.getClass().getName()); +break; + case 3: +Assert.assertEquals(MockRMAdminRequestInterceptor.class.getName(), +root.getClass().getName()); +break; + default: +Assert.fail(); + } + root = root.getNextInterceptor(); + index++; +} +Assert.assertEquals("The number of interceptors in chain does not match", 4, +index); + } + + /** + * Test if the RouterRMAdmin forwards all the requests to the MockRM and get + * back the responses. + */ + @Test + public void testRouterRMAdminServiceE2E() throws Exception { + +String
[21/50] [abbrv] hadoop git commit: YARN-5634. Simplify initialization/use of RouterPolicy via a RouterPolicyFacade. (Carlo Curino via Subru).
YARN-5634. Simplify initialization/use of RouterPolicy via a RouterPolicyFacade. (Carlo Curino via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/cd7ec983 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/cd7ec983 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/cd7ec983 Branch: refs/heads/YARN-2915 Commit: cd7ec983191cc5006241483e37aaef264cd828c5 Parents: d8e0ade Author: Subru KrishnanAuthored: Wed Nov 16 19:39:25 2016 -0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../dev-support/findbugs-exclude.xml| 9 + .../hadoop/yarn/conf/YarnConfiguration.java | 13 + .../yarn/conf/TestYarnConfigurationFields.java | 12 + ...ionPolicyInitializationContextValidator.java | 2 +- .../PriorityBroadcastPolicyManager.java | 66 + .../federation/policies/RouterPolicyFacade.java | 266 +++ .../policies/dao/WeightedPolicyInfo.java| 6 +- .../utils/FederationStateStoreFacade.java | 16 +- .../TestPriorityBroadcastPolicyManager.java | 72 + .../policies/TestRouterPolicyFacade.java| 220 +++ .../utils/FederationStateStoreTestUtil.java | 22 +- 11 files changed, 693 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/cd7ec983/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml index bbd03a9..ee51094 100644 --- a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml +++ b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml @@ -310,6 +310,15 @@ + + + + + + + + + http://git-wip-us.apache.org/repos/asf/hadoop/blob/cd7ec983/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index fdb1d8a..860d8a8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2576,6 +2576,19 @@ public class YarnConfiguration extends Configuration { public static final String FEDERATION_MACHINE_LIST = FEDERATION_PREFIX + "machine-list"; + public static final String DEFAULT_FEDERATION_POLICY_KEY = "*"; + + public static final String FEDERATION_POLICY_MANAGER = FEDERATION_PREFIX + + "policy-manager"; + + public static final String DEFAULT_FEDERATION_POLICY_MANAGER = "org.apache" + + ".hadoop.yarn.server.federation.policies.UniformBroadcastPolicyManager"; + + public static final String FEDERATION_POLICY_MANAGER_PARAMS = + FEDERATION_PREFIX + "policy-manager-params"; + + public static final String DEFAULT_FEDERATION_POLICY_MANAGER_PARAMS = ""; + // Other Configs http://git-wip-us.apache.org/repos/asf/hadoop/blob/cd7ec983/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java index 3f3a06c..6e33c0a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java @@ -78,6 +78,18 @@ public class TestYarnConfigurationFields extends TestConfigurationFieldsBase { configurationPropsToSkipCompare .add(YarnConfiguration.RM_EPOCH); +// Federation policies configs to be ignored +configurationPropsToSkipCompare +.add(YarnConfiguration.FEDERATION_POLICY_MANAGER); +configurationPropsToSkipCompare +.add(YarnConfiguration.FEDERATION_POLICY_MANAGER_PARAMS); +configurationPropsToSkipCompare +
[34/50] [abbrv] hadoop git commit: YARN-6093. Minor bugs with AMRMtoken renewal and state store availability when using FederationRMFailoverProxyProvider during RM failover. (Botong Huang via Subru).
YARN-6093. Minor bugs with AMRMtoken renewal and state store availability when using FederationRMFailoverProxyProvider during RM failover. (Botong Huang via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b06fa2ef Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b06fa2ef Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b06fa2ef Branch: refs/heads/YARN-2915 Commit: b06fa2efaf502ede091b32dcc8e9ab85f05a1d79 Parents: 7145d7d Author: Subru KrishnanAuthored: Wed Feb 22 13:16:22 2017 -0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- .../TestFederationRMFailoverProxyProvider.java | 69 +++ .../FederationRMFailoverProxyProvider.java | 88 +++- 2 files changed, 118 insertions(+), 39 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b06fa2ef/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestFederationRMFailoverProxyProvider.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestFederationRMFailoverProxyProvider.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestFederationRMFailoverProxyProvider.java index fa3523c..e3f9155 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestFederationRMFailoverProxyProvider.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestFederationRMFailoverProxyProvider.java @@ -19,17 +19,21 @@ package org.apache.hadoop.yarn.client; import java.io.IOException; import java.net.InetSocketAddress; +import java.security.PrivilegedExceptionAction; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.ha.HAServiceProtocol; +import org.apache.hadoop.io.retry.FailoverProxyProvider.ProxyInfo; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.yarn.api.ApplicationClientProtocol; +import org.apache.hadoop.yarn.api.ApplicationMasterProtocol; import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsRequest; import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsResponse; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.MiniYARNCluster; import org.apache.hadoop.yarn.server.federation.failover.FederationProxyProviderUtil; +import org.apache.hadoop.yarn.server.federation.failover.FederationRMFailoverProxyProvider; import org.apache.hadoop.yarn.server.federation.store.FederationStateStore; import org.apache.hadoop.yarn.server.federation.store.impl.MemoryFederationStateStore; import org.apache.hadoop.yarn.server.federation.store.records.SubClusterId; @@ -44,6 +48,10 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + /** * Unit tests for FederationRMFailoverProxyProvider. */ @@ -151,4 +159,65 @@ public class TestFederationRMFailoverProxyProvider { } } + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Test + public void testUGIForProxyCreation() + throws IOException, InterruptedException { +conf.set(YarnConfiguration.RM_CLUSTER_ID, "cluster1"); + +UserGroupInformation currentUser = UserGroupInformation.getCurrentUser(); +UserGroupInformation user1 = +UserGroupInformation.createProxyUser("user1", currentUser); +UserGroupInformation user2 = +UserGroupInformation.createProxyUser("user2", currentUser); + +final TestableFederationRMFailoverProxyProvider provider = +new TestableFederationRMFailoverProxyProvider(); + +InetSocketAddress addr = +conf.getSocketAddr(YarnConfiguration.RM_SCHEDULER_ADDRESS, +YarnConfiguration.DEFAULT_RM_SCHEDULER_ADDRESS, +YarnConfiguration.DEFAULT_RM_SCHEDULER_PORT); +final ClientRMProxy rmProxy = mock(ClientRMProxy.class); +when(rmProxy.getRMAddress(any(YarnConfiguration.class), any(Class.class))) +.thenReturn(addr); + +user1.doAs(new PrivilegedExceptionAction() { + @Override + public Object run() { +provider.init(conf, rmProxy, ApplicationMasterProtocol.class); +return null; + } +}); + +final ProxyInfo currentProxy = provider.getProxy(); +Assert.assertEquals("user1", provider.getLastProxyUGI().getUserName()); + +user2.doAs(new PrivilegedExceptionAction() { + @Override +
[30/50] [abbrv] hadoop git commit: YARN-5324. Stateless Federation router policies implementation. (Carlo Curino via Subru).
YARN-5324. Stateless Federation router policies implementation. (Carlo Curino via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/28c8a586 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/28c8a586 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/28c8a586 Branch: refs/heads/YARN-2915 Commit: 28c8a586407db6a1866ed860d9866a9183b2d1b4 Parents: 1bb1ecf Author: Subru KrishnanAuthored: Thu Sep 22 17:06:57 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../policies/FederationPolicyConfigurator.java | 91 --- .../FederationPolicyInitializationContext.java | 11 +- .../policies/FederationPolicyManager.java | 126 + .../policies/FederationPolicyWriter.java| 45 .../policies/dao/WeightedPolicyInfo.java| 253 +++ .../federation/policies/dao/package-info.java | 20 ++ .../router/BaseWeightedRouterPolicy.java| 150 +++ .../policies/router/LoadBasedRouterPolicy.java | 109 .../policies/router/PriorityRouterPolicy.java | 66 + .../router/UniformRandomRouterPolicy.java | 85 +++ .../router/WeightedRandomRouterPolicy.java | 79 ++ .../store/records/SubClusterIdInfo.java | 75 ++ .../policies/BaseFederationPoliciesTest.java| 155 ...ionPolicyInitializationContextValidator.java | 17 +- .../router/TestLoadBasedRouterPolicy.java | 109 .../router/TestPriorityRouterPolicy.java| 87 +++ .../router/TestUniformRandomRouterPolicy.java | 65 + .../router/TestWeightedRandomRouterPolicy.java | 127 ++ .../utils/FederationPoliciesTestUtil.java | 82 +- 19 files changed, 1604 insertions(+), 148 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/28c8a586/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/FederationPolicyConfigurator.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/FederationPolicyConfigurator.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/FederationPolicyConfigurator.java deleted file mode 100644 index fdc3857..000 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/FederationPolicyConfigurator.java +++ /dev/null @@ -1,91 +0,0 @@ -/** - * 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 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package org.apache.hadoop.yarn.server.federation.policies; - -import org.apache.hadoop.yarn.server.federation.policies.amrmproxy.FederationAMRMProxyPolicy; - - -import org.apache.hadoop.yarn.server.federation.policies.exceptions.FederationPolicyInitializationException; - -import org.apache.hadoop.yarn.server.federation.policies.router -.FederationRouterPolicy; - -/** - * Implementors of this interface are capable to instantiate and (re)initalize - * {@link FederationAMRMProxyPolicy} and {@link FederationRouterPolicy} based on - * a {@link FederationPolicyInitializationContext}. The reason to bind these two - * policies together is to make sure we remain consistent across the router and - * amrmproxy policy decisions. - */ -public interface FederationPolicyConfigurator { - - /** - * If the current instance is compatible, this method returns the same - * instance of {@link FederationAMRMProxyPolicy} reinitialized with the - * current context, otherwise a new instance initialized with the current - * context is provided. If the instance is compatible with the current class - * the implementors should attempt to reinitalize (retaining state). To affect - * a complete policy reset
[45/50] [abbrv] hadoop git commit: YARN-5602. Utils for Federation State and Policy Store. (Giovanni Matteo Fumarola via Subru).
YARN-5602. Utils for Federation State and Policy Store. (Giovanni Matteo Fumarola via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/63660461 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/63660461 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/63660461 Branch: refs/heads/YARN-2915 Commit: 636604615856ce0dee590e8291568f36f40351df Parents: 93b3c0f Author: Subru KrishnanAuthored: Wed Apr 5 15:02:00 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- .../FederationStateStoreErrorCode.java | 105 + .../FederationStateStoreException.java | 45 ++ ...derationStateStoreInvalidInputException.java | 48 ++ .../FederationStateStoreRetriableException.java | 44 ++ .../store/exception/package-info.java | 17 ++ .../store/impl/MemoryFederationStateStore.java | 56 +-- .../store/records/SubClusterInfo.java | 62 .../records/impl/pb/SubClusterInfoPBImpl.java | 16 -- ...cationHomeSubClusterStoreInputValidator.java | 1 + ...ationMembershipStateStoreInputValidator.java | 1 + .../FederationPolicyStoreInputValidator.java| 1 + ...derationStateStoreInvalidInputException.java | 48 -- .../store/utils/FederationStateStoreUtils.java | 155 +++ .../utils/FederationStateStoreFacade.java | 23 ++- .../impl/FederationStateStoreBaseTest.java | 91 ++- .../impl/TestMemoryFederationStateStore.java| 4 +- .../TestFederationStateStoreInputValidator.java | 1 + .../TestFederationStateStoreFacadeRetry.java| 125 +++ 18 files changed, 730 insertions(+), 113 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/63660461/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/exception/FederationStateStoreErrorCode.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/exception/FederationStateStoreErrorCode.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/exception/FederationStateStoreErrorCode.java new file mode 100644 index 000..88e2d3a --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/exception/FederationStateStoreErrorCode.java @@ -0,0 +1,105 @@ +/** + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.server.federation.store.exception; + +import org.apache.hadoop.classification.InterfaceAudience.Public; +import org.apache.hadoop.classification.InterfaceStability.Unstable; + +/** + * + * Logical error codes from FederationStateStore. + * + */ +@Public +@Unstable +public enum FederationStateStoreErrorCode { + + MEMBERSHIP_INSERT_FAIL(1101, "Fail to insert a tuple into Membership table."), + + MEMBERSHIP_DELETE_FAIL(1102, "Fail to delete a tuple from Membership table."), + + MEMBERSHIP_SINGLE_SELECT_FAIL(1103, + "Fail to select a tuple from Membership table."), + + MEMBERSHIP_MULTIPLE_SELECT_FAIL(1104, + "Fail to select multiple tuples from Membership table."), + + MEMBERSHIP_UPDATE_DEREGISTER_FAIL(1105, + "Fail to update/deregister a tuple in Membership table."), + + MEMBERSHIP_UPDATE_HEARTBEAT_FAIL(1106, + "Fail to update/heartbeat a tuple in Membership table."), + + APPLICATIONS_INSERT_FAIL(1201, + "Fail to insert a tuple into ApplicationsHomeSubCluster table."), + + APPLICATIONS_DELETE_FAIL(1202, + "Fail to delete a tuple from ApplicationsHomeSubCluster table"), + + APPLICATIONS_SINGLE_SELECT_FAIL(1203, + "Fail to select a tuple from ApplicationsHomeSubCluster
[41/50] [abbrv] hadoop git commit: YARN-5411. Create a proxy chain for ApplicationClientProtocol in the Router. (Giovanni Matteo Fumarola via Subru).
YARN-5411. Create a proxy chain for ApplicationClientProtocol in the Router. (Giovanni Matteo Fumarola via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0125c1a8 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0125c1a8 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0125c1a8 Branch: refs/heads/YARN-2915 Commit: 0125c1a84fffb403e4d3d5380299fdd5d05fc13a Parents: 84ddaf3 Author: Subru KrishnanAuthored: Wed May 3 18:26:15 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- hadoop-project/pom.xml | 7 + .../hadoop/yarn/conf/YarnConfiguration.java | 21 + .../hadoop/yarn/util/LRUCacheHashMap.java | 49 ++ .../src/main/resources/yarn-default.xml | 18 + .../hadoop/yarn/util/TestLRUCacheHashMap.java | 74 +++ .../hadoop-yarn-server-common/pom.xml | 11 + .../yarn/server/MockResourceManagerFacade.java | 511 + .../hadoop-yarn-server-nodemanager/pom.xml | 7 + .../amrmproxy/MockRequestInterceptor.java | 14 +- .../amrmproxy/MockResourceManagerFacade.java| 514 - .../hadoop-yarn-server-router/pom.xml | 19 + .../hadoop/yarn/server/router/Router.java | 98 +++- .../AbstractClientRequestInterceptor.java | 89 +++ .../clientrm/ClientRequestInterceptor.java | 65 +++ .../DefaultClientRequestInterceptor.java| 334 +++ .../router/clientrm/RouterClientRMService.java | 544 ++ .../server/router/clientrm/package-info.java| 20 + .../hadoop/yarn/server/router/TestRouter.java | 26 - .../router/clientrm/BaseRouterClientRMTest.java | 574 +++ .../clientrm/MockClientRequestInterceptor.java | 36 ++ .../PassThroughClientRequestInterceptor.java| 267 + .../clientrm/TestRouterClientRMService.java | 210 +++ 22 files changed, 2960 insertions(+), 548 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/0125c1a8/hadoop-project/pom.xml -- diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml index 0da14a7..1ec96f4 100755 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml @@ -324,6 +324,13 @@ org.apache.hadoop +hadoop-yarn-server-common +${project.version} +test-jar + + + +org.apache.hadoop hadoop-yarn-server-tests ${project.version} test-jar http://git-wip-us.apache.org/repos/asf/hadoop/blob/0125c1a8/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index b351309..7f2655f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2619,6 +2619,27 @@ public class YarnConfiguration extends Configuration { public static final int DEFAULT_FEDERATION_STATESTORE_SQL_MAXCONNECTIONS = 1; + public static final String ROUTER_PREFIX = YARN_PREFIX + "router."; + + public static final String ROUTER_CLIENTRM_PREFIX = + ROUTER_PREFIX + "clientrm."; + + public static final String ROUTER_CLIENTRM_ADDRESS = + ROUTER_CLIENTRM_PREFIX + ".address"; + public static final int DEFAULT_ROUTER_CLIENTRM_PORT = 8050; + public static final String DEFAULT_ROUTER_CLIENTRM_ADDRESS = + "0.0.0.0:" + DEFAULT_ROUTER_CLIENTRM_PORT; + + public static final String ROUTER_CLIENTRM_INTERCEPTOR_CLASS_PIPELINE = + ROUTER_CLIENTRM_PREFIX + "interceptor-class.pipeline"; + public static final String DEFAULT_ROUTER_CLIENTRM_INTERCEPTOR_CLASS = + "org.apache.hadoop.yarn.server.router.clientrm." + + "DefaultClientRequestInterceptor"; + + public static final String ROUTER_CLIENTRM_PIPELINE_CACHE_MAX_SIZE = + ROUTER_CLIENTRM_PREFIX + "cache-max-size"; + public static final int DEFAULT_ROUTER_CLIENTRM_PIPELINE_CACHE_MAX_SIZE = 25; + // Other Configs http://git-wip-us.apache.org/repos/asf/hadoop/blob/0125c1a8/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/LRUCacheHashMap.java --
[44/50] [abbrv] hadoop git commit: YARN-3663. Federation State and Policy Store (DBMS implementation). (Giovanni Matteo Fumarola via curino).
YARN-3663. Federation State and Policy Store (DBMS implementation). (Giovanni Matteo Fumarola via curino). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/84ddaf39 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/84ddaf39 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/84ddaf39 Branch: refs/heads/YARN-2915 Commit: 84ddaf39dab1e8470d8b1304cdc3a8f817be25d5 Parents: 1752f59 Author: Carlo CurinoAuthored: Tue Apr 25 15:14:02 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:41 2017 -0700 -- LICENSE.txt | 1 + hadoop-project/pom.xml | 12 + .../hadoop/yarn/conf/YarnConfiguration.java | 23 + .../yarn/conf/TestYarnConfigurationFields.java | 14 + .../hadoop-yarn-server-common/pom.xml | 20 + .../FederationStateStoreErrorCode.java | 105 --- .../FederationStateStoreException.java | 17 +- .../store/impl/MemoryFederationStateStore.java | 81 +- .../store/impl/SQLFederationStateStore.java | 937 +++ .../store/records/SubClusterState.java | 21 + ...cationHomeSubClusterStoreInputValidator.java | 12 +- ...ationMembershipStateStoreInputValidator.java | 14 +- .../FederationPolicyStoreInputValidator.java| 6 +- .../store/utils/FederationStateStoreUtils.java | 109 ++- .../impl/FederationStateStoreBaseTest.java | 74 +- .../store/impl/HSQLDBFederationStateStore.java | 252 + .../impl/TestMemoryFederationStateStore.java| 3 +- .../store/impl/TestSQLFederationStateStore.java | 49 + .../TestFederationStateStoreInputValidator.java | 146 +-- .../TestFederationStateStoreFacadeRetry.java| 7 +- .../FederationStateStoreStoreProcs.sql | 511 ++ .../SQLServer/FederationStateStoreTables.sql| 122 +++ 22 files changed, 2228 insertions(+), 308 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/84ddaf39/LICENSE.txt -- diff --git a/LICENSE.txt b/LICENSE.txt index 969708f..1582f6c 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -661,6 +661,7 @@ hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/static/jquery-1.10.2.min.js hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/jquery.js hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/webapps/static/jquery Apache HBase - Server which contains JQuery minified javascript library version 1.8.3 +Microsoft SQLServer - JDBC version 6.1.0.jre7 Copyright 2005, 2012, 2013 jQuery Foundation and other contributors, https://jquery.org/ http://git-wip-us.apache.org/repos/asf/hadoop/blob/84ddaf39/hadoop-project/pom.xml -- diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml index 0619018..0da14a7 100755 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml @@ -100,6 +100,8 @@ 1.0.0 3.0.3 +2.4.11 +6.1.0.jre7 1.8 @@ -1280,6 +1282,16 @@ ehcache ${ehcache.version} + + com.zaxxer + HikariCP-java7 + ${hikari.version} + + + com.microsoft.sqlserver + mssql-jdbc + ${mssql.version} + http://git-wip-us.apache.org/repos/asf/hadoop/blob/84ddaf39/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index b103d2f..b351309 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2596,6 +2596,29 @@ public class YarnConfiguration extends Configuration { public static final String DEFAULT_FEDERATION_POLICY_MANAGER_PARAMS = ""; + private static final String FEDERATION_STATESTORE_SQL_PREFIX = + FEDERATION_PREFIX + "state-store.sql."; + + public static final String FEDERATION_STATESTORE_SQL_USERNAME = + FEDERATION_STATESTORE_SQL_PREFIX + "username"; + + public static final String FEDERATION_STATESTORE_SQL_PASSWORD = + FEDERATION_STATESTORE_SQL_PREFIX + "password"; + + public static final String FEDERATION_STATESTORE_SQL_URL = +
[22/50] [abbrv] hadoop git commit: YARN-5872. Add AlwayReject policies for router and amrmproxy. (Carlo Curino via Subru).
YARN-5872. Add AlwayReject policies for router and amrmproxy. (Carlo Curino via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7145d7df Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7145d7df Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7145d7df Branch: refs/heads/YARN-2915 Commit: 7145d7dfc10d60a4d62b98a9ad3fe5317c654c2d Parents: 40574c4 Author: Subru KrishnanAuthored: Tue Nov 22 18:37:30 2016 -0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../amrmproxy/RejectAMRMProxyPolicy.java| 67 + .../manager/RejectAllPolicyManager.java | 40 ++ .../policies/router/RejectRouterPolicy.java | 66 + .../amrmproxy/TestRejectAMRMProxyPolicy.java| 78 .../manager/TestRejectAllPolicyManager.java | 40 ++ .../policies/router/TestRejectRouterPolicy.java | 63 6 files changed, 354 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7145d7df/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/RejectAMRMProxyPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/RejectAMRMProxyPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/RejectAMRMProxyPolicy.java new file mode 100644 index 000..3783df6 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/amrmproxy/RejectAMRMProxyPolicy.java @@ -0,0 +1,67 @@ +/* + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.server.federation.policies.amrmproxy; + +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.hadoop.yarn.api.protocolrecords.AllocateResponse; +import org.apache.hadoop.yarn.api.records.ResourceRequest; +import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.federation.policies.FederationPolicyInitializationContext; +import org.apache.hadoop.yarn.server.federation.policies.FederationPolicyInitializationContextValidator; +import org.apache.hadoop.yarn.server.federation.policies.exceptions.FederationPolicyException; +import org.apache.hadoop.yarn.server.federation.policies.exceptions.FederationPolicyInitializationException; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterId; + +/** + * An implementation of the {@link FederationAMRMProxyPolicy} that simply + * rejects all requests. Useful to prevent apps from accessing any sub-cluster. + */ +public class RejectAMRMProxyPolicy extends AbstractAMRMProxyPolicy { + + private Set knownClusterIds = new HashSet<>(); + + @Override + public void reinitialize(FederationPolicyInitializationContext policyContext) + throws FederationPolicyInitializationException { +// overrides initialize to avoid weight checks that do no apply for +// this policy. +FederationPolicyInitializationContextValidator.validate(policyContext, +this.getClass().getCanonicalName()); +setPolicyContext(policyContext); + } + + @Override + public Map splitResourceRequests( + List resourceRequests) throws YarnException { +throw new FederationPolicyException("The policy configured for this queue " ++ "rejects all routing requests by construction."); + } + + @Override + public void notifyOfResponse(SubClusterId subClusterId, + AllocateResponse response) throws YarnException { +// This might be invoked for applications started with
[12/50] [abbrv] hadoop git commit: YARN-5467. InputValidator for the FederationStateStore internal APIs. (Giovanni Matteo Fumarola via Subru)
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4f6cbfd0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/utils/TestFederationStateStoreInputValidator.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/utils/TestFederationStateStoreInputValidator.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/utils/TestFederationStateStoreInputValidator.java new file mode 100644 index 000..13175ae --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/store/utils/TestFederationStateStoreInputValidator.java @@ -0,0 +1,1265 @@ +/** + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.server.federation.store.utils; + +import java.nio.ByteBuffer; + +import org.apache.hadoop.yarn.api.records.ApplicationId; +import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.ApplicationHomeSubCluster; +import org.apache.hadoop.yarn.server.federation.store.records.DeleteApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterInfoRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterPolicyConfigurationRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SetSubClusterPolicyConfigurationRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterDeregisterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterHeartbeatRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterId; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterInfo; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterPolicyConfiguration; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterRegisterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterState; +import org.apache.hadoop.yarn.server.federation.store.records.UpdateApplicationHomeSubClusterRequest; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Unit tests for FederationApplicationInputValidator, + * FederationMembershipInputValidator, and FederationPolicyInputValidator. + */ +public class TestFederationStateStoreInputValidator { + + private static final Logger LOG = + LoggerFactory.getLogger(TestFederationStateStoreInputValidator.class); + + private static SubClusterId subClusterId; + private static String amRMServiceAddress; + private static String clientRMServiceAddress; + private static String rmAdminServiceAddress; + private static String rmWebServiceAddress; + private static int lastHeartBeat; + private static SubClusterState stateNew; + private static SubClusterState stateLost; + private static ApplicationId appId; + private static int lastStartTime; + private static String capability; + private static String queue; + private static String type; + private static ByteBuffer params; + + private static SubClusterId subClusterIdInvalid; + private static SubClusterId subClusterIdNull; + + private static int lastHeartBeatNegative; + private static int lastStartTimeNegative; + + private static SubClusterState stateNull; + private static ApplicationId appIdNull; + + private static String capabilityNull; + private static String capabilityEmpty; + + private static String addressNull; + private static String addressEmpty; + private static String addressWrong; + private static String addressWrongPort; + + private static String queueEmpty; + private static String
[09/50] [abbrv] hadoop git commit: YARN-5408. Compose Federation membership/application/policy APIs into an uber FederationStateStore API. (Ellen Hui via Subru).
YARN-5408. Compose Federation membership/application/policy APIs into an uber FederationStateStore API. (Ellen Hui via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b8245693 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b8245693 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b8245693 Branch: refs/heads/YARN-2915 Commit: b824569302e2a777bee9bf82a262182961170550 Parents: 1a578ae Author: Subru KrishnanAuthored: Mon Aug 8 14:53:38 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- ...ederationApplicationHomeSubClusterStore.java | 18 ++ .../store/FederationMembershipStateStore.java | 14 + .../federation/store/FederationStateStore.java | 64 .../store/impl/MemoryFederationStateStore.java | 19 -- .../impl/FederationStateStoreBaseTest.java | 57 + .../impl/TestMemoryFederationStateStore.java| 21 +-- 6 files changed, 99 insertions(+), 94 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b8245693/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java index 217ee2e..22bb88a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java @@ -30,7 +30,6 @@ import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationsHom import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationsHomeSubClusterResponse; import org.apache.hadoop.yarn.server.federation.store.records.UpdateApplicationHomeSubClusterRequest; import org.apache.hadoop.yarn.server.federation.store.records.UpdateApplicationHomeSubClusterResponse; -import org.apache.hadoop.yarn.server.records.Version; /** * FederationApplicationHomeSubClusterStore maintains the state of all @@ -50,15 +49,6 @@ import org.apache.hadoop.yarn.server.records.Version; public interface FederationApplicationHomeSubClusterStore { /** - * Get the {@link Version} of the underlying federation application state - * store. - * - * @return the {@link Version} of the underlying federation application state - * store - */ - Version getApplicationStateStoreVersion(); - - /** * Register the home {@code SubClusterId} of the newly submitted * {@code ApplicationId}. Currently response is empty if the operation was * successful, if not an exception reporting reason for a failure. @@ -91,16 +81,16 @@ public interface FederationApplicationHomeSubClusterStore { * {@code ApplicationId}. * * @param request contains the application queried - * @return {@code ApplicationHomeSubCluster} containing the application's - * home subcluster + * @return {@code ApplicationHomeSubCluster} containing the application's home + * subcluster * @throws YarnException if the request is invalid/fails */ GetApplicationHomeSubClusterResponse getApplicationHomeSubClusterMap( GetApplicationHomeSubClusterRequest request) throws YarnException; /** - * Get the {@code ApplicationHomeSubCluster} list representing the mapping - * of all submitted applications to it's home sub-cluster. + * Get the {@code ApplicationHomeSubCluster} list representing the mapping of + * all submitted applications to it's home sub-cluster. * * @param request empty representing all applications * @return the mapping of all submitted application to it's home sub-cluster http://git-wip-us.apache.org/repos/asf/hadoop/blob/b8245693/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationMembershipStateStore.java -- diff --git
[13/50] [abbrv] hadoop git commit: YARN-5467. InputValidator for the FederationStateStore internal APIs. (Giovanni Matteo Fumarola via Subru)
YARN-5467. InputValidator for the FederationStateStore internal APIs. (Giovanni Matteo Fumarola via Subru) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/4f6cbfd0 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/4f6cbfd0 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/4f6cbfd0 Branch: refs/heads/YARN-2915 Commit: 4f6cbfd0636db24ecdd900245a12175ca8ebbc12 Parents: 5e55c7d Author: Subru KrishnanAuthored: Wed Aug 17 12:07:06 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- .../store/impl/MemoryFederationStateStore.java | 30 + ...cationHomeSubClusterStoreInputValidator.java | 183 +++ ...ationMembershipStateStoreInputValidator.java | 317 + .../FederationPolicyStoreInputValidator.java| 144 ++ ...derationStateStoreInvalidInputException.java | 48 + .../federation/store/utils/package-info.java| 17 + .../impl/FederationStateStoreBaseTest.java |6 +- .../TestFederationStateStoreInputValidator.java | 1265 ++ 8 files changed, 2007 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/4f6cbfd0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java index 8144435..6e564dc 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java @@ -57,6 +57,9 @@ import org.apache.hadoop.yarn.server.federation.store.records.SubClusterRegister import org.apache.hadoop.yarn.server.federation.store.records.SubClusterRegisterResponse; import org.apache.hadoop.yarn.server.federation.store.records.UpdateApplicationHomeSubClusterRequest; import org.apache.hadoop.yarn.server.federation.store.records.UpdateApplicationHomeSubClusterResponse; +import org.apache.hadoop.yarn.server.federation.store.utils.FederationApplicationHomeSubClusterStoreInputValidator; +import org.apache.hadoop.yarn.server.federation.store.utils.FederationMembershipStateStoreInputValidator; +import org.apache.hadoop.yarn.server.federation.store.utils.FederationPolicyStoreInputValidator; import org.apache.hadoop.yarn.server.records.Version; import org.apache.hadoop.yarn.util.MonotonicClock; @@ -88,6 +91,8 @@ public class MemoryFederationStateStore implements FederationStateStore { @Override public SubClusterRegisterResponse registerSubCluster( SubClusterRegisterRequest request) throws YarnException { +FederationMembershipStateStoreInputValidator +.validateSubClusterRegisterRequest(request); SubClusterInfo subClusterInfo = request.getSubClusterInfo(); membership.put(subClusterInfo.getSubClusterId(), subClusterInfo); return SubClusterRegisterResponse.newInstance(); @@ -96,6 +101,8 @@ public class MemoryFederationStateStore implements FederationStateStore { @Override public SubClusterDeregisterResponse deregisterSubCluster( SubClusterDeregisterRequest request) throws YarnException { +FederationMembershipStateStoreInputValidator +.validateSubClusterDeregisterRequest(request); SubClusterInfo subClusterInfo = membership.get(request.getSubClusterId()); if (subClusterInfo == null) { throw new YarnException( @@ -111,6 +118,8 @@ public class MemoryFederationStateStore implements FederationStateStore { public SubClusterHeartbeatResponse subClusterHeartbeat( SubClusterHeartbeatRequest request) throws YarnException { +FederationMembershipStateStoreInputValidator +.validateSubClusterHeartbeatRequest(request); SubClusterId subClusterId = request.getSubClusterId(); SubClusterInfo subClusterInfo = membership.get(subClusterId); @@ -129,6 +138,9 @@ public class MemoryFederationStateStore implements FederationStateStore { @Override public GetSubClusterInfoResponse getSubCluster( GetSubClusterInfoRequest request) throws YarnException { + +FederationMembershipStateStoreInputValidator +
[28/50] [abbrv] hadoop git commit: YARN-5601. Make the RM epoch base value configurable. Contributed by Subru Krishnan
YARN-5601. Make the RM epoch base value configurable. Contributed by Subru Krishnan Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3ea07037 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3ea07037 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3ea07037 Branch: refs/heads/YARN-2915 Commit: 3ea0703762ad62dda1387279e2ca7a8c7070809a Parents: 6d458c8 Author: Jian HeAuthored: Fri Sep 2 12:23:57 2016 +0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../hadoop-yarn/dev-support/findbugs-exclude.xml | 5 - .../java/org/apache/hadoop/yarn/conf/YarnConfiguration.java | 3 +++ .../apache/hadoop/yarn/conf/TestYarnConfigurationFields.java | 2 ++ .../hadoop/yarn/server/resourcemanager/ResourceManager.java | 7 +++ .../resourcemanager/recovery/FileSystemRMStateStore.java | 2 +- .../server/resourcemanager/recovery/LeveldbRMStateStore.java | 2 +- .../server/resourcemanager/recovery/MemoryRMStateStore.java | 1 + .../yarn/server/resourcemanager/recovery/RMStateStore.java | 4 .../yarn/server/resourcemanager/recovery/ZKRMStateStore.java | 2 +- .../resourcemanager/recovery/RMStateStoreTestBase.java | 8 +--- .../server/resourcemanager/recovery/TestFSRMStateStore.java | 1 + .../resourcemanager/recovery/TestLeveldbRMStateStore.java| 1 + .../server/resourcemanager/recovery/TestZKRMStateStore.java | 1 + 13 files changed, 32 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ea07037/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml index 2f5451d..bbd03a9 100644 --- a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml +++ b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml @@ -293,7 +293,10 @@ - + + + + http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ea07037/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index b978ece..fdb1d8a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -143,6 +143,9 @@ public class YarnConfiguration extends Configuration { public static final String RM_HOSTNAME = RM_PREFIX + "hostname"; + public static final String RM_EPOCH = RM_PREFIX + "epoch"; + public static final long DEFAULT_RM_EPOCH = 0L; + /** The address of the applications manager interface in the RM.*/ public static final String RM_ADDRESS = RM_PREFIX + "address"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ea07037/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java index 5e0876f..3f3a06c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java @@ -75,6 +75,8 @@ public class TestYarnConfigurationFields extends TestConfigurationFieldsBase { .add(YarnConfiguration.FEDERATION_FAILOVER_ENABLED); configurationPropsToSkipCompare .add(YarnConfiguration.FEDERATION_STATESTORE_HEARTBEAT_INTERVAL_SECS); +configurationPropsToSkipCompare +.add(YarnConfiguration.RM_EPOCH); // Ignore blacklisting nodes for AM failures feature since it is still a // "work in progress" http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ea07037/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java
[32/50] [abbrv] hadoop git commit: YARN-5325. Stateless ARMRMProxy policies implementation. (Carlo Curino via Subru).
YARN-5325. Stateless ARMRMProxy policies implementation. (Carlo Curino via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/5e21d049 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/5e21d049 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/5e21d049 Branch: refs/heads/YARN-2915 Commit: 5e21d049e9e008d6e2c68670c435fa408fa91098 Parents: 28c8a58 Author: Subru KrishnanAuthored: Thu Oct 13 17:59:13 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../AbstractConfigurableFederationPolicy.java | 155 + .../policies/ConfigurableFederationPolicy.java | 9 +- .../FederationPolicyInitializationContext.java | 37 +- ...ionPolicyInitializationContextValidator.java | 28 +- .../policies/FederationPolicyManager.java | 59 +- .../amrmproxy/AbstractAMRMProxyPolicy.java | 47 ++ .../amrmproxy/BroadcastAMRMProxyPolicy.java | 85 +++ .../amrmproxy/FederationAMRMProxyPolicy.java| 25 +- .../LocalityMulticastAMRMProxyPolicy.java | 583 +++ .../policies/amrmproxy/package-info.java| 1 - .../policies/dao/WeightedPolicyInfo.java| 180 +++--- .../federation/policies/dao/package-info.java | 1 - .../policies/exceptions/package-info.java | 1 - .../federation/policies/package-info.java | 1 - .../policies/router/AbstractRouterPolicy.java | 47 ++ .../router/BaseWeightedRouterPolicy.java| 150 - .../policies/router/FederationRouterPolicy.java | 5 +- .../policies/router/LoadBasedRouterPolicy.java | 36 +- .../policies/router/PriorityRouterPolicy.java | 19 +- .../router/UniformRandomRouterPolicy.java | 28 +- .../router/WeightedRandomRouterPolicy.java | 32 +- .../policies/router/package-info.java | 1 - .../resolver/AbstractSubClusterResolver.java| 4 +- .../policies/BaseFederationPoliciesTest.java| 28 +- ...ionPolicyInitializationContextValidator.java | 25 +- .../TestBroadcastAMRMProxyFederationPolicy.java | 112 .../TestLocalityMulticastAMRMProxyPolicy.java | 566 ++ .../router/TestLoadBasedRouterPolicy.java | 18 +- .../router/TestPriorityRouterPolicy.java| 15 +- .../router/TestWeightedRandomRouterPolicy.java | 35 +- .../utils/FederationPoliciesTestUtil.java | 64 ++ .../src/test/resources/nodes| 6 +- 32 files changed, 1950 insertions(+), 453 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/5e21d049/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractConfigurableFederationPolicy.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractConfigurableFederationPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractConfigurableFederationPolicy.java new file mode 100644 index 000..4cb9bbe --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/policies/AbstractConfigurableFederationPolicy.java @@ -0,0 +1,155 @@ +/* + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.server.federation.policies; + +import java.util.Map; + +import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.federation.policies.dao.WeightedPolicyInfo; +import org.apache.hadoop.yarn.server.federation.policies.exceptions.FederationPolicyInitializationException; +import org.apache.hadoop.yarn.server.federation.policies.exceptions.NoActiveSubclustersException; +import
[17/50] [abbrv] hadoop git commit: YARN-3662. Federation Membership State Store internal APIs.
YARN-3662. Federation Membership State Store internal APIs. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7cce1696 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7cce1696 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7cce1696 Branch: refs/heads/YARN-2915 Commit: 7cce16965055c3400f6de6c0d1ea1661db904595 Parents: a0276cb Author: Subru KrishnanAuthored: Fri Jul 29 16:53:40 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- .../hadoop-yarn-server-common/pom.xml | 8 + .../store/FederationMembershipStateStore.java | 126 + .../server/federation/store/package-info.java | 17 ++ .../store/records/GetSubClusterInfoRequest.java | 62 + .../records/GetSubClusterInfoResponse.java | 62 + .../records/GetSubClustersInfoRequest.java | 66 + .../records/GetSubClustersInfoResponse.java | 66 + .../records/SubClusterDeregisterRequest.java| 89 +++ .../records/SubClusterDeregisterResponse.java | 42 +++ .../records/SubClusterHeartbeatRequest.java | 149 +++ .../records/SubClusterHeartbeatResponse.java| 45 .../federation/store/records/SubClusterId.java | 100 +++ .../store/records/SubClusterInfo.java | 263 ++ .../records/SubClusterRegisterRequest.java | 74 + .../records/SubClusterRegisterResponse.java | 44 +++ .../store/records/SubClusterState.java | 60 + .../impl/pb/GetSubClusterInfoRequestPBImpl.java | 125 + .../pb/GetSubClusterInfoResponsePBImpl.java | 134 ++ .../pb/GetSubClustersInfoRequestPBImpl.java | 108 .../pb/GetSubClustersInfoResponsePBImpl.java| 184 + .../pb/SubClusterDeregisterRequestPBImpl.java | 156 +++ .../pb/SubClusterDeregisterResponsePBImpl.java | 77 ++ .../pb/SubClusterHeartbeatRequestPBImpl.java| 192 + .../pb/SubClusterHeartbeatResponsePBImpl.java | 77 ++ .../records/impl/pb/SubClusterIdPBImpl.java | 75 ++ .../records/impl/pb/SubClusterInfoPBImpl.java | 267 +++ .../pb/SubClusterRegisterRequestPBImpl.java | 134 ++ .../pb/SubClusterRegisterResponsePBImpl.java| 77 ++ .../store/records/impl/pb/package-info.java | 17 ++ .../federation/store/records/package-info.java | 17 ++ .../proto/yarn_server_federation_protos.proto | 93 +++ .../records/TestFederationProtocolRecords.java | 133 + 32 files changed, 3139 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7cce1696/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml index 465f71a..c52e5e6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml @@ -58,6 +58,13 @@ org.apache.hadoop hadoop-yarn-common + + + org.apache.hadoop + hadoop-yarn-common + test-jar + test + com.google.guava @@ -146,6 +153,7 @@ yarn_server_common_protos.proto yarn_server_common_service_protos.proto yarn_server_common_service_protos.proto + yarn_server_federation_protos.proto ResourceTracker.proto SCMUploader.proto collectornodemanager_protocol.proto http://git-wip-us.apache.org/repos/asf/hadoop/blob/7cce1696/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationMembershipStateStore.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationMembershipStateStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationMembershipStateStore.java new file mode 100644 index 000..378eadc --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationMembershipStateStore.java @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or
[39/50] [abbrv] hadoop git commit: YARN-5411. Create a proxy chain for ApplicationClientProtocol in the Router. (Giovanni Matteo Fumarola via Subru).
http://git-wip-us.apache.org/repos/asf/hadoop/blob/0125c1a8/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/clientrm/TestRouterClientRMService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/clientrm/TestRouterClientRMService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/clientrm/TestRouterClientRMService.java new file mode 100644 index 000..a9c3729 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/clientrm/TestRouterClientRMService.java @@ -0,0 +1,210 @@ +/** +* 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 +* 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 +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.hadoop.yarn.server.router.clientrm; + +import java.io.IOException; +import java.util.Map; + +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeLabelsResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetNewReservationResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoResponse; +import org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoResponse; +import org.apache.hadoop.yarn.api.protocolrecords.KillApplicationResponse; +import org.apache.hadoop.yarn.api.protocolrecords.MoveApplicationAcrossQueuesResponse; +import org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteResponse; +import org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionResponse; +import org.apache.hadoop.yarn.api.protocolrecords.ReservationUpdateResponse; +import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationResponse; +import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.router.clientrm.RouterClientRMService.RequestInterceptorChainWrapper; +import org.junit.Assert; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Test class to validate the ClientRM Service inside the Router. + */ +public class TestRouterClientRMService extends BaseRouterClientRMTest { + + private static final Logger LOG = + LoggerFactory.getLogger(TestRouterClientRMService.class); + + /** + * Tests if the pipeline is created properly. + */ + @Test + public void testRequestInterceptorChainCreation() throws Exception { +ClientRequestInterceptor root = +super.getRouterClientRMService().createRequestInterceptorChain(); +int index = 0; +while (root != null) { + // The current pipeline is: + // PassThroughClientRequestInterceptor - index = 0 + // PassThroughClientRequestInterceptor - index = 1 + // PassThroughClientRequestInterceptor - index = 2 + // MockClientRequestInterceptor - index = 3 + switch (index) { + case 0: // Fall to the next case + case 1: // Fall to the next case + case 2: +// If index is equal to 0,1 or 2 we fall in this check + Assert.assertEquals(PassThroughClientRequestInterceptor.class.getName(), +root.getClass().getName()); +break; + case 3: +Assert.assertEquals(MockClientRequestInterceptor.class.getName(), +root.getClass().getName()); +break; + default: +Assert.fail(); + } + root = root.getNextInterceptor(); + index++; +} +Assert.assertEquals("The number of interceptors in chain does not match", 4, +index); + } + + /** + * Test if the RouterClientRM forwards all the requests to the MockRM and get + * back the responses. + */ + @Test + public void testRouterClientRMServiceE2E() throws Exception { + +String user = "test1"; + +LOG.info("testRouterClientRMServiceE2E - Get New Application"); + +GetNewApplicationResponse responseGetNewApp =
[14/50] [abbrv] hadoop git commit: YARN-5390. Federation Subcluster Resolver. Contributed by Ellen Hui.
YARN-5390. Federation Subcluster Resolver. Contributed by Ellen Hui. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/eea2372f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/eea2372f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/eea2372f Branch: refs/heads/YARN-2915 Commit: eea2372ff92776b5cbfbda580a5946ef4207ce01 Parents: 4faba61 Author: Subru KrishnanAuthored: Thu Aug 4 15:58:31 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- .../hadoop/yarn/conf/YarnConfiguration.java | 8 + .../src/main/resources/yarn-default.xml | 7 + .../hadoop-yarn-server-common/pom.xml | 10 + .../resolver/AbstractSubClusterResolver.java| 67 +++ .../resolver/DefaultSubClusterResolverImpl.java | 164 + .../federation/resolver/SubClusterResolver.java | 58 ++ .../federation/resolver/package-info.java | 17 ++ .../resolver/TestDefaultSubClusterResolver.java | 184 +++ .../src/test/resources/nodes| 4 + .../src/test/resources/nodes-malformed | 3 + 10 files changed, 522 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/eea2372f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 5e4c826..3ee5e64 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2538,6 +2538,14 @@ public class YarnConfiguration extends Configuration { public static final int DEFAULT_SHARED_CACHE_NM_UPLOADER_THREAD_COUNT = 20; + // Federation Configs + + + public static final String FEDERATION_PREFIX = YARN_PREFIX + "federation."; + public static final String FEDERATION_MACHINE_LIST = + FEDERATION_PREFIX + "machine-list"; + + // Other Configs http://git-wip-us.apache.org/repos/asf/hadoop/blob/eea2372f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml index e687eef..a3a2465 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml @@ -2671,6 +2671,13 @@ + + Machine list file to be loaded by the FederationSubCluster Resolver + +yarn.federation.machine-list + + + The interval that the yarn client library uses to poll the completion status of the asynchronous API of application client protocol. http://git-wip-us.apache.org/repos/asf/hadoop/blob/eea2372f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml index c52e5e6..0cc55d6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/pom.xml @@ -177,6 +177,16 @@ + +org.apache.rat +apache-rat-plugin + + +src/test/resources/nodes +src/test/resources/nodes-malformed + + + http://git-wip-us.apache.org/repos/asf/hadoop/blob/eea2372f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/resolver/AbstractSubClusterResolver.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/resolver/AbstractSubClusterResolver.java
[23/50] [abbrv] hadoop git commit: YARN-5905. Update the RM webapp host that is reported as part of Federation membership to current primary RM's IP.
YARN-5905. Update the RM webapp host that is reported as part of Federation membership to current primary RM's IP. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/40574c44 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/40574c44 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/40574c44 Branch: refs/heads/YARN-2915 Commit: 40574c441c56e2da3246ac8755443db4bb5aff28 Parents: 955faca Author: Subru KrishnanAuthored: Tue Nov 22 18:30:40 2016 -0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../federation/FederationStateStoreService.java | 4 ++-- .../federation/TestFederationRMStateStoreService.java| 11 ++- 2 files changed, 12 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/40574c44/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java index 9a01d7e..530184f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java @@ -177,8 +177,8 @@ public class FederationStateStoreService extends AbstractService config.getSocketAddr(YarnConfiguration.RM_ADMIN_ADDRESS, YarnConfiguration.DEFAULT_RM_ADMIN_ADDRESS, YarnConfiguration.DEFAULT_RM_ADMIN_PORT)); -String webAppAddress = -WebAppUtils.getResolvedRemoteRMWebAppURLWithoutScheme(config); +String webAppAddress = getServiceAddress(NetUtils +.createSocketAddr(WebAppUtils.getRMWebAppURLWithScheme(config))); SubClusterInfo subClusterInfo = SubClusterInfo.newInstance(subClusterId, amRMAddress, clientRMAddress, rmAdminAddress, webAppAddress, http://git-wip-us.apache.org/repos/asf/hadoop/blob/40574c44/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java index 30f69b5..d92a793 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java @@ -19,6 +19,7 @@ package org.apache.hadoop.yarn.server.resourcemanager.federation; import java.io.IOException; import java.io.StringReader; +import java.net.UnknownHostException; import javax.xml.bind.JAXBException; @@ -157,12 +158,20 @@ public class TestFederationRMStateStoreService { } private String checkSubClusterInfo(SubClusterState state) - throws YarnException { + throws YarnException, UnknownHostException { Assert.assertNotNull(stateStore.getSubCluster(request)); SubClusterInfo response = stateStore.getSubCluster(request).getSubClusterInfo(); Assert.assertEquals(state, response.getState()); Assert.assertTrue(response.getLastHeartBeat() >= lastHearbeatTS); +String expectedAddress = +(response.getClientRMServiceAddress().split(":"))[0]; +Assert.assertEquals(expectedAddress, +(response.getAMRMServiceAddress().split(":"))[0]); +Assert.assertEquals(expectedAddress, +(response.getRMAdminServiceAddress().split(":"))[0]); +
[15/50] [abbrv] hadoop git commit: YARN-5406. In-memory based implementation of the FederationMembershipStateStore. Contributed by Ellen Hui.
YARN-5406. In-memory based implementation of the FederationMembershipStateStore. Contributed by Ellen Hui. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/4faba613 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/4faba613 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/4faba613 Branch: refs/heads/YARN-2915 Commit: 4faba613a62ec0ccffaf135d7d98ddd3d1ab9df1 Parents: 7cce169 Author: Subru KrishnanAuthored: Thu Aug 4 15:54:38 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- .../store/impl/MemoryFederationStateStore.java | 138 .../federation/store/impl/package-info.java | 17 ++ .../records/GetSubClustersInfoRequest.java | 4 + .../store/records/SubClusterState.java | 4 + .../impl/FederationStateStoreBaseTest.java | 221 +++ .../impl/TestMemoryFederationStateStore.java| 49 6 files changed, 433 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/4faba613/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java new file mode 100644 index 000..7fdc4a9 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/impl/MemoryFederationStateStore.java @@ -0,0 +1,138 @@ +/** + * 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 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.yarn.server.federation.store.impl; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterId; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterInfo; +import org.apache.hadoop.yarn.server.federation.store.FederationMembershipStateStore; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterDeregisterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterDeregisterResponse; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterInfoRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClusterInfoResponse; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClustersInfoRequest; +import org.apache.hadoop.yarn.server.federation.store.records.GetSubClustersInfoResponse; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterHeartbeatRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterHeartbeatResponse; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterRegisterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.SubClusterRegisterResponse; +import org.apache.hadoop.yarn.server.records.Version; +import org.apache.hadoop.yarn.util.MonotonicClock; + +import com.google.common.annotations.VisibleForTesting; + +/** + * In-memory implementation of FederationMembershipStateStore. + */ +public class MemoryFederationStateStore +implements FederationMembershipStateStore { + + private final Map membership = + new ConcurrentHashMap (); + private final MonotonicClock clock = new MonotonicClock(); + + @Override + public Version getMembershipStateStoreVersion() { +return null; + } + + @Override + public
[26/50] [abbrv] hadoop git commit: YARN-5612. Return SubClusterId in FederationStateStoreFacade#addApplicationHomeSubCluster for Router Failover. (Giovanni Matteo Fumarola via Subru).
YARN-5612. Return SubClusterId in FederationStateStoreFacade#addApplicationHomeSubCluster for Router Failover. (Giovanni Matteo Fumarola via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/6d458c82 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/6d458c82 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/6d458c82 Branch: refs/heads/YARN-2915 Commit: 6d458c823a8da62041cb83625d0c06a5857d4e44 Parents: 30f7f56 Author: Subru KrishnanAuthored: Thu Sep 1 13:55:54 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../utils/FederationStateStoreFacade.java | 11 --- .../utils/TestFederationStateStoreFacade.java | 30 2 files changed, 37 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/6d458c82/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java index f1c8218..66a0b60 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java @@ -48,6 +48,7 @@ import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.exceptions.YarnRuntimeException; import org.apache.hadoop.yarn.server.federation.store.FederationStateStore; import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterResponse; import org.apache.hadoop.yarn.server.federation.store.records.ApplicationHomeSubCluster; import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationHomeSubClusterRequest; import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationHomeSubClusterResponse; @@ -298,13 +299,15 @@ public final class FederationStateStoreFacade { * * @param appHomeSubCluster the mapping of the application to it's home * sub-cluster + * @return the stored Subcluster from StateStore * @throws YarnException if the call to the state store is unsuccessful */ - public void addApplicationHomeSubCluster( + public SubClusterId addApplicationHomeSubCluster( ApplicationHomeSubCluster appHomeSubCluster) throws YarnException { -stateStore.addApplicationHomeSubCluster( -AddApplicationHomeSubClusterRequest.newInstance(appHomeSubCluster)); -return; +AddApplicationHomeSubClusterResponse response = +stateStore.addApplicationHomeSubCluster( + AddApplicationHomeSubClusterRequest.newInstance(appHomeSubCluster)); +return response.getHomeSubCluster(); } /** http://git-wip-us.apache.org/repos/asf/hadoop/blob/6d458c82/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacade.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacade.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacade.java index 53f4f84..d46bef0 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacade.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacade.java @@ -28,6 +28,7 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.federation.store.FederationStateStore; import org.apache.hadoop.yarn.server.federation.store.impl.MemoryFederationStateStore; +import
[19/50] [abbrv] hadoop git commit: YARN-5676. Add a HashBasedRouterPolicy, and small policies and test refactoring. (Carlo Curino via Subru).
http://git-wip-us.apache.org/repos/asf/hadoop/blob/955faca4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestRouterPolicyFacade.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestRouterPolicyFacade.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestRouterPolicyFacade.java index 4975a9f..5fa02d6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestRouterPolicyFacade.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestRouterPolicyFacade.java @@ -29,6 +29,8 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.federation.policies.dao.WeightedPolicyInfo; import org.apache.hadoop.yarn.server.federation.policies.exceptions.FederationPolicyInitializationException; +import org.apache.hadoop.yarn.server.federation.policies.manager.PriorityBroadcastPolicyManager; +import org.apache.hadoop.yarn.server.federation.policies.manager.UniformBroadcastPolicyManager; import org.apache.hadoop.yarn.server.federation.policies.router.PriorityRouterPolicy; import org.apache.hadoop.yarn.server.federation.policies.router.UniformRandomRouterPolicy; import org.apache.hadoop.yarn.server.federation.resolver.SubClusterResolver; http://git-wip-us.apache.org/repos/asf/hadoop/blob/955faca4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestUniformBroadcastPolicyManager.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestUniformBroadcastPolicyManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestUniformBroadcastPolicyManager.java deleted file mode 100644 index 542a5ae..000 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestUniformBroadcastPolicyManager.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * 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 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package org.apache.hadoop.yarn.server.federation.policies; - -import org.apache.hadoop.yarn.server.federation.policies.amrmproxy.BroadcastAMRMProxyPolicy; -import org.apache.hadoop.yarn.server.federation.policies.router.UniformRandomRouterPolicy; -import org.junit.Before; - -/** - * Simple test of {@link UniformBroadcastPolicyManager}. - */ -public class TestUniformBroadcastPolicyManager extends BasePolicyManagerTest { - - @Before - public void setup() { -//config policy -wfp = new UniformBroadcastPolicyManager(); -wfp.setQueue("queue1"); - -//set expected params that the base test class will use for tests -expectedPolicyManager = UniformBroadcastPolicyManager.class; -expectedAMRMProxyPolicy = BroadcastAMRMProxyPolicy.class; -expectedRouterPolicy = UniformRandomRouterPolicy.class; - } -} http://git-wip-us.apache.org/repos/asf/hadoop/blob/955faca4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestWeightedLocalityPolicyManager.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/policies/TestWeightedLocalityPolicyManager.java
[24/50] [abbrv] hadoop git commit: YARN-3673. Create a FailoverProxy for Federation services. Contributed by Subru Krishnan
YARN-3673. Create a FailoverProxy for Federation services. Contributed by Subru Krishnan Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a92e5214 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a92e5214 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a92e5214 Branch: refs/heads/YARN-2915 Commit: a92e5214f687f7a027c899762e1371ada495b9bc Parents: 4f6cbfd Author: Jian HeAuthored: Mon Aug 22 14:43:07 2016 +0800 Committer: Subru Krishnan Committed: Fri May 26 17:02:09 2017 -0700 -- .../org/apache/hadoop/yarn/conf/HAUtil.java | 30 ++- .../hadoop/yarn/conf/YarnConfiguration.java | 10 + .../yarn/conf/TestYarnConfigurationFields.java | 4 + .../TestFederationRMFailoverProxyProvider.java | 154 ++ .../hadoop/yarn/client/ClientRMProxy.java | 4 +- .../org/apache/hadoop/yarn/client/RMProxy.java | 11 +- .../src/main/resources/yarn-default.xml | 7 + .../hadoop-yarn-server-common/pom.xml | 2 - .../hadoop/yarn/server/api/ServerRMProxy.java | 4 +- .../failover/FederationProxyProviderUtil.java | 163 ++ .../FederationRMFailoverProxyProvider.java | 211 +++ .../federation/failover/package-info.java | 17 ++ 12 files changed, 603 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a92e5214/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/HAUtil.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/HAUtil.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/HAUtil.java index 133b377..528b642 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/HAUtil.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/HAUtil.java @@ -18,7 +18,9 @@ package org.apache.hadoop.yarn.conf; -import com.google.common.annotations.VisibleForTesting; +import java.net.InetSocketAddress; +import java.util.Collection; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.HadoopIllegalArgumentException; @@ -27,8 +29,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.yarn.exceptions.YarnRuntimeException; -import java.net.InetSocketAddress; -import java.util.Collection; +import com.google.common.annotations.VisibleForTesting; @InterfaceAudience.Private public class HAUtil { @@ -45,6 +46,29 @@ public class HAUtil { } /** + * Returns true if Federation is configured. + * + * @param conf Configuration + * @return true if federation is configured in the configuration; else false. + */ + public static boolean isFederationEnabled(Configuration conf) { +return conf.getBoolean(YarnConfiguration.FEDERATION_ENABLED, +YarnConfiguration.DEFAULT_FEDERATION_ENABLED); + } + + /** + * Returns true if RM failover is enabled in a Federation setting. + * + * @param conf Configuration + * @return if RM failover is enabled in conjunction with Federation in the + * configuration; else false. + */ + public static boolean isFederationFailoverEnabled(Configuration conf) { +return conf.getBoolean(YarnConfiguration.FEDERATION_FAILOVER_ENABLED, +YarnConfiguration.DEFAULT_FEDERATION_FAILOVER_ENABLED); + } + + /** * Returns true if Resource Manager HA is configured. * * @param conf Configuration http://git-wip-us.apache.org/repos/asf/hadoop/blob/a92e5214/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index c0ed856..0580a7f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2543,6 +2543,16 @@ public class YarnConfiguration extends Configuration { public static final String FEDERATION_PREFIX = YARN_PREFIX + "federation."; + public static final String FEDERATION_ENABLED = FEDERATION_PREFIX + "enabled"; + public static final boolean DEFAULT_FEDERATION_ENABLED = false; + + public
[11/50] [abbrv] hadoop git commit: YARN-5519. Add SubClusterId in AddApplicationHomeSubClusterResponse for Router Failover. (Ellen Hui via Subru)
YARN-5519. Add SubClusterId in AddApplicationHomeSubClusterResponse for Router Failover. (Ellen Hui via Subru) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/cb61028f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/cb61028f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/cb61028f Branch: refs/heads/YARN-2915 Commit: cb61028f3ade84b962a181f52897942ad502e296 Parents: 80069c4 Author: Subru KrishnanAuthored: Mon Aug 15 14:47:02 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- ...ederationApplicationHomeSubClusterStore.java | 21 +++--- .../store/impl/MemoryFederationStateStore.java | 22 +++--- .../AddApplicationHomeSubClusterResponse.java | 29 ++-- ...ApplicationHomeSubClusterResponsePBImpl.java | 39 +++ .../proto/yarn_server_federation_protos.proto | 1 + .../impl/FederationStateStoreBaseTest.java | 71 +--- 6 files changed, 120 insertions(+), 63 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/cb61028f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java index 22bb88a..ace2457 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java @@ -51,15 +51,20 @@ public interface FederationApplicationHomeSubClusterStore { /** * Register the home {@code SubClusterId} of the newly submitted * {@code ApplicationId}. Currently response is empty if the operation was - * successful, if not an exception reporting reason for a failure. + * successful, if not an exception reporting reason for a failure. If a + * mapping for the application already existed, the {@code SubClusterId} in + * this response will return the existing mapping which might be different + * from that in the {@code AddApplicationHomeSubClusterRequest}. * * @param request the request to register a new application with its home * sub-cluster - * @return empty on successful registration of the application in the - * StateStore, if not an exception reporting reason for a failure + * @return upon successful registration of the application in the StateStore, + * {@code AddApplicationHomeSubClusterRequest} containing the home + * sub-cluster of the application. Otherwise, an exception reporting + * reason for a failure * @throws YarnException if the request is invalid/fails */ - AddApplicationHomeSubClusterResponse addApplicationHomeSubClusterMap( + AddApplicationHomeSubClusterResponse addApplicationHomeSubCluster( AddApplicationHomeSubClusterRequest request) throws YarnException; /** @@ -73,7 +78,7 @@ public interface FederationApplicationHomeSubClusterStore { * not an exception reporting reason for a failure * @throws YarnException if the request is invalid/fails */ - UpdateApplicationHomeSubClusterResponse updateApplicationHomeSubClusterMap( + UpdateApplicationHomeSubClusterResponse updateApplicationHomeSubCluster( UpdateApplicationHomeSubClusterRequest request) throws YarnException; /** @@ -85,7 +90,7 @@ public interface FederationApplicationHomeSubClusterStore { * subcluster * @throws YarnException if the request is invalid/fails */ - GetApplicationHomeSubClusterResponse getApplicationHomeSubClusterMap( + GetApplicationHomeSubClusterResponse getApplicationHomeSubCluster( GetApplicationHomeSubClusterRequest request) throws YarnException; /** @@ -96,7 +101,7 @@ public interface FederationApplicationHomeSubClusterStore { * @return the mapping of all submitted application to it's home sub-cluster * @throws YarnException if the request is invalid/fails */ - GetApplicationsHomeSubClusterResponse getApplicationsHomeSubClusterMap( + GetApplicationsHomeSubClusterResponse getApplicationsHomeSubCluster(
[08/50] [abbrv] hadoop git commit: YARN-5307. Federation Application State Store internal APIs
YARN-5307. Federation Application State Store internal APIs Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/bbf119e7 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/bbf119e7 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/bbf119e7 Branch: refs/heads/YARN-2915 Commit: bbf119e73e3e9094f38d810a760711647f6622ed Parents: eea2372 Author: Subru KrishnanAuthored: Fri Aug 5 11:52:44 2016 -0700 Committer: Subru Krishnan Committed: Fri May 26 17:00:37 2017 -0700 -- ...ederationApplicationHomeSubClusterStore.java | 126 .../AddApplicationHomeSubClusterRequest.java| 72 +++ .../AddApplicationHomeSubClusterResponse.java | 44 + .../records/ApplicationHomeSubCluster.java | 124 .../DeleteApplicationHomeSubClusterRequest.java | 65 +++ ...DeleteApplicationHomeSubClusterResponse.java | 43 + .../GetApplicationHomeSubClusterRequest.java| 64 +++ .../GetApplicationHomeSubClusterResponse.java | 73 +++ .../GetApplicationsHomeSubClusterRequest.java | 40 .../GetApplicationsHomeSubClusterResponse.java | 75 .../UpdateApplicationHomeSubClusterRequest.java | 74 ...UpdateApplicationHomeSubClusterResponse.java | 43 + ...dApplicationHomeSubClusterRequestPBImpl.java | 132 + ...ApplicationHomeSubClusterResponsePBImpl.java | 78 .../pb/ApplicationHomeSubClusterPBImpl.java | 167 ...eApplicationHomeSubClusterRequestPBImpl.java | 130 + ...ApplicationHomeSubClusterResponsePBImpl.java | 78 ...tApplicationHomeSubClusterRequestPBImpl.java | 135 + ...ApplicationHomeSubClusterResponsePBImpl.java | 132 + ...ApplicationsHomeSubClusterRequestPBImpl.java | 78 ...pplicationsHomeSubClusterResponsePBImpl.java | 190 +++ .../pb/GetSubClustersInfoResponsePBImpl.java| 6 +- ...eApplicationHomeSubClusterRequestPBImpl.java | 132 + ...ApplicationHomeSubClusterResponsePBImpl.java | 78 .../proto/yarn_server_federation_protos.proto | 45 - .../records/TestFederationProtocolRecords.java | 81 26 files changed, 2301 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/bbf119e7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java new file mode 100644 index 000..217ee2e --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/FederationApplicationHomeSubClusterStore.java @@ -0,0 +1,126 @@ +/** + * 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 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.yarn.server.federation.store; + +import org.apache.hadoop.classification.InterfaceAudience.Private; +import org.apache.hadoop.classification.InterfaceStability.Unstable; +import org.apache.hadoop.yarn.exceptions.YarnException; +import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.AddApplicationHomeSubClusterResponse; +import org.apache.hadoop.yarn.server.federation.store.records.DeleteApplicationHomeSubClusterRequest; +import org.apache.hadoop.yarn.server.federation.store.records.DeleteApplicationHomeSubClusterResponse; +import
[07/50] [abbrv] hadoop git commit: YARN-5307. Federation Application State Store internal APIs
http://git-wip-us.apache.org/repos/asf/hadoop/blob/bbf119e7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/records/impl/pb/GetApplicationsHomeSubClusterResponsePBImpl.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/records/impl/pb/GetApplicationsHomeSubClusterResponsePBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/records/impl/pb/GetApplicationsHomeSubClusterResponsePBImpl.java new file mode 100644 index 000..8b72a1e --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/store/records/impl/pb/GetApplicationsHomeSubClusterResponsePBImpl.java @@ -0,0 +1,190 @@ +/** + * 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 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package org.apache.hadoop.yarn.server.federation.store.records.impl.pb; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.apache.hadoop.classification.InterfaceAudience.Private; +import org.apache.hadoop.classification.InterfaceStability.Unstable; +import org.apache.hadoop.yarn.federation.proto.YarnServerFederationProtos.ApplicationHomeSubClusterProto; +import org.apache.hadoop.yarn.federation.proto.YarnServerFederationProtos.GetApplicationsHomeSubClusterResponseProto; +import org.apache.hadoop.yarn.federation.proto.YarnServerFederationProtos.GetApplicationsHomeSubClusterResponseProtoOrBuilder; +import org.apache.hadoop.yarn.server.federation.store.records.ApplicationHomeSubCluster; +import org.apache.hadoop.yarn.server.federation.store.records.GetApplicationsHomeSubClusterResponse; + +import com.google.protobuf.TextFormat; + +/** + * Protocol buffer based implementation of + * {@link GetApplicationsHomeSubClusterResponse}. + */ +@Private +@Unstable +public class GetApplicationsHomeSubClusterResponsePBImpl +extends GetApplicationsHomeSubClusterResponse { + + private GetApplicationsHomeSubClusterResponseProto proto = + GetApplicationsHomeSubClusterResponseProto.getDefaultInstance(); + private GetApplicationsHomeSubClusterResponseProto.Builder builder = null; + private boolean viaProto = false; + + private List appsHomeSubCluster; + + public GetApplicationsHomeSubClusterResponsePBImpl() { +builder = GetApplicationsHomeSubClusterResponseProto.newBuilder(); + } + + public GetApplicationsHomeSubClusterResponsePBImpl( + GetApplicationsHomeSubClusterResponseProto proto) { +this.proto = proto; +viaProto = true; + } + + public GetApplicationsHomeSubClusterResponseProto getProto() { +mergeLocalToProto(); +proto = viaProto ? proto : builder.build(); +viaProto = true; +return proto; + } + + private void mergeLocalToProto() { +if (viaProto) { + maybeInitBuilder(); +} +mergeLocalToBuilder(); +proto = builder.build(); +viaProto = true; + } + + private void maybeInitBuilder() { +if (viaProto || builder == null) { + builder = GetApplicationsHomeSubClusterResponseProto.newBuilder(proto); +} +viaProto = false; + } + + private void mergeLocalToBuilder() { +if (this.appsHomeSubCluster != null) { + addSubClustersInfoToProto(); +} + } + + @Override + public int hashCode() { +return getProto().hashCode(); + } + + @Override + public boolean equals(Object other) { +if (other == null) { + return false; +} +if (other.getClass().isAssignableFrom(this.getClass())) { + return this.getProto().equals(this.getClass().cast(other).getProto()); +} +return false; + } + + @Override + public String toString() { +return TextFormat.shortDebugString(getProto()); + } + + @Override + public List getAppsHomeSubClusters() { +initSubClustersInfoList(); +return appsHomeSubCluster; + } + + @Override + public void setAppsHomeSubClusters( + List appsHomeSubClusters) { +maybeInitBuilder(); +if
[04/50] [abbrv] hadoop git commit: HDFS-11891. DU#refresh should print the path of the directory when an exception is caught. Contributed by Chen Liang.
HDFS-11891. DU#refresh should print the path of the directory when an exception is caught. Contributed by Chen Liang. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/bd6a2172 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/bd6a2172 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/bd6a2172 Branch: refs/heads/YARN-2915 Commit: bd6a2172e0442e5f02bad9bc5f0568045f57bd32 Parents: 2cd612b Author: Arpit AgarwalAuthored: Fri May 26 16:02:40 2017 -0700 Committer: Arpit Agarwal Committed: Fri May 26 16:02:40 2017 -0700 -- .../hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/bd6a2172/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java index b64a19d..6e374c9 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java @@ -52,7 +52,8 @@ public class DU extends CachingGetSpaceUsed { try { duShell.startRefresh(); } catch (IOException ioe) { - LOG.warn("Could not get disk usage information", ioe); + LOG.warn("Could not get disk usage information for path {}", + getDirPath(), ioe); } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[01/50] [abbrv] hadoop git commit: Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri. [Forced Update!]
Repository: hadoop Updated Branches: refs/heads/YARN-2915 e24765e3e -> b304977d3 (forced update) Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/303c8dc9 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/303c8dc9 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/303c8dc9 Branch: refs/heads/YARN-2915 Commit: 303c8dc9b6c853c0939ea9ba14388897cc258071 Parents: d81372d Author: Inigo GoiriAuthored: Fri May 26 13:15:44 2017 -0700 Committer: Konstantin V Shvachko Committed: Fri May 26 13:16:01 2017 -0700 -- .../apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/303c8dc9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 11b62d9..997fd92 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -3870,9 +3870,13 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, while (it.hasNext()) { Block b = it.next(); BlockInfo blockInfo = blockManager.getStoredBlock(b); - BlockCollection bc = getBlockCollection(blockInfo); - if (bc.getStoragePolicyID() == lpPolicy.getId()) { -filesToDelete.add(bc); + if (blockInfo == null) { +LOG.info("Cannot find block info for block " + b); + } else { +BlockCollection bc = getBlockCollection(blockInfo); +if (bc.getStoragePolicyID() == lpPolicy.getId()) { + filesToDelete.add(bc); +} } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[2/2] hadoop git commit: YARN-5531. UnmanagedAM pool manager for federating application across clusters. (Botong Huang via Subru).
YARN-5531. UnmanagedAM pool manager for federating application across clusters. (Botong Huang via Subru). Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e24765e3 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e24765e3 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e24765e3 Branch: refs/heads/YARN-2915 Commit: e24765e3e63d7f23bb5fa117d61195c00d879135 Parents: e47aba7 Author: Subru KrishnanAuthored: Fri May 26 16:23:38 2017 -0700 Committer: Subru Krishnan Committed: Fri May 26 16:23:38 2017 -0700 -- .../apache/hadoop/yarn/util/AsyncCallback.java | 35 ++ .../failover/FederationProxyProviderUtil.java | 114 ++-- .../yarn/server/uam/UnmanagedAMPoolManager.java | 311 ++ .../server/uam/UnmanagedApplicationManager.java | 607 +++ .../hadoop/yarn/server/uam/package-info.java| 18 + .../yarn/server/utils/AMRMClientUtils.java | 189 ++ .../server/utils/YarnServerSecurityUtils.java | 41 +- .../yarn/server/MockResourceManagerFacade.java | 83 ++- .../uam/TestUnmanagedApplicationManager.java| 335 ++ .../amrmproxy/DefaultRequestInterceptor.java| 30 +- .../ApplicationMasterService.java | 5 +- .../TestApplicationMasterLauncher.java | 6 +- 12 files changed, 1658 insertions(+), 116 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/e24765e3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/AsyncCallback.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/AsyncCallback.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/AsyncCallback.java new file mode 100644 index 000..b4f75c9 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/AsyncCallback.java @@ -0,0 +1,35 @@ +/** + * 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 + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.yarn.util; + +/** + * Generic interface that can be used for calling back when a corresponding + * asynchronous operation completes. + * + * @param parameter type for the callback + */ +public interface AsyncCallback { + /** + * This method is called back when the corresponding asynchronous operation + * completes. + * + * @param response response of the callback + */ + void callback(T response); +} http://git-wip-us.apache.org/repos/asf/hadoop/blob/e24765e3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java index 18f1338..3931f2b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/failover/FederationProxyProviderUtil.java @@ -19,22 +19,20 @@ package org.apache.hadoop.yarn.server.federation.failover; import java.io.IOException; -import java.security.PrivilegedExceptionAction; import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.classification.InterfaceAudience.Public; import org.apache.hadoop.classification.InterfaceStability.Unstable; import org.apache.hadoop.conf.Configuration;
[1/2] hadoop git commit: YARN-5531. UnmanagedAM pool manager for federating application across clusters. (Botong Huang via Subru).
Repository: hadoop Updated Branches: refs/heads/YARN-2915 e47aba72d -> e24765e3e http://git-wip-us.apache.org/repos/asf/hadoop/blob/e24765e3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java index 55b8fbb..d78d01c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java @@ -102,6 +102,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.security .AMRMTokenSecretManager; import org.apache.hadoop.yarn.server.resourcemanager.security.authorize.RMPolicyProvider; import org.apache.hadoop.yarn.server.security.MasterKeyData; +import org.apache.hadoop.yarn.server.utils.AMRMClientUtils; import org.apache.hadoop.yarn.server.utils.BuilderUtils; import org.apache.hadoop.yarn.server.utils.YarnServerSecurityUtils; import org.apache.hadoop.yarn.util.resource.Resources; @@ -223,9 +224,7 @@ public class ApplicationMasterService extends AbstractService implements synchronized (lock) { AllocateResponse lastResponse = lock.getAllocateResponse(); if (hasApplicationMasterRegistered(applicationAttemptId)) { -String message = -"Application Master is already registered : " -+ appID; +String message = AMRMClientUtils.APP_ALREADY_REGISTERED_MESSAGE + appID; LOG.warn(message); RMAuditLogger.logFailure( this.rmContext.getRMApps() http://git-wip-us.apache.org/repos/asf/hadoop/blob/e24765e3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java index 9e84010..8e14176 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationMasterLauncher.java @@ -73,6 +73,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.amlauncher.ApplicationMaste import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp; import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt; import org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptState; +import org.apache.hadoop.yarn.server.utils.AMRMClientUtils; import org.apache.hadoop.yarn.server.utils.BuilderUtils; import org.apache.log4j.Level; import org.apache.log4j.LogManager; @@ -338,9 +339,8 @@ public class TestApplicationMasterLauncher { am.registerAppAttempt(false); Assert.fail(); } catch (Exception e) { - Assert.assertEquals("Application Master is already registered : " - + attempt.getAppAttemptId().getApplicationId(), -e.getMessage()); + Assert.assertEquals(AMRMClientUtils.APP_ALREADY_REGISTERED_MESSAGE + + attempt.getAppAttemptId().getApplicationId(), e.getMessage()); } // Simulate an AM that was disconnected and app attempt was removed - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[2/3] hadoop git commit: HDFS-11891. DU#refresh should print the path of the directory when an exception is caught. Contributed by Chen Liang.
HDFS-11891. DU#refresh should print the path of the directory when an exception is caught. Contributed by Chen Liang. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f2003994 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f2003994 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f2003994 Branch: refs/heads/branch-2 Commit: f20039949628e561a3c705afe10c127c84c0eccb Parents: e336d92 Author: Arpit AgarwalAuthored: Fri May 26 16:02:40 2017 -0700 Committer: Arpit Agarwal Committed: Fri May 26 16:02:53 2017 -0700 -- .../hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/f2003994/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java index b64a19d..6e374c9 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java @@ -52,7 +52,8 @@ public class DU extends CachingGetSpaceUsed { try { duShell.startRefresh(); } catch (IOException ioe) { - LOG.warn("Could not get disk usage information", ioe); + LOG.warn("Could not get disk usage information for path {}", + getDirPath(), ioe); } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[1/3] hadoop git commit: HDFS-11891. DU#refresh should print the path of the directory when an exception is caught. Contributed by Chen Liang.
Repository: hadoop Updated Branches: refs/heads/branch-2 e336d92b9 -> f20039949 refs/heads/branch-2.8 a20789f29 -> 76c15121d refs/heads/trunk 2cd612ba8 -> bd6a2172e HDFS-11891. DU#refresh should print the path of the directory when an exception is caught. Contributed by Chen Liang. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/bd6a2172 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/bd6a2172 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/bd6a2172 Branch: refs/heads/trunk Commit: bd6a2172e0442e5f02bad9bc5f0568045f57bd32 Parents: 2cd612b Author: Arpit AgarwalAuthored: Fri May 26 16:02:40 2017 -0700 Committer: Arpit Agarwal Committed: Fri May 26 16:02:40 2017 -0700 -- .../hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/bd6a2172/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java -- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java index b64a19d..6e374c9 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/DU.java @@ -52,7 +52,8 @@ public class DU extends CachingGetSpaceUsed { try { duShell.startRefresh(); } catch (IOException ioe) { - LOG.warn("Could not get disk usage information", ioe); + LOG.warn("Could not get disk usage information for path {}", + getDirPath(), ioe); } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
svn commit: r1796347 - in /hadoop/common/site/main/publish/docs/r3.0.0-alpha3: ./ api/ api/org/ api/org/apache/ api/org/apache/hadoop/ api/org/apache/hadoop/class-use/ api/org/apache/hadoop/classifica
Author: wang Date: Fri May 26 21:28:28 2017 New Revision: 1796347 URL: http://svn.apache.org/viewvc?rev=1796347=rev Log: Stage the 3.0.0-alpha3 docs [This commit notification would consist of 3815 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.] - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
hadoop git commit: Update 3.0.0-alpha3 changes, release notes, jdiff.
Repository: hadoop Updated Branches: refs/heads/trunk 16ad896d5 -> 2cd612ba8 Update 3.0.0-alpha3 changes, release notes, jdiff. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2cd612ba Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2cd612ba Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2cd612ba Branch: refs/heads/trunk Commit: 2cd612ba8e3b84ddf41acf7b1beb0a4757a2465b Parents: 16ad896 Author: Andrew WangAuthored: Fri May 26 14:14:38 2017 -0700 Committer: Andrew Wang Committed: Fri May 26 14:14:38 2017 -0700 -- .../3.0.0-alpha3/CHANGES.3.0.0-alpha3.md| 71 .../3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md | 22 ++ .../jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml | 326 +++ 3 files changed, 419 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cd612ba/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/CHANGES.3.0.0-alpha3.md -- diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/CHANGES.3.0.0-alpha3.md b/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/CHANGES.3.0.0-alpha3.md new file mode 100644 index 000..61d63e0 --- /dev/null +++ b/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/CHANGES.3.0.0-alpha3.md @@ -0,0 +1,71 @@ + + +# "Apache Hadoop" Changelog + +## Release 3.0.0-alpha3 - 2017-05-25 + +### INCOMPATIBLE CHANGES: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### IMPORTANT ISSUES: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### NEW FEATURES: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### IMPROVEMENTS: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### BUG FIXES: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | +| [YARN-6336](https://issues.apache.org/jira/browse/YARN-6336) | Jenkins report YARN new UI build failure | Blocker | . | Junping Du | Sunil G | +| [YARN-6278](https://issues.apache.org/jira/browse/YARN-6278) | Enforce to use correct node and npm version in new YARN-UI build | Critical | . | Sunil G | Sunil G | + + +### TESTS: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### SUB-TASKS: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + + +### OTHER: + +| JIRA | Summary | Priority | Component | Reporter | Contributor | +|: |: | :--- |: |: |: | + http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cd612ba/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md -- diff --git a/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md b/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md new file mode 100644 index 000..bda1807 --- /dev/null +++ b/hadoop-common-project/hadoop-common/src/site/markdown/release/3.0.0-alpha3/RELEASENOTES.3.0.0-alpha3.md @@ -0,0 +1,22 @@ + + +# "Apache Hadoop" 3.0.0-alpha3 Release Notes + +These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements. + http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cd612ba/hadoop-hdfs-project/hadoop-hdfs/dev-support/jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/dev-support/jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml b/hadoop-hdfs-project/hadoop-hdfs/dev-support/jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml new file mode 100644 index 000..cadf733 --- /dev/null +++ b/hadoop-hdfs-project/hadoop-hdfs/dev-support/jdiff/Apache_Hadoop_HDFS_3.0.0-alpha3.xml @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hadoop git commit: Update maven version for 3.0.0-alpha4 development
Repository: hadoop Updated Branches: refs/heads/trunk 303c8dc9b -> 16ad896d5 Update maven version for 3.0.0-alpha4 development Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/16ad896d Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/16ad896d Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/16ad896d Branch: refs/heads/trunk Commit: 16ad896d5cb8ab21e9cb2763df7c15cfcc0a6ede Parents: 303c8dc Author: Andrew WangAuthored: Fri May 26 14:09:44 2017 -0700 Committer: Andrew Wang Committed: Fri May 26 14:09:44 2017 -0700 -- hadoop-assemblies/pom.xml| 4 ++-- hadoop-build-tools/pom.xml | 2 +- hadoop-client-modules/hadoop-client-api/pom.xml | 4 ++-- hadoop-client-modules/hadoop-client-check-invariants/pom.xml | 4 ++-- .../hadoop-client-check-test-invariants/pom.xml | 4 ++-- hadoop-client-modules/hadoop-client-integration-tests/pom.xml| 4 ++-- hadoop-client-modules/hadoop-client-minicluster/pom.xml | 4 ++-- hadoop-client-modules/hadoop-client-runtime/pom.xml | 4 ++-- hadoop-client-modules/hadoop-client/pom.xml | 4 ++-- hadoop-client-modules/pom.xml| 2 +- hadoop-cloud-storage-project/hadoop-cloud-storage/pom.xml| 4 ++-- hadoop-cloud-storage-project/pom.xml | 4 ++-- hadoop-common-project/hadoop-annotations/pom.xml | 4 ++-- hadoop-common-project/hadoop-auth-examples/pom.xml | 4 ++-- hadoop-common-project/hadoop-auth/pom.xml| 4 ++-- hadoop-common-project/hadoop-common/pom.xml | 4 ++-- hadoop-common-project/hadoop-kms/pom.xml | 4 ++-- hadoop-common-project/hadoop-minikdc/pom.xml | 4 ++-- hadoop-common-project/hadoop-nfs/pom.xml | 4 ++-- hadoop-common-project/pom.xml| 4 ++-- hadoop-dist/pom.xml | 4 ++-- hadoop-hdfs-project/hadoop-hdfs-client/pom.xml | 4 ++-- hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml | 4 ++-- hadoop-hdfs-project/hadoop-hdfs-native-client/pom.xml| 4 ++-- hadoop-hdfs-project/hadoop-hdfs-nfs/pom.xml | 4 ++-- hadoop-hdfs-project/hadoop-hdfs/pom.xml | 4 ++-- hadoop-hdfs-project/pom.xml | 4 ++-- .../hadoop-mapreduce-client/hadoop-mapreduce-client-app/pom.xml | 4 ++-- .../hadoop-mapreduce-client-common/pom.xml | 4 ++-- .../hadoop-mapreduce-client/hadoop-mapreduce-client-core/pom.xml | 4 ++-- .../hadoop-mapreduce-client-hs-plugins/pom.xml | 4 ++-- .../hadoop-mapreduce-client/hadoop-mapreduce-client-hs/pom.xml | 4 ++-- .../hadoop-mapreduce-client-jobclient/pom.xml| 4 ++-- .../hadoop-mapreduce-client-nativetask/pom.xml | 4 ++-- .../hadoop-mapreduce-client-shuffle/pom.xml | 4 ++-- hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml | 4 ++-- hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml | 4 ++-- hadoop-mapreduce-project/pom.xml | 4 ++-- hadoop-maven-plugins/pom.xml | 2 +- hadoop-minicluster/pom.xml | 4 ++-- hadoop-project-dist/pom.xml | 4 ++-- hadoop-project/pom.xml | 4 ++-- hadoop-tools/hadoop-aliyun/pom.xml | 2 +- hadoop-tools/hadoop-archive-logs/pom.xml | 4 ++-- hadoop-tools/hadoop-archives/pom.xml | 4 ++-- hadoop-tools/hadoop-aws/pom.xml | 4 ++-- hadoop-tools/hadoop-azure-datalake/pom.xml | 2 +- hadoop-tools/hadoop-azure/pom.xml| 2 +- hadoop-tools/hadoop-datajoin/pom.xml | 4 ++-- hadoop-tools/hadoop-distcp/pom.xml | 4 ++-- hadoop-tools/hadoop-extras/pom.xml | 4 ++-- hadoop-tools/hadoop-gridmix/pom.xml | 4 ++-- hadoop-tools/hadoop-kafka/pom.xml| 4 ++-- hadoop-tools/hadoop-openstack/pom.xml| 4 ++-- hadoop-tools/hadoop-pipes/pom.xml| 4 ++-- hadoop-tools/hadoop-rumen/pom.xml| 4 ++-- hadoop-tools/hadoop-sls/pom.xml | 4 ++--
[hadoop] Git Push Summary
Repository: hadoop Updated Tags: refs/tags/rel/release-3.0.0-alpha3 [created] 69e002352 - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[4/6] hadoop git commit: YARN-6278. Enforce to use correct node and npm version in new YARN-UI build. (Sunil G via wangda)
YARN-6278. Enforce to use correct node and npm version in new YARN-UI build. (Sunil G via wangda) (cherry picked from commit c61bc2d843ace614078be24b2dcbf3fb43d6f358) Conflicts: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7a51949c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7a51949c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7a51949c Branch: refs/heads/branch-3.0.0-alpha3 Commit: 7a51949ccc8dc3c67f06dbd83e8d4b45df2c3673 Parents: 413e0a9 Author: Wangda TanAuthored: Fri Mar 3 23:43:25 2017 -0800 Committer: Andrew Wang Committed: Tue May 23 14:10:30 2017 -0700 -- .../hadoop-yarn/hadoop-yarn-ui/pom.xml | 50 +++- .../hadoop-yarn-ui/src/main/webapp/bower.json | 2 + .../hadoop-yarn-ui/src/main/webapp/package.json | 12 +++-- 3 files changed, 38 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7a51949c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml index ea43ced..1eb9b65 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml @@ -32,8 +32,8 @@ pom ${basedir}/target/src/main/webapp node -v0.12.2 -2.10.0 +v4.4.5 +2.15.5 false @@ -120,41 +120,47 @@ - - -exec-maven-plugin -org.codehaus.mojo +com.github.eirslett +frontend-maven-plugin + + ${webappTgtDir} + generate-sources -npm install +install node and npm - exec + install-node-and-npm - ${webappTgtDir} - npm - -install - + ${nodeVersion} + ${npmVersion} generate-sources +npm install + + npm + + + +generate-sources bower install - exec + bower - - ${webappTgtDir} - bower - ---allow-root -install - - + + + + + + +exec-maven-plugin +org.codehaus.mojo + ember build generate-sources http://git-wip-us.apache.org/repos/asf/hadoop/blob/7a51949c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower.json -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower.json b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower.json index fe5f289..e1ab943 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower.json +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower.json @@ -12,6 +12,8 @@ "loader.js": "3.3.0", "qunit": "1.19.0", "jquery-ui": "1.11.4", +"moment": "2.12.0", +"moment-timezone": "0.5.0", "more-js": "0.8.2", "bootstrap": "3.3.6", "d3": "~3.5.6", http://git-wip-us.apache.org/repos/asf/hadoop/blob/7a51949c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json index 6a4eb16..573e505 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json @@ -18,12 +18,13 @@ "author": "", "license": "Apache", "devDependencies": { +"bower": "1.7.7", "broccoli-asset-rev": "2.4.2", "broccoli-funnel": "1.0.1", -"em-table": "0.1.6", -"ember-bootstrap": "0.5.1", +"broccoli-merge-trees": "1.1.1", "ember-array-contains-helper": "1.0.2", -"ember-cli": "1.13.13", +
[5/6] hadoop git commit: YARN-6336. Jenkins report YARN new UI build failure. Contributed by Sunil G.
YARN-6336. Jenkins report YARN new UI build failure. Contributed by Sunil G. (cherry picked from commit bb6a214cd34b9c87b0ba68205c680024ad294587) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/edad8a3c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/edad8a3c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/edad8a3c Branch: refs/heads/branch-3.0.0-alpha3 Commit: edad8a3c76bb26ab0e335540cd510092c0bb9f20 Parents: 7a51949 Author: Rohith Sharma K SAuthored: Wed Mar 15 15:53:57 2017 +0530 Committer: Andrew Wang Committed: Tue May 23 15:35:00 2017 -0700 -- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml | 13 ++--- .../hadoop-yarn-ui/src/main/webapp/package.json| 6 -- 2 files changed, 10 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/edad8a3c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml index 1eb9b65..e221e7e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/pom.xml @@ -31,7 +31,7 @@ pom ${basedir}/target/src/main/webapp -node + ${basedir}/target/src/main/webapp/node/node v4.4.5 2.15.5 false @@ -169,12 +169,11 @@ ${webappTgtDir} - ember + ${node.executable} -build --prod ---output-path -${basedir}/target/dist +node/npm/bin/npm-cli +run +build:mvn @@ -187,7 +186,7 @@ maven-war-plugin ${basedir}/src/main/webapp/WEB-INF/web.xml - ${basedir}/target/dist + ${webappTgtDir}/dist http://git-wip-us.apache.org/repos/asf/hadoop/blob/edad8a3c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json index 573e505..105dad3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/package.json @@ -8,8 +8,10 @@ "test": "tests" }, "scripts": { -"build": "ember build", -"start": "ember server" +"build": "TMPDIR=tmp node ./node_modules/ember-cli/bin/ember build", +"start": "TMPDIR=tmp node ./node_modules/ember-cli/bin/ember server", + +"build:mvn": "TMPDIR=tmp node/node ./node_modules/ember-cli/bin/ember build -prod" }, "repository": "", "engines": { - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[2/6] hadoop git commit: Validate docker image name before launching container.
Validate docker image name before launching container. (cherry picked from commit e120ee865aa78eaff4a80122c5f3207a97b4924d) Conflicts: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0319e74c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0319e74c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0319e74c Branch: refs/heads/branch-3.0.0-alpha3 Commit: 0319e74c2512d47d47ab9df834f5b6455be7d968 Parents: a0786d7 Author: Varun VasudevAuthored: Thu May 18 10:29:34 2017 +0530 Committer: Andrew Wang Committed: Mon May 22 15:07:47 2017 -0700 -- .../runtime/DockerLinuxContainerRuntime.java| 24 +--- .../runtime/TestDockerContainerRuntime.java | 29 2 files changed, 49 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/0319e74c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java index b70a4e1..6bdaf30 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java @@ -57,6 +57,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import java.util.regex.Pattern; import static org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.LinuxContainerRuntimeConstants.*; @@ -128,6 +129,12 @@ public class DockerLinuxContainerRuntime implements LinuxContainerRuntime { private static final Log LOG = LogFactory.getLog( DockerLinuxContainerRuntime.class); + // This validates that the image is a proper docker image + public static final String DOCKER_IMAGE_PATTERN = + "^(([a-zA-Z0-9.-]+)(:\\d+)?/)?([a-z0-9_./-]+)(:[\\w.-]+)?$"; + private static final Pattern dockerImagePattern = + Pattern.compile(DOCKER_IMAGE_PATTERN); + @InterfaceAudience.Private public static final String ENV_DOCKER_CONTAINER_IMAGE = "YARN_CONTAINER_RUNTIME_DOCKER_IMAGE"; @@ -413,10 +420,7 @@ public class DockerLinuxContainerRuntime implements LinuxContainerRuntime { validateContainerNetworkType(network); -if (imageName == null) { - throw new ContainerExecutionException(ENV_DOCKER_CONTAINER_IMAGE - + " not set!"); -} +validateImageName(imageName); String containerIdStr = container.getContainerId().toString(); String runAsUser = ctx.getExecutionAttribute(RUN_AS_USER); @@ -635,4 +639,16 @@ public class DockerLinuxContainerRuntime implements LinuxContainerRuntime { } return null; } + + public static void validateImageName(String imageName) + throws ContainerExecutionException { +if (imageName == null || imageName.isEmpty()) { + throw new ContainerExecutionException( + ENV_DOCKER_CONTAINER_IMAGE + " not set!"); +} +if (!dockerImagePattern.matcher(imageName).matches()) { + throw new ContainerExecutionException("Image name '" + imageName + + "' doesn't match docker image name pattern"); +} + } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/0319e74c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/TestDockerContainerRuntime.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/TestDockerContainerRuntime.java
[6/6] hadoop git commit: Fix docker argument sanitization.
Fix docker argument sanitization. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7c0489be Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7c0489be Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7c0489be Branch: refs/heads/branch-3.0.0-alpha3 Commit: 7c0489beb9fdf12e223a9e57779d3fef765a44d2 Parents: edad8a3 Author: Andrew WangAuthored: Wed May 24 20:25:34 2017 -0700 Committer: Andrew Wang Committed: Wed May 24 20:25:34 2017 -0700 -- .../impl/container-executor.c | 6 +- .../test/test-container-executor.c | 20 +--- 2 files changed, 6 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7c0489be/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c index f8bd5a6..ffc273f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c @@ -1290,13 +1290,9 @@ char* sanitize_docker_command(const char *line) { } if(optind < split_counter) { -quote_and_append_arg(, _size, "", linesplit[optind++]); -strcat(output, "'"); while(optind < split_counter) { - strcat(output, linesplit[optind++]); - strcat(output, " "); + quote_and_append_arg(, _size, "", linesplit[optind++]); } -strcat(output, "'"); } return output; http://git-wip-us.apache.org/repos/asf/hadoop/blob/7c0489be/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/test/test-container-executor.c -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/test/test-container-executor.c b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/test/test-container-executor.c index ff76d4a..83d11ec 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/test/test-container-executor.c +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/test/test-container-executor.c @@ -1087,11 +1087,6 @@ void test_trim_function() { void test_sanitize_docker_command() { -/* - char *input[] = { -"run " - }; -*/ char *input[] = { "run --name=cname --user=nobody -d --workdir=/yarn/local/cdir --privileged --rm --device=/sys/fs/cgroup/device:/sys/fs/cgroup/device --detach=true --cgroup-parent=/sys/fs/cgroup/cpu/yarn/cid --net=host --cap-drop=ALL --cap-add=SYS_CHROOT --cap-add=MKNOD --cap-add=SETFCAP --cap-add=SETPCAP --cap-add=FSETID --cap-add=CHOWN --cap-add=AUDIT_WRITE --cap-add=SETGID --cap-add=NET_RAW --cap-add=FOWNER --cap-add=SETUID --cap-add=DAC_OVERRIDE --cap-add=KILL --cap-add=NET_BIND_SERVICE -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /yarn/local/cdir:/yarn/local/cdir -v /yarn/local/usercache/test/:/yarn/local/usercache/test/ ubuntu bash /yarn/local/usercache/test/appcache/aid/cid/launch_container.sh", "run --name=$CID --user=nobody -d --workdir=/yarn/local/cdir --privileged --rm --device=/sys/fs/cgroup/device:/sys/fs/cgroup/device --detach=true --cgroup-parent=/sys/fs/cgroup/cpu/yarn/cid --net=host --cap-drop=ALL --cap-add=SYS_CHROOT --cap-add=MKNOD --cap-add=SETFCAP --cap-add=SETPCAP --cap-add=FSETID --cap-add=CHOWN --cap-add=AUDIT_WRITE --cap-add=SETGID --cap-add=NET_RAW --cap-add=FOWNER --cap-add=SETUID --cap-add=DAC_OVERRIDE --cap-add=KILL --cap-add=NET_BIND_SERVICE -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /yarn/local/cdir:/yarn/local/cdir -v /yarn/local/usercache/test/:/yarn/local/usercache/test/ ubuntu bash /yarn/local/usercache/test/appcache/aid/cid/launch_container.sh", @@ -1099,17 +1094,12 @@ void test_sanitize_docker_command() { "run --name=cname --user=nobody -d --workdir=/yarn/local/cdir --privileged --rm --device=/sys/fs/cgroup/device:/sys/fs/cgroup/device --detach=true
[1/6] hadoop git commit: Update maven version to 3.0.0-alpha3
Repository: hadoop Updated Branches: refs/heads/branch-3.0.0-alpha3 [created] 7c0489beb Update maven version to 3.0.0-alpha3 Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a0786d7b Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a0786d7b Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a0786d7b Branch: refs/heads/branch-3.0.0-alpha3 Commit: a0786d7b5afa1537fe9307b6d2118573de6a98e5 Parents: 1337ef4 Author: Andrew WangAuthored: Mon May 22 15:05:58 2017 -0700 Committer: Andrew Wang Committed: Mon May 22 15:05:58 2017 -0700 -- hadoop-assemblies/pom.xml| 4 ++-- hadoop-build-tools/pom.xml | 2 +- hadoop-client-modules/hadoop-client-api/pom.xml | 4 ++-- hadoop-client-modules/hadoop-client-check-invariants/pom.xml | 4 ++-- .../hadoop-client-check-test-invariants/pom.xml | 4 ++-- hadoop-client-modules/hadoop-client-integration-tests/pom.xml| 4 ++-- hadoop-client-modules/hadoop-client-minicluster/pom.xml | 4 ++-- hadoop-client-modules/hadoop-client-runtime/pom.xml | 4 ++-- hadoop-client-modules/hadoop-client/pom.xml | 4 ++-- hadoop-client-modules/pom.xml| 2 +- hadoop-cloud-storage-project/hadoop-cloud-storage/pom.xml| 4 ++-- hadoop-cloud-storage-project/pom.xml | 4 ++-- hadoop-common-project/hadoop-annotations/pom.xml | 4 ++-- hadoop-common-project/hadoop-auth-examples/pom.xml | 4 ++-- hadoop-common-project/hadoop-auth/pom.xml| 4 ++-- hadoop-common-project/hadoop-common/pom.xml | 4 ++-- hadoop-common-project/hadoop-kms/pom.xml | 4 ++-- hadoop-common-project/hadoop-minikdc/pom.xml | 4 ++-- hadoop-common-project/hadoop-nfs/pom.xml | 4 ++-- hadoop-common-project/pom.xml| 4 ++-- hadoop-dist/pom.xml | 4 ++-- hadoop-hdfs-project/hadoop-hdfs-client/pom.xml | 4 ++-- hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml | 4 ++-- hadoop-hdfs-project/hadoop-hdfs-native-client/pom.xml| 4 ++-- hadoop-hdfs-project/hadoop-hdfs-nfs/pom.xml | 4 ++-- hadoop-hdfs-project/hadoop-hdfs/pom.xml | 4 ++-- hadoop-hdfs-project/pom.xml | 4 ++-- .../hadoop-mapreduce-client/hadoop-mapreduce-client-app/pom.xml | 4 ++-- .../hadoop-mapreduce-client-common/pom.xml | 4 ++-- .../hadoop-mapreduce-client/hadoop-mapreduce-client-core/pom.xml | 4 ++-- .../hadoop-mapreduce-client-hs-plugins/pom.xml | 4 ++-- .../hadoop-mapreduce-client/hadoop-mapreduce-client-hs/pom.xml | 4 ++-- .../hadoop-mapreduce-client-jobclient/pom.xml| 4 ++-- .../hadoop-mapreduce-client-nativetask/pom.xml | 4 ++-- .../hadoop-mapreduce-client-shuffle/pom.xml | 4 ++-- hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml | 4 ++-- hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml | 4 ++-- hadoop-mapreduce-project/pom.xml | 4 ++-- hadoop-maven-plugins/pom.xml | 2 +- hadoop-minicluster/pom.xml | 4 ++-- hadoop-project-dist/pom.xml | 4 ++-- hadoop-project/pom.xml | 4 ++-- hadoop-tools/hadoop-aliyun/pom.xml | 2 +- hadoop-tools/hadoop-archive-logs/pom.xml | 4 ++-- hadoop-tools/hadoop-archives/pom.xml | 4 ++-- hadoop-tools/hadoop-aws/pom.xml | 4 ++-- hadoop-tools/hadoop-azure-datalake/pom.xml | 2 +- hadoop-tools/hadoop-azure/pom.xml| 2 +- hadoop-tools/hadoop-datajoin/pom.xml | 4 ++-- hadoop-tools/hadoop-distcp/pom.xml | 4 ++-- hadoop-tools/hadoop-extras/pom.xml | 4 ++-- hadoop-tools/hadoop-gridmix/pom.xml | 4 ++-- hadoop-tools/hadoop-kafka/pom.xml| 4 ++-- hadoop-tools/hadoop-openstack/pom.xml| 4 ++-- hadoop-tools/hadoop-pipes/pom.xml| 4 ++-- hadoop-tools/hadoop-rumen/pom.xml| 4 ++-- hadoop-tools/hadoop-sls/pom.xml | 4 ++--
[3/6] hadoop git commit: Sanitize arguments before launching Docker containers.
Sanitize arguments before launching Docker containers. (cherry picked from commit b46cd315f7c81cfd89be40f1edacaf9a11282e15) Conflicts: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.h Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/413e0a98 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/413e0a98 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/413e0a98 Branch: refs/heads/branch-3.0.0-alpha3 Commit: 413e0a98d3e6478937365f0f47171e712f4cd8b8 Parents: 0319e74 Author: Varun VasudevAuthored: Thu May 18 10:37:16 2017 +0530 Committer: Andrew Wang Committed: Mon May 22 15:14:54 2017 -0700 -- .../impl/container-executor.c | 173 ++- .../impl/container-executor.h | 8 +- .../test/test-container-executor.c | 44 + 3 files changed, 223 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/413e0a98/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c index 9be8cf4..f8bd5a6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c @@ -39,6 +39,7 @@ #include #include #include +#include #include "config.h" @@ -1139,7 +1140,170 @@ int initialize_app(const char *user, const char *app_id, return -1; } +static char* escape_single_quote(const char *str) { + int p = 0; + int i = 0; + char replacement[] = "'\"'\"'"; + size_t replacement_length = strlen(replacement); + size_t ret_size = strlen(str) * replacement_length + 1; + char *ret = (char *) calloc(ret_size, sizeof(char)); + if(ret == NULL) { +exit(OUT_OF_MEMORY); + } + while(str[p] != '\0') { +if(str[p] == '\'') { + strncat(ret, replacement, ret_size - strlen(ret)); + i += replacement_length; +} +else { + ret[i] = str[p]; + ret[i + 1] = '\0'; + i++; +} +p++; + } + return ret; +} + +static void quote_and_append_arg(char **str, size_t *size, const char* param, const char *arg) { + char *tmp = escape_single_quote(arg); + strcat(*str, param); + strcat(*str, "'"); + if(strlen(*str) + strlen(tmp) > *size) { +*str = (char *) realloc(*str, strlen(*str) + strlen(tmp) + 1024); +if(*str == NULL) { + exit(OUT_OF_MEMORY); +} +*size = strlen(*str) + strlen(tmp) + 1024; + } + strcat(*str, tmp); + strcat(*str, "' "); + free(tmp); +} + +char** tokenize_docker_command(const char *input, int *split_counter) { + char *line = (char *)calloc(strlen(input) + 1, sizeof(char)); + char **linesplit = (char **) malloc(sizeof(char *)); + char *p = NULL; + int c = 0; + *split_counter = 0; + strncpy(line, input, strlen(input)); + + p = strtok(line, " "); + while(p != NULL) { +linesplit[*split_counter] = p; +(*split_counter)++; +linesplit = realloc(linesplit, (sizeof(char *) * (*split_counter + 1))); +if(linesplit == NULL) { + fprintf(ERRORFILE, "Cannot allocate memory to parse docker command %s", + strerror(errno)); + fflush(ERRORFILE); + exit(OUT_OF_MEMORY); +} +p = strtok(NULL, " "); + } + linesplit[*split_counter] = NULL; + return linesplit; +} + +char* sanitize_docker_command(const char *line) { + static struct option long_options[] = { +{"name", required_argument, 0, 'n' }, +{"user", required_argument, 0, 'u' }, +{"rm", no_argument, 0, 'r' }, +{"workdir", required_argument, 0, 'w' }, +{"net", required_argument, 0, 'e' }, +{"cgroup-parent", required_argument, 0, 'g' }, +{"privileged", no_argument, 0, 'p' }, +{"cap-add", required_argument, 0, 'a' }, +{"cap-drop", required_argument, 0, 'o' }, +{"device", required_argument, 0, 'i' }, +{"detach", required_argument, 0, 't' }, +{0, 0, 0, 0} + }; + + int c = 0; + int option_index = 0; + char *output = NULL; + size_t output_size = 0; + char **linesplit; + int split_counter = 0; + int len = strlen(line); + + linesplit = tokenize_docker_command(line,
hadoop git commit: YARN-6617. Services API delete call first attempt usually fails. Contributed by Jian He
Repository: hadoop Updated Branches: refs/heads/yarn-native-services 9c49ca75f -> 2f32d3fdd YARN-6617. Services API delete call first attempt usually fails. Contributed by Jian He Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2f32d3fd Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2f32d3fd Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2f32d3fd Branch: refs/heads/yarn-native-services Commit: 2f32d3fddb51a91b16c2108c63f5f00fb376ea8d Parents: 9c49ca7 Author: Billie RinaldiAuthored: Fri May 26 12:15:28 2017 -0700 Committer: Billie Rinaldi Committed: Fri May 26 13:05:22 2017 -0700 -- .../org/apache/slider/client/SliderClient.java | 36 1 file changed, 30 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/2f32d3fd/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java index 29ca471..a3ba8c0 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-slider/hadoop-yarn-slider-core/src/main/java/org/apache/slider/client/SliderClient.java @@ -230,6 +230,9 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized") private RegistryOperations registryOperations; + private static EnumSet terminatedStates = EnumSet + .of(YarnApplicationState.FINISHED, YarnApplicationState.FAILED, + YarnApplicationState.KILLED); /** * Constructor */ @@ -699,7 +702,7 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe //TODO set retry window submissionContext.setResource(Resource.newInstance( conf.getLong(KEY_AM_RESOURCE_MEM, DEFAULT_KEY_AM_RESOURCE_MEM), 1)); -submissionContext.setQueue(conf.get(KEY_YARN_QUEUE, DEFAULT_YARN_QUEUE)); +submissionContext.setQueue(conf.get(KEY_YARN_QUEUE, app.getQueue())); submissionContext.setApplicationName(appName); submissionContext.setApplicationType(SliderKeys.APP_TYPE); Set appTags = @@ -1725,9 +1728,8 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe "Application " + appName + " doesn't exist in RM."); } -if (app.getYarnApplicationState().ordinal() >= YarnApplicationState.FINISHED -.ordinal()) { - log.info("Application {} is in a terminated state {}", appName, +if (terminatedStates.contains(app.getYarnApplicationState())) { + log.info("Application {} is already in a terminated state {}", appName, app.getYarnApplicationState()); return EXIT_SUCCESS; } @@ -1738,8 +1740,30 @@ public class SliderClient extends AbstractSliderLaunchedService implements RunSe Messages.StopClusterRequestProto.newBuilder() .setMessage(freezeArgs.message).build(); appMaster.stopCluster(r); - log.info("Application " + appName + " is gracefully stopped."); -} catch (IOException | YarnException e){ + log.info("Application " + appName + " is being gracefully stopped..."); + long startTime = System.currentTimeMillis(); + int pollCount = 0; + while (true) { +Thread.sleep(200); +ApplicationReport report = +yarnClient.getApplicationReport(app.getApplicationId()); +if (terminatedStates.contains(report.getYarnApplicationState())) { + log.info("Application " + appName + " is stopped."); + break; +} +// kill after 10 seconds. +if ((System.currentTimeMillis() - startTime) > 1) { + log.info("Stop operation timeout stopping, forcefully kill the app " + + appName); + yarnClient + .killApplication(app.getApplicationId(), freezeArgs.message); + break; +} +if (++pollCount % 10 == 0) { + log.info("Waiting for application " + appName + " to be stopped."); +} + } +} catch (IOException | YarnException | InterruptedException e) { log.info("Failed to stop " + appName + " gracefully,
svn commit: r1796341 - in /hadoop/common/site/main: author/src/documentation/content/xdocs/ publish/
Author: vrushali Date: Fri May 26 20:53:38 2017 New Revision: 1796341 URL: http://svn.apache.org/viewvc?rev=1796341=rev Log: Add vrushali to Hadoop committers list Modified: hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml hadoop/common/site/main/publish/bylaws.pdf hadoop/common/site/main/publish/committer_criteria.pdf hadoop/common/site/main/publish/index.pdf hadoop/common/site/main/publish/issue_tracking.pdf hadoop/common/site/main/publish/linkmap.pdf hadoop/common/site/main/publish/mailing_lists.pdf hadoop/common/site/main/publish/privacy_policy.pdf hadoop/common/site/main/publish/releases.pdf hadoop/common/site/main/publish/version_control.pdf hadoop/common/site/main/publish/versioning.pdf hadoop/common/site/main/publish/who.html hadoop/common/site/main/publish/who.pdf Modified: hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml URL: http://svn.apache.org/viewvc/hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml?rev=1796341=1796340=1796341=diff == --- hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml (original) +++ hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml Fri May 26 20:53:38 2017 @@ -1476,6 +1476,14 @@ + vrushali + http://people.apache.org/~vrushali;>Vrushali Channapattan + Twitter + + -8 + + + vvasudev Varun Vasudev Hortonworks Modified: hadoop/common/site/main/publish/bylaws.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/bylaws.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/committer_criteria.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/committer_criteria.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/index.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/index.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/issue_tracking.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/issue_tracking.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/linkmap.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/linkmap.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/mailing_lists.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/mailing_lists.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/privacy_policy.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/privacy_policy.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/releases.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/releases.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/version_control.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/version_control.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/versioning.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/versioning.pdf?rev=1796341=1796340=1796341=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/who.html URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/who.html?rev=1796341=1796340=1796341=diff == --- hadoop/common/site/main/publish/who.html (original) +++ hadoop/common/site/main/publish/who.html Fri May 26 20:53:38 2017 @@ -2272,6 +2272,17 @@ document.write("Last Published: " + docu +vrushali +
svn commit: r19811 - /dev/hadoop/hadoop-3.0.0-alpha3/ /release/hadoop/common/hadoop-3.0.0-alpha3/
Author: wang Date: Fri May 26 20:49:48 2017 New Revision: 19811 Log: Move 3.0.0-alpha3 bits from dev to release Added: release/hadoop/common/hadoop-3.0.0-alpha3/ - copied from r19810, dev/hadoop/hadoop-3.0.0-alpha3/ Removed: dev/hadoop/hadoop-3.0.0-alpha3/ - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
hadoop git commit: Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri.
Repository: hadoop Updated Branches: refs/heads/branch-2.8 b89d59e21 -> a20789f29 Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri. (cherry picked from commit 303c8dc9b6c853c0939ea9ba14388897cc258071) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a20789f2 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a20789f2 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a20789f2 Branch: refs/heads/branch-2.8 Commit: a20789f299d99d90614877523ff83838feac8467 Parents: b89d59e Author: Inigo GoiriAuthored: Fri May 26 13:15:44 2017 -0700 Committer: Konstantin V Shvachko Committed: Fri May 26 13:42:55 2017 -0700 -- .../apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a20789f2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index e41bb8f..efd20c3 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -3895,9 +3895,13 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, while (it.hasNext()) { Block b = it.next(); BlockInfo blockInfo = blockManager.getStoredBlock(b); - BlockCollection bc = getBlockCollection(blockInfo); - if (bc.getStoragePolicyID() == lpPolicy.getId()) { -filesToDelete.add(bc); + if (blockInfo == null) { +LOG.info("Cannot find block info for block " + b); + } else { +BlockCollection bc = getBlockCollection(blockInfo); +if (bc.getStoragePolicyID() == lpPolicy.getId()) { + filesToDelete.add(bc); +} } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[1/3] hadoop git commit: Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri.
Repository: hadoop Updated Branches: refs/heads/branch-2 3c0eb9c41 -> e336d92b9 refs/heads/branch-2.7 724a5f3db -> 948d0ac72 refs/heads/trunk d81372dfa -> 303c8dc9b Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/303c8dc9 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/303c8dc9 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/303c8dc9 Branch: refs/heads/trunk Commit: 303c8dc9b6c853c0939ea9ba14388897cc258071 Parents: d81372d Author: Inigo GoiriAuthored: Fri May 26 13:15:44 2017 -0700 Committer: Konstantin V Shvachko Committed: Fri May 26 13:16:01 2017 -0700 -- .../apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/303c8dc9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 11b62d9..997fd92 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -3870,9 +3870,13 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, while (it.hasNext()) { Block b = it.next(); BlockInfo blockInfo = blockManager.getStoredBlock(b); - BlockCollection bc = getBlockCollection(blockInfo); - if (bc.getStoragePolicyID() == lpPolicy.getId()) { -filesToDelete.add(bc); + if (blockInfo == null) { +LOG.info("Cannot find block info for block " + b); + } else { +BlockCollection bc = getBlockCollection(blockInfo); +if (bc.getStoragePolicyID() == lpPolicy.getId()) { + filesToDelete.add(bc); +} } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[3/3] hadoop git commit: Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri.
Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri. (cherry picked from commit 303c8dc9b6c853c0939ea9ba14388897cc258071) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e336d92b Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e336d92b Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e336d92b Branch: refs/heads/branch-2 Commit: e336d92b99bfdf2382c4ccd05911c251d5c1ca12 Parents: 3c0eb9c Author: Inigo GoiriAuthored: Fri May 26 13:15:44 2017 -0700 Committer: Konstantin V Shvachko Committed: Fri May 26 13:40:16 2017 -0700 -- .../apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/e336d92b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 63d2af9..5834164 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -3838,9 +3838,13 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, while (it.hasNext()) { Block b = it.next(); BlockInfo blockInfo = blockManager.getStoredBlock(b); - BlockCollection bc = getBlockCollection(blockInfo); - if (bc.getStoragePolicyID() == lpPolicy.getId()) { -filesToDelete.add(bc); + if (blockInfo == null) { +LOG.info("Cannot find block info for block " + b); + } else { +BlockCollection bc = getBlockCollection(blockInfo); +if (bc.getStoragePolicyID() == lpPolicy.getId()) { + filesToDelete.add(bc); +} } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[2/3] hadoop git commit: Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri.
Fix NPE in LazyPersistFileScrubber. Contributed by Inigo Goiri. (cherry picked from commit 303c8dc9b6c853c0939ea9ba14388897cc258071) Conflicts: hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/948d0ac7 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/948d0ac7 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/948d0ac7 Branch: refs/heads/branch-2.7 Commit: 948d0ac72d34cfae49d1780f718346b300802f0a Parents: 724a5f3 Author: Inigo GoiriAuthored: Fri May 26 13:15:44 2017 -0700 Committer: Konstantin V Shvachko Committed: Fri May 26 13:36:34 2017 -0700 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 2 ++ .../apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 10 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/948d0ac7/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 9ca3b9a..7e4994a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -326,6 +326,8 @@ Release 2.7.4 - UNRELEASED HDFS-11445. FSCK shows overall health stauts as corrupt even one replica is corrupt. (Brahma Reddy Battula) +Fix NPE in LazyPersistFileScrubber. (Inigo Goiri via shv) + Release 2.7.3 - 2016-08-25 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/948d0ac7/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 7f701e3..ce8878f 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -4682,9 +4682,13 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, while (it.hasNext()) { Block b = it.next(); BlockInfoContiguous blockInfo = blockManager.getStoredBlock(b); - if (blockInfo.getBlockCollection().getStoragePolicyID() - == lpPolicy.getId()) { -filesToDelete.add(blockInfo.getBlockCollection()); + if (blockInfo == null) { +LOG.info("Cannot find block info for block " + b); + } else { +if (blockInfo.getBlockCollection().getStoragePolicyID() +== lpPolicy.getId()) { + filesToDelete.add(blockInfo.getBlockCollection()); +} } } - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
[Hadoop Wiki] Update of "HowToRelease" by AndrewWang
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification. The "HowToRelease" page has been changed by AndrewWang: https://wiki.apache.org/hadoop/HowToRelease?action=diff=93=94 Comment: Fix skipShade profile for deploy step 1. Push branch-X.Y.Z and the newly created tag to the remote repo. 1. Deploy the maven artifacts, on your personal computer. Please be sure you have completed the prerequisite step of preparing the {{{settings.xml}}} file before the deployment. You might want to do this in private and clear your history file as your gpg-passphrase is in clear text. {{{ - mvn deploy -Psign -DskipTests -DskipShading + mvn deploy -Psign -DskipTests -DskipShade }}} 1. Copy release files to a public place and ensure they are readable. Note that {{{home.apache.org}}} only supports SFTP, so this may be easier with a graphical SFTP client like Nautilus, Konqueror, etc. {{{ - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
svn commit: r19810 - in /dev/hadoop/hadoop-3.0.0-alpha3: ./ hadoop-3.0.0-alpha3-src.tar.gz hadoop-3.0.0-alpha3-src.tar.gz.asc hadoop-3.0.0-alpha3-src.tar.gz.mds hadoop-3.0.0-alpha3.tar.gz hadoop-3.0.0
Author: wang Date: Fri May 26 20:30:19 2017 New Revision: 19810 Log: stage 3.0.0-alpha3 bits Added: dev/hadoop/hadoop-3.0.0-alpha3/ dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz (with props) dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz.asc dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz.mds dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3.tar.gz (with props) dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3.tar.gz.asc dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3.tar.gz.mds Added: dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz == Binary file - no diff available. Propchange: dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz -- svn:mime-type = application/octet-stream Added: dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz.asc == --- dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz.asc (added) +++ dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz.asc Fri May 26 20:30:19 2017 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v1 + +iQIcBAABCgAGBQJZJm0zAAoJEAjVGgp1ARBc14oP/i6bOPW+ez8W3pMR6KPbwhSF +GbG1Uqvo6lrukXQgFUWFN1rAC/WtX1hPWuDOO/Mp4/+0y4jgY3XOOaCtZyPkM+ZQ +upl/ZzYC+IXqhfeWRSK0Ch6twUKJRW25CGNxSBDBBau//6IAR1CiCLqcqkEeUgf1 +C7eHMSeM8adKclPbkKyB7Itcn3B9ZOxTKIdqzG09BuFl3KCLQu4ugmNTXDwtTcf0 +bH/GS34I3IXY+3sdW/d5SSCFXv7R0WL1ls7th6qpQpgGXkvw9ElHnUyb/US4Tm6h +9KrFM+w61Npt0fOQL795EU+UY+21DdxiAMmTfkBlnyFILQpkCsSZY8phgEgIiM4P +01Lu4FEWj/FTmHxY3XZgZrmA/CUY8kDOGhcvlfqR5DUj7yN432bFN3agDqPCkuwF +3H9GF0wx1+Jmb2tEJm3tLULwS9RB+gqHX0yFJcbydgt4kN0ZBnuRsnlxjrp4YDuf +kSIFvE5TljFgaBnAmK0TrVYXJmVMm7olvmnR8Tu+cx+Lw2tMsYLgUaERCVPKTOrH +O4cPStt0/HLYP015EilB6LALQ7fLPAb1YvqwyrSI4uhfVEHVY0NlLprX6NqLzwjh +NPyB6tcMSiiUxvGl/o4GNQ4Ixm+FauBli9RhWyY8YmhJiiA47/knRESAUm9U27xt +PTwwRuntyLCcB1R7YJRr +=ClzL +-END PGP SIGNATURE- Added: dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz.mds == --- dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz.mds (added) +++ dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3-src.tar.gz.mds Fri May 26 20:30:19 2017 @@ -0,0 +1,17 @@ +hadoop-3.0.0-alpha3-src.tar.gz:MD5 = EE 7F B4 E0 CD 0E 03 C2 E8 82 99 5A 86 + 59 0C 2A +hadoop-3.0.0-alpha3-src.tar.gz: SHA1 = 81BF 8842 6CA9 9F22 05D2 45A3 74F8 + E183 4396 4084 +hadoop-3.0.0-alpha3-src.tar.gz: RMD160 = 1C0C AADE BBAE 95F1 AEC7 2DAD B3BD + 8B8E DAE3 4A73 +hadoop-3.0.0-alpha3-src.tar.gz: SHA224 = EFA58459 6EFF7906 6F956265 C518CAA7 + 26F42B78 BC278248 351858D3 +hadoop-3.0.0-alpha3-src.tar.gz: SHA256 = 50E5A7D3 9A265F82 487596CE F4D153D7 + C657D2FF 4CD71A9B F093963C 59C50B9A +hadoop-3.0.0-alpha3-src.tar.gz: SHA384 = E6275547 E0B1DE93 DEE6ED87 810764C2 + 14AB6183 D713203A 0E1DB517 33A27102 + 683F5C7A 59F4848F F1FC6BF3 22C1A359 +hadoop-3.0.0-alpha3-src.tar.gz: SHA512 = 0260BC47 1497DB56 CC6AF212 67B9E252 + B8B2E913 8BF49D0A 63B9F036 C2E0B2C5 + 2975E6B2 F513B711 15ED0B14 83D69279 + 994C700F 696B090C 00BA6EC9 96B92000 Added: dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3.tar.gz == Binary file - no diff available. Propchange: dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3.tar.gz -- svn:mime-type = application/octet-stream Added: dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3.tar.gz.asc == --- dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3.tar.gz.asc (added) +++ dev/hadoop/hadoop-3.0.0-alpha3/hadoop-3.0.0-alpha3.tar.gz.asc Fri May 26 20:30:19 2017 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v1 + +iQIcBAABCgAGBQJZJm01AAoJEAjVGgp1ARBc510QAK/UwPfv4NEe61n/p/0b9fNw +6kGGfLzXJel6DBevLpecYn7rJVNABwOpheAm+7zxDPXWntFjo6NzeeVcBWPjScC8 +NwSWn5rYxgVCQwJZjwmH9xs+wA/qFBxbzY/GewRgiPb6fFRrI5c9lCNTIJgdVZaS +uQcpzJ0FdEkuvr/L8nfIgoBoId1qRrrG2YwY7AplozCmVYQnHlSd32QLMHk2QG+f +FlyT56Ht/moxTg+SpF3xUuG/ssdaAehfvHpiEy/+5VxPRmrxBYW9XLVSaLQst2Hm +hUhgyx7YAvms32qQL8VTe5GyEx960KeOquwntlf24hDBgHXUaSlxKL+f2894oe4S ++txE0NXe3yIwBOpwo1C+Gdtgh+ZnlIzO8AVheHWxNinkn96WRhyvShprjj931+wY
svn commit: r19809 - /release/hadoop/common/current
Author: wang Date: Fri May 26 20:26:28 2017 New Revision: 19809 Log: Publishing the bits for release 3.0.0-alpha3 Modified: release/hadoop/common/current Modified: release/hadoop/common/current == --- release/hadoop/common/current (original) +++ release/hadoop/common/current Fri May 26 20:26:28 2017 @@ -1 +1 @@ -link hadoop-3.0.0-alpha2 \ No newline at end of file +link hadoop-3.0.0-alpha3 \ No newline at end of file - To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org
hadoop git commit: YARN-6646. Modifier 'static' is redundant for inner enums (Contributed by ZhangBing Lin via Daniel Templeton)
Repository: hadoop Updated Branches: refs/heads/trunk aea42930b -> d81372dfa YARN-6646. Modifier 'static' is redundant for inner enums (Contributed by ZhangBing Lin via Daniel Templeton) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d81372df Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d81372df Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d81372df Branch: refs/heads/trunk Commit: d81372dfad32488e7c46ffcfccdf0aa26bee04a5 Parents: aea4293 Author: Daniel TempletonAuthored: Fri May 26 12:05:48 2017 -0700 Committer: Daniel Templeton Committed: Fri May 26 12:05:48 2017 -0700 -- .../hadoop/yarn/api/records/timelineservice/TimelineMetric.java | 2 +- .../yarn/applications/distributedshell/ApplicationMaster.java| 4 ++-- .../hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.java | 4 ++-- .../ApplicationHistoryManagerOnTimelineStore.java| 2 +- .../hadoop/yarn/server/nodemanager/CMgrCompletedAppsEvent.java | 2 +- .../yarn/server/nodemanager/CMgrCompletedContainersEvent.java| 2 +- .../org/apache/hadoop/yarn/server/nodemanager/NMAuditLogger.java | 2 +- .../apache/hadoop/yarn/server/resourcemanager/RMAuditLogger.java | 2 +- .../resourcemanager/metrics/AbstractSystemMetricsPublisher.java | 2 +- .../server/timelineservice/reader/filter/TimelineFilterList.java | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/d81372df/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/timelineservice/TimelineMetric.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/timelineservice/TimelineMetric.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/timelineservice/TimelineMetric.java index 5c908d6..2fa6d30 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/timelineservice/TimelineMetric.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/timelineservice/TimelineMetric.java @@ -43,7 +43,7 @@ public class TimelineMetric { /** * Type of metric. */ - public static enum Type { + public enum Type { SINGLE_VALUE, TIME_SERIES } http://git-wip-us.apache.org/repos/asf/hadoop/blob/d81372df/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java index 4daebb5..ab4607a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java @@ -179,13 +179,13 @@ public class ApplicationMaster { @VisibleForTesting @Private - public static enum DSEvent { + public enum DSEvent { DS_APP_ATTEMPT_START, DS_APP_ATTEMPT_END, DS_CONTAINER_START, DS_CONTAINER_END } @VisibleForTesting @Private - public static enum DSEntity { + public enum DSEntity { DS_APP_ATTEMPT, DS_CONTAINER } http://git-wip-us.apache.org/repos/asf/hadoop/blob/d81372df/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.java index 515a8e8..20be71e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.java +++
svn commit: r1796289 - in /hadoop/common/site/main: author/src/documentation/content/xdocs/ publish/
Author: nroberts Date: Fri May 26 15:36:38 2017 New Revision: 1796289 URL: http://svn.apache.org/viewvc?rev=1796289=rev Log: Add nroberts to Hadoop committers and publish site. Modified: hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml hadoop/common/site/main/publish/bylaws.pdf hadoop/common/site/main/publish/committer_criteria.pdf hadoop/common/site/main/publish/index.pdf hadoop/common/site/main/publish/issue_tracking.pdf hadoop/common/site/main/publish/linkmap.pdf hadoop/common/site/main/publish/mailing_lists.pdf hadoop/common/site/main/publish/privacy_policy.pdf hadoop/common/site/main/publish/releases.pdf hadoop/common/site/main/publish/version_control.pdf hadoop/common/site/main/publish/versioning.pdf hadoop/common/site/main/publish/who.html hadoop/common/site/main/publish/who.pdf Modified: hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml URL: http://svn.apache.org/viewvc/hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml?rev=1796289=1796288=1796289=diff == --- hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml (original) +++ hadoop/common/site/main/author/src/documentation/content/xdocs/who.xml Fri May 26 15:36:38 2017 @@ -1203,6 +1203,14 @@ -8 + + nroberts + Nathan Roberts + Yahoo + + -6 + + omalley http://people.apache.org/~omalley;>Owen O'Malley Modified: hadoop/common/site/main/publish/bylaws.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/bylaws.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/committer_criteria.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/committer_criteria.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/index.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/index.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/issue_tracking.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/issue_tracking.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/linkmap.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/linkmap.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/mailing_lists.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/mailing_lists.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/privacy_policy.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/privacy_policy.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/releases.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/releases.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/version_control.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/version_control.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/versioning.pdf URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/versioning.pdf?rev=1796289=1796288=1796289=diff == Binary files - no diff available. Modified: hadoop/common/site/main/publish/who.html URL: http://svn.apache.org/viewvc/hadoop/common/site/main/publish/who.html?rev=1796289=1796288=1796289=diff == --- hadoop/common/site/main/publish/who.html (original) +++ hadoop/common/site/main/publish/who.html Fri May 26 15:36:38 2017 @@ -1158,6 +1158,17 @@ document.write("Last Published: " + docu + + + +aengineer + Anu Engineer +
hadoop git commit: YARN-6641. Non-public resource localization on a bad disk causes subsequent containers failure. Contributed by Kuhu Shukla
Repository: hadoop Updated Branches: refs/heads/branch-2.8.1 e2a817a9a -> 1d597defb YARN-6641. Non-public resource localization on a bad disk causes subsequent containers failure. Contributed by Kuhu Shukla (cherry picked from commit b89d59e21eb7a7b465f666ccfadc9927fd12d967) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1d597def Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1d597def Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1d597def Branch: refs/heads/branch-2.8.1 Commit: 1d597defb1a8bfcaabe8b7089a9fe1222318b0c5 Parents: e2a817a Author: Jason LoweAuthored: Fri May 26 09:45:49 2017 -0500 Committer: Jason Lowe Committed: Fri May 26 09:46:44 2017 -0500 -- .../localizer/LocalResourcesTrackerImpl.java| 13 ++-- .../localizer/ResourceLocalizationService.java | 10 +-- .../TestLocalResourcesTrackerImpl.java | 8 +-- .../TestResourceLocalizationService.java| 71 4 files changed, 86 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/1d597def/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java index 940c599..af34e92 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java @@ -94,14 +94,6 @@ class LocalResourcesTrackerImpl implements LocalResourcesTracker { public LocalResourcesTrackerImpl(String user, ApplicationId appId, Dispatcher dispatcher, boolean useLocalCacheDirectoryManager, - Configuration conf, NMStateStoreService stateStore) { -this(user, appId, dispatcher, -new ConcurrentHashMap (), -useLocalCacheDirectoryManager, conf, stateStore, null); - } - - public LocalResourcesTrackerImpl(String user, ApplicationId appId, - Dispatcher dispatcher, boolean useLocalCacheDirectoryManager, Configuration conf, NMStateStoreService stateStore, LocalDirsHandlerService dirHandler) { this(user, appId, dispatcher, @@ -528,4 +520,9 @@ class LocalResourcesTrackerImpl implements LocalResourcesTracker { } return mgr; } + + @VisibleForTesting + LocalDirsHandlerService getDirsHandler() { +return dirsHandler; + } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/1d597def/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java index 61b6cdd..353831d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java @@ -293,7 +293,7 @@ public class ResourceLocalizationService extends CompositeService trackerState = userResources.getPrivateTrackerState(); if (!trackerState.isEmpty()) { LocalResourcesTracker tracker = new LocalResourcesTrackerImpl(user, -null, dispatcher, true, super.getConfig(), stateStore); +null, dispatcher, true, super.getConfig(), stateStore,
hadoop git commit: YARN-6641. Non-public resource localization on a bad disk causes subsequent containers failure. Contributed by Kuhu Shukla
Repository: hadoop Updated Branches: refs/heads/branch-2.8 bbef16b84 -> b89d59e21 YARN-6641. Non-public resource localization on a bad disk causes subsequent containers failure. Contributed by Kuhu Shukla Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b89d59e2 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b89d59e2 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b89d59e2 Branch: refs/heads/branch-2.8 Commit: b89d59e21eb7a7b465f666ccfadc9927fd12d967 Parents: bbef16b Author: Jason LoweAuthored: Fri May 26 09:45:49 2017 -0500 Committer: Jason Lowe Committed: Fri May 26 09:45:49 2017 -0500 -- .../localizer/LocalResourcesTrackerImpl.java| 13 ++-- .../localizer/ResourceLocalizationService.java | 10 +-- .../TestLocalResourcesTrackerImpl.java | 8 +-- .../TestResourceLocalizationService.java| 71 4 files changed, 86 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b89d59e2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java index 940c599..af34e92 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java @@ -94,14 +94,6 @@ class LocalResourcesTrackerImpl implements LocalResourcesTracker { public LocalResourcesTrackerImpl(String user, ApplicationId appId, Dispatcher dispatcher, boolean useLocalCacheDirectoryManager, - Configuration conf, NMStateStoreService stateStore) { -this(user, appId, dispatcher, -new ConcurrentHashMap (), -useLocalCacheDirectoryManager, conf, stateStore, null); - } - - public LocalResourcesTrackerImpl(String user, ApplicationId appId, - Dispatcher dispatcher, boolean useLocalCacheDirectoryManager, Configuration conf, NMStateStoreService stateStore, LocalDirsHandlerService dirHandler) { this(user, appId, dispatcher, @@ -528,4 +520,9 @@ class LocalResourcesTrackerImpl implements LocalResourcesTracker { } return mgr; } + + @VisibleForTesting + LocalDirsHandlerService getDirsHandler() { +return dirsHandler; + } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/b89d59e2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java index 61b6cdd..353831d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java @@ -293,7 +293,7 @@ public class ResourceLocalizationService extends CompositeService trackerState = userResources.getPrivateTrackerState(); if (!trackerState.isEmpty()) { LocalResourcesTracker tracker = new LocalResourcesTrackerImpl(user, -null, dispatcher, true, super.getConfig(), stateStore); +null, dispatcher, true, super.getConfig(), stateStore, dirsHandler); LocalResourcesTracker oldTracker =
hadoop git commit: YARN-6641. Non-public resource localization on a bad disk causes subsequent containers failure. Contributed by Kuhu Shukla
Repository: hadoop Updated Branches: refs/heads/branch-2 54971c419 -> 3c0eb9c41 YARN-6641. Non-public resource localization on a bad disk causes subsequent containers failure. Contributed by Kuhu Shukla (cherry picked from commit aea42930bbb9566ea6988f684dbd72a72a2bdadf) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3c0eb9c4 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3c0eb9c4 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3c0eb9c4 Branch: refs/heads/branch-2 Commit: 3c0eb9c415fc9c6b05d950c906f618fa1b41286f Parents: 54971c4 Author: Jason LoweAuthored: Fri May 26 09:37:56 2017 -0500 Committer: Jason Lowe Committed: Fri May 26 09:39:22 2017 -0500 -- .../localizer/LocalResourcesTrackerImpl.java| 13 ++-- .../localizer/ResourceLocalizationService.java | 10 +-- .../TestLocalResourcesTrackerImpl.java | 8 +-- .../TestResourceLocalizationService.java| 71 4 files changed, 86 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/3c0eb9c4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java index 940c599..af34e92 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java @@ -94,14 +94,6 @@ class LocalResourcesTrackerImpl implements LocalResourcesTracker { public LocalResourcesTrackerImpl(String user, ApplicationId appId, Dispatcher dispatcher, boolean useLocalCacheDirectoryManager, - Configuration conf, NMStateStoreService stateStore) { -this(user, appId, dispatcher, -new ConcurrentHashMap (), -useLocalCacheDirectoryManager, conf, stateStore, null); - } - - public LocalResourcesTrackerImpl(String user, ApplicationId appId, - Dispatcher dispatcher, boolean useLocalCacheDirectoryManager, Configuration conf, NMStateStoreService stateStore, LocalDirsHandlerService dirHandler) { this(user, appId, dispatcher, @@ -528,4 +520,9 @@ class LocalResourcesTrackerImpl implements LocalResourcesTracker { } return mgr; } + + @VisibleForTesting + LocalDirsHandlerService getDirsHandler() { +return dirsHandler; + } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/3c0eb9c4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java index 28fb53c..663bad7 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java @@ -306,7 +306,7 @@ public class ResourceLocalizationService extends CompositeService trackerState = userResources.getPrivateTrackerState(); if (!trackerState.isEmpty()) { LocalResourcesTracker tracker = new LocalResourcesTrackerImpl(user, -null, dispatcher, true, super.getConfig(), stateStore); +null, dispatcher, true, super.getConfig(), stateStore, dirsHandler);
hadoop git commit: YARN-6641. Non-public resource localization on a bad disk causes subsequent containers failure. Contributed by Kuhu Shukla
Repository: hadoop Updated Branches: refs/heads/trunk 47474fffa -> aea42930b YARN-6641. Non-public resource localization on a bad disk causes subsequent containers failure. Contributed by Kuhu Shukla Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/aea42930 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/aea42930 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/aea42930 Branch: refs/heads/trunk Commit: aea42930bbb9566ea6988f684dbd72a72a2bdadf Parents: 47474ff Author: Jason LoweAuthored: Fri May 26 09:37:56 2017 -0500 Committer: Jason Lowe Committed: Fri May 26 09:37:56 2017 -0500 -- .../localizer/LocalResourcesTrackerImpl.java| 13 ++-- .../localizer/ResourceLocalizationService.java | 10 +-- .../TestLocalResourcesTrackerImpl.java | 8 +-- .../TestResourceLocalizationService.java| 71 4 files changed, 86 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/aea42930/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java index 940c599..af34e92 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java @@ -94,14 +94,6 @@ class LocalResourcesTrackerImpl implements LocalResourcesTracker { public LocalResourcesTrackerImpl(String user, ApplicationId appId, Dispatcher dispatcher, boolean useLocalCacheDirectoryManager, - Configuration conf, NMStateStoreService stateStore) { -this(user, appId, dispatcher, -new ConcurrentHashMap (), -useLocalCacheDirectoryManager, conf, stateStore, null); - } - - public LocalResourcesTrackerImpl(String user, ApplicationId appId, - Dispatcher dispatcher, boolean useLocalCacheDirectoryManager, Configuration conf, NMStateStoreService stateStore, LocalDirsHandlerService dirHandler) { this(user, appId, dispatcher, @@ -528,4 +520,9 @@ class LocalResourcesTrackerImpl implements LocalResourcesTracker { } return mgr; } + + @VisibleForTesting + LocalDirsHandlerService getDirsHandler() { +return dirsHandler; + } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/aea42930/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java -- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java index 28fb53c..663bad7 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java @@ -306,7 +306,7 @@ public class ResourceLocalizationService extends CompositeService trackerState = userResources.getPrivateTrackerState(); if (!trackerState.isEmpty()) { LocalResourcesTracker tracker = new LocalResourcesTrackerImpl(user, -null, dispatcher, true, super.getConfig(), stateStore); +null, dispatcher, true, super.getConfig(), stateStore, dirsHandler); LocalResourcesTracker oldTracker = privateRsrc.putIfAbsent(user,