@Override public Long getNextSPSPath() throws IOException { checkNNStartup(); String operationName = "getNextSPSPath"; namesystem.checkSuperuserPrivilege(operationName); if (nn.isStandbyState()) { throw new StandbyException("Not supported by Standby Namenode."); } // Check that SPS is enabled externally StoragePolicySatisfyManager spsMgr = namesystem.getBlockManager().getSPSManager(); StoragePolicySatisfierMode spsMode = (spsMgr != null ? spsMgr.getMode() : StoragePolicySatisfierMode.NONE); if (spsMode != StoragePolicySatisfierMode.EXTERNAL) { if (LOG.isDebugEnabled()) { LOG.debug("SPS service mode is {}, so external SPS service is " + "not allowed to fetch the path Ids", spsMode); } throw new IOException("SPS service mode is " + spsMode + ", so " + "external SPS service is not allowed to fetch the path Ids"); } return namesystem.getBlockManager().getSPSManager().getNextPathId(); } }
!nn.isStandbyState() && noStaleStorages) { return new FinalizeCommand(poolId);
@Test public void testStateTransition() throws Exception { NameNode nnode1 = cluster.getNameNode(0); assertTrue(nnode1.isStandbyState()); assertEquals(0, runTool("-transitionToActive", "nn1")); assertFalse(nnode1.isStandbyState()); assertEquals(0, runTool("-transitionToStandby", "nn1")); assertTrue(nnode1.isStandbyState()); NameNode nnode2 = cluster.getNameNode(1); assertTrue(nnode2.isStandbyState()); assertEquals(0, runTool("-transitionToActive", "nn2")); assertFalse(nnode2.isStandbyState()); assertEquals(0, runTool("-transitionToStandby", "nn2")); assertTrue(nnode2.isStandbyState()); }
private MiniDFSCluster initMiniHACluster(int nn1port, int nn2port) throws IOException { Configuration confForMiniDFS = new Configuration(); Builder builder = new MiniDFSCluster.Builder(confForMiniDFS) .nnTopology(new MiniDFSNNTopology() .addNameservice(new MiniDFSNNTopology.NSConf("ns1") .addNN(new MiniDFSNNTopology.NNConf("nn1").setIpcPort(nn1port)) .addNN(new MiniDFSNNTopology.NNConf("nn2").setIpcPort(nn2port)) )) .numDataNodes(1); MiniDFSCluster cluster = builder.build(); cluster.waitActive(); NameNode nnode1 = cluster.getNameNode(0); assertTrue(nnode1.isStandbyState()); NameNode nnode2 = cluster.getNameNode(1); assertTrue(nnode2.isStandbyState()); cluster.transitionToActive(0); assertFalse(nnode1.isStandbyState()); return cluster; }
assertTrue(nnode2.isStandbyState()); cluster.shutdownNameNode(0); cluster.transitionToActive(1); assertFalse(nnode2.isStandbyState());
!nn.isStandbyState() && noStaleStorages) { return new FinalizeCommand(poolId);
assertTrue(nnode2.isStandbyState()); cluster.shutdownNameNode(0); cluster.transitionToActive(1); assertFalse(nnode2.isStandbyState());
!nn.isStandbyState() && noStaleStorages) { return new FinalizeCommand(poolId);
assertTrue(nnode2.isStandbyState()); cluster.shutdownNameNode(0); cluster.transitionToActive(1); assertFalse(nnode2.isStandbyState());
assertTrue(nn1.isStandbyState()); assertFalse( "StandBy NameNode should not go to SafeMode on resource unavailability",
assertTrue(nn1.isStandbyState()); assertTrue(nn2.isStandbyState()); assertTrue(nn2.isStandbyState()); assertFalse(cluster.isNameNodeUp(0));
assertTrue("nn2 should be in standby state", nn2.isStandbyState());
assertTrue(nn.isStandbyState()); assertTrue(nn.isInSafeMode()); assertFalse(isDTRunning(nn)); assertTrue(nn.isStandbyState()); assertFalse(nn.isInSafeMode()); assertFalse(isDTRunning(nn)); assertTrue(nn.isStandbyState()); assertTrue(nn.isInSafeMode()); assertFalse(isDTRunning(nn)); assertFalse(nn.isStandbyState()); assertTrue(nn.isInSafeMode()); assertFalse(isDTRunning(nn)); assertTrue(nn.isStandbyState()); assertTrue(nn.isInSafeMode()); assertFalse(isDTRunning(nn)); nn.getRpcServer().transitionToActive(REQ_INFO); NameNodeAdapter.leaveSafeMode(nn); assertFalse(nn.isStandbyState()); assertFalse(nn.isInSafeMode()); assertTrue(isDTRunning(nn)); assertFalse(nn.isStandbyState()); assertTrue(nn.isInSafeMode()); assertFalse(isDTRunning(nn));
cluster.getNameNode(0).isActiveState()); assertTrue("Namenode 1 should be in standby state", cluster.getNameNode(1).isStandbyState()); cluster.getNameNode(1).isActiveState()); assertTrue("Namenode 0 should be in standby state", cluster.getNameNode(0).isStandbyState()); client.close();