Author: hitesh
Date: Thu Sep 19 20:40:52 2013
New Revision: 1524831
URL: http://svn.apache.org/r1524831
Log:
Merge 1524829 from trunk to branch-2 for YARN-353. Add Zookeeper-based store
implementation for RMStateStore. Contributed by Bikas Saha, Jian He and Karthik
Kambatla.
Added:
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/ZKRMStateStore.java
- copied unchanged from r1524829,
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/ZKRMStateStore.java
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStoreZKClientConnections.java
- copied unchanged from r1524829,
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStoreZKClientConnections.java
Modified:
hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/pom.xml
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestRMStateStore.java
Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt?rev=1524831&r1=1524830&r2=1524831&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt Thu Sep 19
20:40:52 2013
@@ -12,10 +12,15 @@ Release 2.3.0 - UNRELEASED
IMPROVEMENTS
YARN-905. Add state filters to nodes CLI (Wei Yan via Sandy Ryza)
+
YARN-1098. Separate out RM services into Always On and Active (Karthik
Kambatla via bikas)
+
YARN-1027. Implement RMHAProtocolService (Karthik Kambatla via bikas)
+ YARN-353. Add Zookeeper-based store implementation for RMStateStore.
+ (Bikas Saha, Jian He and Karthik Kambatla via hitesh)
+
OPTIMIZATIONS
BUG FIXES
Modified:
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java?rev=1524831&r1=1524830&r2=1524831&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
(original)
+++
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
Thu Sep 19 20:40:52 2013
@@ -276,12 +276,40 @@ public class YarnConfiguration extends C
public static final String RM_HA_ENABLED = RM_HA_PREFIX + "enabled";
public static final boolean DEFAULT_RM_HA_ENABLED = false;
+
+ ////////////////////////////////
+ // RM state store configs
+ ////////////////////////////////
/** The class to use as the persistent store.*/
public static final String RM_STORE = RM_PREFIX + "store.class";
/** URI for FileSystemRMStateStore */
public static final String FS_RM_STATE_STORE_URI =
RM_PREFIX + "fs.state-store.uri";
+ /**
+ * Comma separated host:port pairs, each corresponding to a ZK server for
+ * ZKRMStateStore
+ */
+ public static final String ZK_STATE_STORE_PREFIX =
+ RM_PREFIX + "zk.state-store.";
+ public static final String ZK_RM_STATE_STORE_NUM_RETRIES =
+ ZK_STATE_STORE_PREFIX + "num-retries";
+ public static final int DEFAULT_ZK_RM_STATE_STORE_NUM_RETRIES = 3;
+ public static final String ZK_RM_STATE_STORE_ADDRESS =
+ ZK_STATE_STORE_PREFIX + "address";
+ /** Timeout in millisec for ZK server connection for ZKRMStateStore */
+ public static final String ZK_RM_STATE_STORE_TIMEOUT_MS =
+ ZK_STATE_STORE_PREFIX + "timeout.ms";
+ public static final int DEFAULT_ZK_RM_STATE_STORE_TIMEOUT_MS = 60000;
+ /** Parent znode path under which ZKRMStateStore will create znodes */
+ public static final String ZK_RM_STATE_STORE_PARENT_PATH =
+ ZK_STATE_STORE_PREFIX + "parent-path";
+ public static final String DEFAULT_ZK_RM_STATE_STORE_PARENT_PATH =
"/rmstore";
+ /** ACL for znodes in ZKRMStateStore */
+ public static final String ZK_RM_STATE_STORE_ACL =
+ ZK_STATE_STORE_PREFIX + "acl";
+ public static final String DEFAULT_ZK_RM_STATE_STORE_ACL =
+ "world:anyone:rwcda";
/** The maximum number of completed applications RM keeps. */
public static final String RM_MAX_COMPLETED_APPLICATIONS =
Modified:
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml?rev=1524831&r1=1524830&r2=1524831&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
(original)
+++
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
Thu Sep 19 20:40:52 2013
@@ -259,6 +259,51 @@
</property>
<property>
+ <description>Host:Port of the ZooKeeper server where RM state will
+ be stored. This must be supplied when using
+ org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
+ as the value for yarn.resourcemanager.store.class</description>
+ <name>yarn.resourcemanager.zk.state-store.address</name>
+ <!--value>127.0.0.1:2181</value-->
+ </property>
+
+ <property>
+ <description>Number of times ZKRMStateStore tries to connect to
+ ZooKeeper. This may be supplied when using
+ org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
+ as the value for yarn.resourcemanager.store.class</description>
+ <name>yarn.resourcemanager.zk.state-store.num-retries</name>
+ <value>3</value>
+ </property>
+
+ <property>
+ <description>Full path of the ZooKeeper znode where RM state will be
+ stored. This must be supplied when using
+ org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
+ as the value for yarn.resourcemanager.store.class</description>
+ <name>yarn.resourcemanager.zk.state-store.parent-path</name>
+ <value>/rmstore</value>
+ </property>
+
+ <property>
+ <description>Timeout when connecting to ZooKeeper.
+ This may be supplied when using
+ org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
+ as the value for yarn.resourcemanager.store.class</description>
+ <name>yarn.resourcemanager.zk.state-store.timeout.ms</name>
+ <value>60000</value>
+ </property>
+
+ <property>
+ <description>ACL's to be used for ZooKeeper znodes.
+ This may be supplied when using
+ org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
+ as the value for yarn.resourcemanager.store.class</description>
+ <name>yarn.resourcemanager.zk.state-store.acl</name>
+ <value>world:anyone:rwcda</value>
+ </property>
+
+ <property>
<description>URI pointing to the location of the FileSystem path where
RM state will be stored. This must be supplied when using
org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore
Modified:
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/pom.xml
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/pom.xml?rev=1524831&r1=1524830&r2=1524831&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/pom.xml
(original)
+++
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/pom.xml
Thu Sep 19 20:40:52 2013
@@ -42,6 +42,16 @@
<artifactId>hadoop-yarn-server-web-proxy</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<type>test-jar</type>
Modified:
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java?rev=1524831&r1=1524830&r2=1524831&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
(original)
+++
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
Thu Sep 19 20:40:52 2013
@@ -63,12 +63,6 @@ public class FileSystemRMStateStore exte
public static final Log LOG =
LogFactory.getLog(FileSystemRMStateStore.class);
private static final String ROOT_DIR_NAME = "FSRMStateRoot";
- private static final String RM_DT_SECRET_MANAGER_ROOT =
"RMDTSecretManagerRoot";
- private static final String RM_APP_ROOT = "RMAppRoot";
- private static final String DELEGATION_KEY_PREFIX = "DelegationKey_";
- private static final String DELEGATION_TOKEN_PREFIX = "RMDelegationToken_";
- private static final String DELEGATION_TOKEN_SEQUENCE_NUMBER_PREFIX =
- "RMDTSequenceNumber_";
protected FileSystem fs;
Modified:
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java?rev=1524831&r1=1524830&r2=1524831&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java
(original)
+++
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java
Thu Sep 19 20:40:52 2013
@@ -65,6 +65,14 @@ import org.apache.hadoop.yarn.server.res
*/
public abstract class RMStateStore extends AbstractService {
+ // constants for RM App state and RMDTSecretManagerState.
+ protected static final String RM_APP_ROOT = "RMAppRoot";
+ protected static final String RM_DT_SECRET_MANAGER_ROOT =
"RMDTSecretManagerRoot";
+ protected static final String DELEGATION_KEY_PREFIX = "DelegationKey_";
+ protected static final String DELEGATION_TOKEN_PREFIX = "RMDelegationToken_";
+ protected static final String DELEGATION_TOKEN_SEQUENCE_NUMBER_PREFIX =
+ "RMDTSequenceNumber_";
+
public static final Log LOG = LogFactory.getLog(RMStateStore.class);
public RMStateStore() {
@@ -464,8 +472,9 @@ public abstract class RMStateStore exten
(ApplicationAttemptStateDataPBImpl)
ApplicationAttemptStateDataPBImpl
.newApplicationAttemptStateData(attemptState.getAttemptId(),
attemptState.getMasterContainer(), appAttemptTokens);
-
- LOG.info("Storing info for attempt: " +
attemptState.getAttemptId());
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Storing info for attempt: " +
attemptState.getAttemptId());
+ }
storeApplicationAttemptState(attemptState.getAttemptId().toString(),
attemptStateData);
} catch (Exception e) {
Modified:
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestRMStateStore.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestRMStateStore.java?rev=1524831&r1=1524830&r2=1524831&view=diff
==============================================================================
---
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestRMStateStore.java
(original)
+++
hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestRMStateStore.java
Thu Sep 19 20:40:52 2013
@@ -26,8 +26,10 @@ import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import javax.crypto.SecretKey;
@@ -40,6 +42,7 @@ import org.apache.hadoop.conf.Configurat
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.ha.ClientBaseWithFixes;
import org.apache.hadoop.hdfs.HdfsConfiguration;
import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.hadoop.io.Text;
@@ -67,13 +70,17 @@ import org.apache.hadoop.yarn.server.res
import
org.apache.hadoop.yarn.server.resourcemanager.security.AMRMTokenSecretManager;
import
org.apache.hadoop.yarn.server.resourcemanager.security.ClientToAMTokenSecretManagerInRM;
import org.apache.hadoop.yarn.util.ConverterUtils;
+
+import org.apache.zookeeper.ZooKeeper;
+
import org.junit.Test;
-public class TestRMStateStore {
+public class TestRMStateStore extends ClientBaseWithFixes{
public static final Log LOG = LogFactory.getLog(TestRMStateStore.class);
- class TestDispatcher implements Dispatcher,
EventHandler<RMAppAttemptStoredEvent> {
+ static class TestDispatcher implements
+ Dispatcher, EventHandler<RMAppAttemptStoredEvent> {
ApplicationAttemptId attemptId;
Exception storedException;
@@ -82,7 +89,8 @@ public class TestRMStateStore {
@SuppressWarnings("rawtypes")
@Override
- public void register(Class<? extends Enum> eventType, EventHandler
handler) {
+ public void register(Class<? extends Enum> eventType,
+ EventHandler handler) {
}
@Override
@@ -109,9 +117,17 @@ public class TestRMStateStore {
}
@Test
+ public void testZKRMStateStoreRealZK() throws Exception {
+ TestZKRMStateStoreTester zkTester = new TestZKRMStateStoreTester();
+ testRMAppStateStore(zkTester);
+ testRMDTSecretManagerStateStore(zkTester);
+ }
+
+ @Test
public void testFSRMStateStore() throws Exception {
HdfsConfiguration conf = new HdfsConfiguration();
- MiniDFSCluster cluster = new
MiniDFSCluster.Builder(conf).numDataNodes(1).build();
+ MiniDFSCluster cluster =
+ new MiniDFSCluster.Builder(conf).numDataNodes(1).build();
try {
TestFSRMStateStoreTester fsTester = new
TestFSRMStateStoreTester(cluster);
testRMAppStateStore(fsTester);
@@ -121,6 +137,41 @@ public class TestRMStateStore {
}
}
+ class TestZKRMStateStoreTester implements RMStateStoreHelper {
+ ZooKeeper client;
+ ZKRMStateStore store;
+
+ class TestZKRMStateStore extends ZKRMStateStore {
+ public TestZKRMStateStore(Configuration conf, String workingZnode)
+ throws Exception {
+ init(conf);
+ start();
+ assertTrue(znodeWorkingPath.equals(workingZnode));
+ }
+
+ @Override
+ public ZooKeeper getNewZooKeeper() throws IOException {
+ return client;
+ }
+ }
+
+ public RMStateStore getRMStateStore() throws Exception {
+ String workingZnode = "/Test";
+ YarnConfiguration conf = new YarnConfiguration();
+ conf.set(YarnConfiguration.ZK_RM_STATE_STORE_ADDRESS, hostPort);
+ conf.set(YarnConfiguration.ZK_RM_STATE_STORE_PARENT_PATH, workingZnode);
+ this.client = createClient();
+ this.store = new TestZKRMStateStore(conf, workingZnode);
+ return this.store;
+ }
+
+ @Override
+ public boolean isFinalStateValid() throws Exception {
+ List<String> nodes = client.getChildren(store.znodeWorkingPath, false);
+ return nodes.size() == 1;
+ }
+ }
+
class TestFSRMStateStoreTester implements RMStateStoreHelper {
Path workingDirPathURI;
FileSystemRMStateStore store;
@@ -149,7 +200,8 @@ public class TestRMStateStore {
@Override
public RMStateStore getRMStateStore() throws Exception {
YarnConfiguration conf = new YarnConfiguration();
- conf.set(YarnConfiguration.FS_RM_STATE_STORE_URI,
workingDirPathURI.toString());
+ conf.set(YarnConfiguration.FS_RM_STATE_STORE_URI,
+ workingDirPathURI.toString());
this.store = new TestFileSystemRMStore(conf);
return store;
}
@@ -158,11 +210,7 @@ public class TestRMStateStore {
public boolean isFinalStateValid() throws Exception {
FileSystem fs = cluster.getFileSystem();
FileStatus[] files = fs.listStatus(workingDirPathURI);
- if(files.length == 1) {
- // only store root directory should exist
- return true;
- }
- return false;
+ return files.length == 1;
}
}
@@ -183,9 +231,10 @@ public class TestRMStateStore {
dispatcher.notified = false;
}
- void storeApp(RMStateStore store, ApplicationId appId, long time)
- throws Exception
{
- ApplicationSubmissionContext context = new
ApplicationSubmissionContextPBImpl();
+ void storeApp(
+ RMStateStore store, ApplicationId appId, long time) throws Exception {
+ ApplicationSubmissionContext context =
+ new ApplicationSubmissionContextPBImpl();
context.setApplicationId(appId);
RMApp mockApp = mock(RMApp.class);
@@ -216,7 +265,8 @@ public class TestRMStateStore {
return container.getId();
}
- void testRMAppStateStore(RMStateStoreHelper stateStoreHelper) throws
Exception {
+ void testRMAppStateStore(RMStateStoreHelper stateStoreHelper)
+ throws Exception {
long submitTime = System.currentTimeMillis();
Configuration conf = new YarnConfiguration();
RMStateStore store = stateStoreHelper.getRMStateStore();
@@ -271,7 +321,8 @@ public class TestRMStateStore {
RMApp mockRemovedApp = mock(RMApp.class);
HashMap<ApplicationAttemptId, RMAppAttempt> attempts =
new HashMap<ApplicationAttemptId,
RMAppAttempt>();
- ApplicationSubmissionContext context = new
ApplicationSubmissionContextPBImpl();
+ ApplicationSubmissionContext context =
+ new ApplicationSubmissionContextPBImpl();
context.setApplicationId(appIdRemoved);
when(mockRemovedApp.getSubmitTime()).thenReturn(submitTime);
when(mockRemovedApp.getApplicationSubmissionContext()).thenReturn(context);
@@ -288,7 +339,8 @@ public class TestRMStateStore {
// load state
store = stateStoreHelper.getRMStateStore();
RMState state = store.loadState();
- Map<ApplicationId, ApplicationState> rmAppState =
state.getApplicationState();
+ Map<ApplicationId, ApplicationState> rmAppState =
+ state.getApplicationState();
ApplicationState appState = rmAppState.get(appId1);
// app is loaded
@@ -362,7 +414,8 @@ public class TestRMStateStore {
store.loadState().getRMDTSecretManagerState();
Assert.assertEquals(token1, secretManagerState.getTokenState());
Assert.assertEquals(keySet, secretManagerState.getMasterKeyState());
- Assert.assertEquals(sequenceNumber,
secretManagerState.getDTSequenceNumber());
+ Assert.assertEquals(sequenceNumber,
+ secretManagerState.getDTSequenceNumber());
}
private Token<AMRMTokenIdentifier> generateAMRMToken(