HDFS-13706. [SBN read] Rename client context to ClientGSIContext. Contributed by Konstantin Shvachko.

This commit is contained in:
Konstantin V Shvachko 2018-06-29 15:50:37 -07:00
parent 00e99c6594
commit 0105d7f597
2 changed files with 17 additions and 15 deletions

View File

@ -27,12 +27,14 @@
import java.util.concurrent.atomic.LongAccumulator; import java.util.concurrent.atomic.LongAccumulator;
/** /**
* Global State Id context for the client.
* <p/>
* This is the client side implementation responsible for receiving * This is the client side implementation responsible for receiving
* state alignment info from server(s). * state alignment info from server(s).
*/ */
@InterfaceAudience.Private @InterfaceAudience.Private
@InterfaceStability.Stable @InterfaceStability.Stable
class ClientGCIContext implements AlignmentContext { class ClientGSIContext implements AlignmentContext {
private final LongAccumulator lastSeenStateId = private final LongAccumulator lastSeenStateId =
new LongAccumulator(Math::max, Long.MIN_VALUE); new LongAccumulator(Math::max, Long.MIN_VALUE);

View File

@ -67,11 +67,11 @@ public class TestStateAlignmentContextWithHA {
private static final int NUMFILES = 300; private static final int NUMFILES = 300;
private static final Configuration CONF = new HdfsConfiguration(); private static final Configuration CONF = new HdfsConfiguration();
private static final String NAMESERVICE = "nameservice"; private static final String NAMESERVICE = "nameservice";
private static final List<ClientGCIContext> AC_LIST = new ArrayList<>(); private static final List<ClientGSIContext> AC_LIST = new ArrayList<>();
private static MiniDFSCluster cluster; private static MiniDFSCluster cluster;
private static List<Worker> clients; private static List<Worker> clients;
private static ClientGCIContext spy; private static ClientGSIContext spy;
private DistributedFileSystem dfs; private DistributedFileSystem dfs;
private int active = 0; private int active = 0;
@ -80,7 +80,7 @@ public class TestStateAlignmentContextWithHA {
static class AlignmentContextProxyProvider<T> static class AlignmentContextProxyProvider<T>
extends ConfiguredFailoverProxyProvider<T> { extends ConfiguredFailoverProxyProvider<T> {
private ClientGCIContext alignmentContext; private ClientGSIContext alignmentContext;
public AlignmentContextProxyProvider( public AlignmentContextProxyProvider(
Configuration conf, URI uri, Class<T> xface, Configuration conf, URI uri, Class<T> xface,
@ -89,14 +89,14 @@ public AlignmentContextProxyProvider(
// Create and set AlignmentContext in HAProxyFactory. // Create and set AlignmentContext in HAProxyFactory.
// All proxies by factory will now have AlignmentContext assigned. // All proxies by factory will now have AlignmentContext assigned.
this.alignmentContext = (spy != null ? spy : new ClientGCIContext()); this.alignmentContext = (spy != null ? spy : new ClientGSIContext());
((ClientHAProxyFactory) factory).setAlignmentContext(alignmentContext); ((ClientHAProxyFactory) factory).setAlignmentContext(alignmentContext);
AC_LIST.add(alignmentContext); AC_LIST.add(alignmentContext);
} }
@Override // AbstractNNFailoverProxyProvider @Override // AbstractNNFailoverProxyProvider
public synchronized ClientGCIContext getAlignmentContext() { public synchronized ClientGSIContext getAlignmentContext() {
return this.alignmentContext; return this.alignmentContext;
} }
} }
@ -104,7 +104,7 @@ public synchronized ClientGCIContext getAlignmentContext() {
static class SpyConfiguredContextProxyProvider<T> static class SpyConfiguredContextProxyProvider<T>
extends ConfiguredFailoverProxyProvider<T> { extends ConfiguredFailoverProxyProvider<T> {
private ClientGCIContext alignmentContext; private ClientGSIContext alignmentContext;
public SpyConfiguredContextProxyProvider( public SpyConfiguredContextProxyProvider(
Configuration conf, URI uri, Class<T> xface, Configuration conf, URI uri, Class<T> xface,
@ -112,7 +112,7 @@ public SpyConfiguredContextProxyProvider(
super(conf, uri, xface, factory); super(conf, uri, xface, factory);
// Create but DON'T set in HAProxyFactory. // Create but DON'T set in HAProxyFactory.
this.alignmentContext = (spy != null ? spy : new ClientGCIContext()); this.alignmentContext = (spy != null ? spy : new ClientGSIContext());
AC_LIST.add(alignmentContext); AC_LIST.add(alignmentContext);
} }
@ -180,7 +180,7 @@ public void testNoStateOnConfiguredProxyProvider() throws Exception {
try (DistributedFileSystem clearDfs = try (DistributedFileSystem clearDfs =
(DistributedFileSystem) FileSystem.get(confCopy)) { (DistributedFileSystem) FileSystem.get(confCopy)) {
ClientGCIContext clientState = getContext(1); ClientGSIContext clientState = getContext(1);
assertThat(clientState.getLastSeenStateId(), is(Long.MIN_VALUE)); assertThat(clientState.getLastSeenStateId(), is(Long.MIN_VALUE));
DFSTestUtil.writeFile(clearDfs, new Path("/testFileNoState"), "no_state"); DFSTestUtil.writeFile(clearDfs, new Path("/testFileNoState"), "no_state");
assertThat(clientState.getLastSeenStateId(), is(Long.MIN_VALUE)); assertThat(clientState.getLastSeenStateId(), is(Long.MIN_VALUE));
@ -231,7 +231,7 @@ public void testStateTransferOnFreshClient() throws Exception {
cluster.getNamesystem(active).getLastWrittenTransactionId(); cluster.getNamesystem(active).getLastWrittenTransactionId();
try (DistributedFileSystem clearDfs = try (DistributedFileSystem clearDfs =
(DistributedFileSystem) FileSystem.get(CONF)) { (DistributedFileSystem) FileSystem.get(CONF)) {
ClientGCIContext clientState = getContext(1); ClientGSIContext clientState = getContext(1);
assertThat(clientState.getLastSeenStateId(), is(Long.MIN_VALUE)); assertThat(clientState.getLastSeenStateId(), is(Long.MIN_VALUE));
DFSTestUtil.readFile(clearDfs, new Path("/testFile3")); DFSTestUtil.readFile(clearDfs, new Path("/testFile3"));
assertThat(clientState.getLastSeenStateId(), is(lastWrittenId)); assertThat(clientState.getLastSeenStateId(), is(lastWrittenId));
@ -244,8 +244,8 @@ public void testStateTransferOnFreshClient() throws Exception {
*/ */
@Test @Test
public void testClientSendsState() throws Exception { public void testClientSendsState() throws Exception {
ClientGCIContext alignmentContext = new ClientGCIContext(); ClientGSIContext alignmentContext = new ClientGSIContext();
ClientGCIContext spiedAlignContext = Mockito.spy(alignmentContext); ClientGSIContext spiedAlignContext = Mockito.spy(alignmentContext);
spy = spiedAlignContext; spy = spiedAlignContext;
try (DistributedFileSystem clearDfs = try (DistributedFileSystem clearDfs =
@ -286,8 +286,8 @@ public void testClientSendsState() throws Exception {
*/ */
@Test @Test
public void testClientSendsGreaterState() throws Exception { public void testClientSendsGreaterState() throws Exception {
ClientGCIContext alignmentContext = new ClientGCIContext(); ClientGSIContext alignmentContext = new ClientGSIContext();
ClientGCIContext spiedAlignContext = Mockito.spy(alignmentContext); ClientGSIContext spiedAlignContext = Mockito.spy(alignmentContext);
spy = spiedAlignContext; spy = spiedAlignContext;
try (DistributedFileSystem clearDfs = try (DistributedFileSystem clearDfs =
@ -377,7 +377,7 @@ public void testMultiClientStatesWithRandomFailovers() throws Exception {
} }
} }
private ClientGCIContext getContext(int clientCreationIndex) { private ClientGSIContext getContext(int clientCreationIndex) {
return AC_LIST.get(clientCreationIndex); return AC_LIST.get(clientCreationIndex);
} }