|
@@ -23,7 +23,6 @@ import java.net.URL;
|
|
|
|
|
|
import org.apache.hadoop.classification.InterfaceAudience;
|
|
import org.apache.hadoop.classification.InterfaceAudience;
|
|
import org.apache.hadoop.classification.InterfaceStability;
|
|
import org.apache.hadoop.classification.InterfaceStability;
|
|
-import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.RemoteEditLogProto;
|
|
|
|
import org.apache.hadoop.hdfs.protocolPB.PBHelper;
|
|
import org.apache.hadoop.hdfs.protocolPB.PBHelper;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocol;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocol;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos;
|
|
@@ -39,18 +38,17 @@ import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.NewEpochR
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.AcceptRecoveryRequestProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.AcceptRecoveryRequestProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.PrepareRecoveryRequestProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.PrepareRecoveryRequestProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.PrepareRecoveryResponseProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.PrepareRecoveryResponseProto;
|
|
|
|
+import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.PurgeLogsRequestProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.SegmentStateProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.SegmentStateProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.StartLogSegmentRequestProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos.StartLogSegmentRequestProto;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.RequestInfo;
|
|
import org.apache.hadoop.hdfs.qjournal.protocol.RequestInfo;
|
|
import org.apache.hadoop.hdfs.server.protocol.JournalProtocol;
|
|
import org.apache.hadoop.hdfs.server.protocol.JournalProtocol;
|
|
import org.apache.hadoop.hdfs.server.protocol.NamespaceInfo;
|
|
import org.apache.hadoop.hdfs.server.protocol.NamespaceInfo;
|
|
-import org.apache.hadoop.io.MD5Hash;
|
|
|
|
import org.apache.hadoop.ipc.ProtobufHelper;
|
|
import org.apache.hadoop.ipc.ProtobufHelper;
|
|
import org.apache.hadoop.ipc.ProtocolMetaInterface;
|
|
import org.apache.hadoop.ipc.ProtocolMetaInterface;
|
|
import org.apache.hadoop.ipc.RPC;
|
|
import org.apache.hadoop.ipc.RPC;
|
|
import org.apache.hadoop.ipc.RpcClientUtil;
|
|
import org.apache.hadoop.ipc.RpcClientUtil;
|
|
|
|
|
|
-import com.google.protobuf.ByteString;
|
|
|
|
import com.google.protobuf.RpcController;
|
|
import com.google.protobuf.RpcController;
|
|
import com.google.protobuf.ServiceException;
|
|
import com.google.protobuf.ServiceException;
|
|
|
|
|
|
@@ -165,6 +163,20 @@ public class QJournalProtocolTranslatorPB implements ProtocolMetaInterface,
|
|
throw ProtobufHelper.getRemoteException(e);
|
|
throw ProtobufHelper.getRemoteException(e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void purgeLogsOlderThan(RequestInfo reqInfo, long minTxIdToKeep)
|
|
|
|
+ throws IOException {
|
|
|
|
+ PurgeLogsRequestProto req = PurgeLogsRequestProto.newBuilder()
|
|
|
|
+ .setReqInfo(convert(reqInfo))
|
|
|
|
+ .setMinTxIdToKeep(minTxIdToKeep)
|
|
|
|
+ .build();
|
|
|
|
+ try {
|
|
|
|
+ rpcProxy.purgeLogs(NULL_CONTROLLER, req);
|
|
|
|
+ } catch (ServiceException e) {
|
|
|
|
+ throw ProtobufHelper.getRemoteException(e);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public GetEditLogManifestResponseProto getEditLogManifest(String jid,
|
|
public GetEditLogManifestResponseProto getEditLogManifest(String jid,
|
|
@@ -214,4 +226,5 @@ public class QJournalProtocolTranslatorPB implements ProtocolMetaInterface,
|
|
QJournalProtocolPB.class, RPC.RpcKind.RPC_PROTOCOL_BUFFER,
|
|
QJournalProtocolPB.class, RPC.RpcKind.RPC_PROTOCOL_BUFFER,
|
|
RPC.getProtocolVersion(QJournalProtocolPB.class), methodName);
|
|
RPC.getProtocolVersion(QJournalProtocolPB.class), methodName);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|