Class AccumuloReplicaSystem
- java.lang.Object
-
- org.apache.accumulo.tserver.replication.AccumuloReplicaSystem
-
- All Implemented Interfaces:
ReplicaSystem
public class AccumuloReplicaSystem extends Object implements ReplicaSystem
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AccumuloReplicaSystem.ReplicationStats
protected class
AccumuloReplicaSystem.RFileClientExecReturn
protected class
AccumuloReplicaSystem.WalClientExecReturn
static class
AccumuloReplicaSystem.WalReplication
A "struct" to avoid a nested Entry.
-
Constructor Summary
Constructors Constructor Description AccumuloReplicaSystem()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static String
buildConfiguration(String instanceName, String zookeepers)
Generate the configuration string for this ReplicaSystemvoid
configure(ServerContext context, String configuration)
protected Set<Integer>
consumeWalPrefix(ReplicationTarget target, DataInputStream wal, Replication.Status status)
protected ClientContext
getContextForPeer(AccumuloConfiguration localConf, ReplicationTarget target, String principal, AuthenticationToken token)
protected String
getKeytab(AccumuloConfiguration localConf, ReplicationTarget target)
protected String
getPassword(AccumuloConfiguration localConf, ReplicationTarget target)
protected String
getPrincipal(AccumuloConfiguration localConf, ReplicationTarget target)
protected AccumuloReplicaSystem.WalReplication
getWalEdits(ReplicationTarget target, DataInputStream wal, org.apache.hadoop.fs.Path p, Replication.Status status, long sizeLimit, Set<Integer> desiredTids)
DataInputStream
getWalStream(org.apache.hadoop.fs.Path p, org.apache.hadoop.fs.FSDataInputStream input)
Replication.Status
replicate(org.apache.hadoop.fs.Path p, Replication.Status status, ReplicationTarget target, ReplicaSystemHelper helper)
protected Replication.Status
replicateLogs(ClientContext peerContext, HostAndPort peerTserver, ReplicationTarget target, org.apache.hadoop.fs.Path p, Replication.Status status, long sizeLimit, String remoteTableId, TCredentials tcreds, ReplicaSystemHelper helper, org.apache.hadoop.security.UserGroupInformation accumuloUgi, long timeout)
protected Replication.Status
replicateRFiles(ClientContext peerContext, HostAndPort peerTserver, ReplicationTarget target, org.apache.hadoop.fs.Path p, Replication.Status status, long timeout)
protected void
setConf(AccumuloConfiguration conf)
protected long
writeValueAvoidingReplicationCycles(DataOutputStream out, LogFileValue value, ReplicationTarget target)
Wrapper aroundLogFileValue.write(java.io.DataOutput)
which does not serializeMutation
s that do not need to be replicate to the givenReplicationTarget
-
-
-
Method Detail
-
setConf
protected void setConf(AccumuloConfiguration conf)
-
buildConfiguration
public static String buildConfiguration(String instanceName, String zookeepers)
Generate the configuration string for this ReplicaSystem
-
configure
public void configure(ServerContext context, String configuration)
- Specified by:
configure
in interfaceReplicaSystem
-
replicate
public Replication.Status replicate(org.apache.hadoop.fs.Path p, Replication.Status status, ReplicationTarget target, ReplicaSystemHelper helper)
- Specified by:
replicate
in interfaceReplicaSystem
-
replicateRFiles
protected Replication.Status replicateRFiles(ClientContext peerContext, HostAndPort peerTserver, ReplicationTarget target, org.apache.hadoop.fs.Path p, Replication.Status status, long timeout) throws org.apache.thrift.transport.TTransportException, AccumuloException, AccumuloSecurityException
- Throws:
org.apache.thrift.transport.TTransportException
AccumuloException
AccumuloSecurityException
-
replicateLogs
protected Replication.Status replicateLogs(ClientContext peerContext, HostAndPort peerTserver, ReplicationTarget target, org.apache.hadoop.fs.Path p, Replication.Status status, long sizeLimit, String remoteTableId, TCredentials tcreds, ReplicaSystemHelper helper, org.apache.hadoop.security.UserGroupInformation accumuloUgi, long timeout) throws org.apache.thrift.transport.TTransportException, AccumuloException, AccumuloSecurityException
- Throws:
org.apache.thrift.transport.TTransportException
AccumuloException
AccumuloSecurityException
-
getPassword
protected String getPassword(AccumuloConfiguration localConf, ReplicationTarget target)
-
getKeytab
protected String getKeytab(AccumuloConfiguration localConf, ReplicationTarget target)
-
getPrincipal
protected String getPrincipal(AccumuloConfiguration localConf, ReplicationTarget target)
-
getContextForPeer
protected ClientContext getContextForPeer(AccumuloConfiguration localConf, ReplicationTarget target, String principal, AuthenticationToken token)
-
consumeWalPrefix
protected Set<Integer> consumeWalPrefix(ReplicationTarget target, DataInputStream wal, Replication.Status status) throws IOException
- Throws:
IOException
-
getWalStream
public DataInputStream getWalStream(org.apache.hadoop.fs.Path p, org.apache.hadoop.fs.FSDataInputStream input) throws IOException
- Throws:
IOException
-
getWalEdits
protected AccumuloReplicaSystem.WalReplication getWalEdits(ReplicationTarget target, DataInputStream wal, org.apache.hadoop.fs.Path p, Replication.Status status, long sizeLimit, Set<Integer> desiredTids) throws IOException
- Throws:
IOException
-
writeValueAvoidingReplicationCycles
protected long writeValueAvoidingReplicationCycles(DataOutputStream out, LogFileValue value, ReplicationTarget target) throws IOException
Wrapper aroundLogFileValue.write(java.io.DataOutput)
which does not serializeMutation
s that do not need to be replicate to the givenReplicationTarget
- Throws:
IOException
-
-