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 classAccumuloReplicaSystem.ReplicationStatsprotected classAccumuloReplicaSystem.RFileClientExecReturnprotected classAccumuloReplicaSystem.WalClientExecReturnstatic classAccumuloReplicaSystem.WalReplicationA "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 StringbuildConfiguration(String instanceName, String zookeepers)Generate the configuration string for this ReplicaSystemvoidconfigure(ServerContext context, String configuration)protected Set<Integer>consumeWalPrefix(ReplicationTarget target, DataInputStream wal, Replication.Status status)protected ClientContextgetContextForPeer(AccumuloConfiguration localConf, ReplicationTarget target, String principal, AuthenticationToken token)protected StringgetKeytab(AccumuloConfiguration localConf, ReplicationTarget target)protected StringgetPassword(AccumuloConfiguration localConf, ReplicationTarget target)protected StringgetPrincipal(AccumuloConfiguration localConf, ReplicationTarget target)protected AccumuloReplicaSystem.WalReplicationgetWalEdits(ReplicationTarget target, DataInputStream wal, org.apache.hadoop.fs.Path p, Replication.Status status, long sizeLimit, Set<Integer> desiredTids)DataInputStreamgetWalStream(org.apache.hadoop.fs.Path p, org.apache.hadoop.fs.FSDataInputStream input)Replication.Statusreplicate(org.apache.hadoop.fs.Path p, Replication.Status status, ReplicationTarget target, ReplicaSystemHelper helper)protected Replication.StatusreplicateLogs(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.StatusreplicateRFiles(ClientContext peerContext, HostAndPort peerTserver, ReplicationTarget target, org.apache.hadoop.fs.Path p, Replication.Status status, long timeout)protected voidsetConf(AccumuloConfiguration conf)protected longwriteValueAvoidingReplicationCycles(DataOutputStream out, LogFileValue value, ReplicationTarget target)Wrapper aroundLogFileValue.write(java.io.DataOutput)which does not serializeMutations 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:
configurein interfaceReplicaSystem
-
replicate
public Replication.Status replicate(org.apache.hadoop.fs.Path p, Replication.Status status, ReplicationTarget target, ReplicaSystemHelper helper)
- Specified by:
replicatein 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.TTransportExceptionAccumuloExceptionAccumuloSecurityException
-
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.TTransportExceptionAccumuloExceptionAccumuloSecurityException
-
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 serializeMutations that do not need to be replicate to the givenReplicationTarget- Throws:
IOException
-
-