Interface XceiverServerSpi

All Known Implementing Classes:
XceiverServerGrpc, XceiverServerRatis

public interface XceiverServerSpi
A server endpoint that acts as the communication layer for Ozone containers.
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    addGroup(org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineId, List<org.apache.hadoop.hdds.protocol.DatanodeDetails> peers)
    Join a new pipeline.
    default void
    addGroup(org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineId, List<org.apache.hadoop.hdds.protocol.DatanodeDetails> peers, List<Integer> priorityList)
    Join a new pipeline with priority.
    int
    Get server IPC port.
    List<org.apache.hadoop.hdds.protocol.proto.StorageContainerDatanodeProtocolProtos.PipelineReport>
    Get pipeline report for the XceiverServer instance.
    org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationType
    Returns the Replication type supported by this end-point.
    default List<org.apache.hadoop.hdds.protocol.proto.StorageContainerDatanodeProtocolProtos.MetadataStorageReportProto>
    Get storage report for the XceiverServer instance.
    boolean
    isExist(org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineId)
    Returns true if the given pipeline exist.
    default void
    removeGroup(org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineId)
    Exit a pipeline.
    void
    Starts the server.
    void
    Stops a running server.
    void
    submitRequest(org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.ContainerCommandRequestProto request, org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineID)
    submits a containerRequest to be performed by the replication pipeline.
  • Method Details

    • start

      void start() throws IOException
      Starts the server.
      Throws:
      IOException
    • stop

      void stop()
      Stops a running server.
    • getIPCPort

      int getIPCPort()
      Get server IPC port.
    • getServerType

      org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationType getServerType()
      Returns the Replication type supported by this end-point.
      Returns:
      enum -- {Stand_Alone, Ratis, Chained}
    • submitRequest

      void submitRequest(org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos.ContainerCommandRequestProto request, org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineID) throws IOException
      submits a containerRequest to be performed by the replication pipeline.
      Parameters:
      request - ContainerCommandRequest
      Throws:
      IOException
    • isExist

      boolean isExist(org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineId)
      Returns true if the given pipeline exist.
      Returns:
      true if pipeline present, else false
    • addGroup

      default void addGroup(org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineId, List<org.apache.hadoop.hdds.protocol.DatanodeDetails> peers) throws IOException
      Join a new pipeline.
      Throws:
      IOException
    • addGroup

      default void addGroup(org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineId, List<org.apache.hadoop.hdds.protocol.DatanodeDetails> peers, List<Integer> priorityList) throws IOException
      Join a new pipeline with priority.
      Throws:
      IOException
    • removeGroup

      default void removeGroup(org.apache.hadoop.hdds.protocol.proto.HddsProtos.PipelineID pipelineId) throws IOException
      Exit a pipeline.
      Throws:
      IOException
    • getPipelineReport

      List<org.apache.hadoop.hdds.protocol.proto.StorageContainerDatanodeProtocolProtos.PipelineReport> getPipelineReport()
      Get pipeline report for the XceiverServer instance.
      Returns:
      list of report for each pipeline.
    • getStorageReport

      default List<org.apache.hadoop.hdds.protocol.proto.StorageContainerDatanodeProtocolProtos.MetadataStorageReportProto> getStorageReport() throws IOException
      Get storage report for the XceiverServer instance.
      Returns:
      list of report for each storage location.
      Throws:
      IOException