Class Server.Call

java.lang.Object
org.apache.hadoop.ipc.Server.Call
All Implemented Interfaces:
PrivilegedExceptionAction<Void>, Schedulable
Direct Known Subclasses:
ExternalCall
Enclosing class:
Server

public static class Server.Call extends Object implements Schedulable, PrivilegedExceptionAction<Void>
A generic call queued for handling.
  • Field Details

    • startHandleTimestampNanos

      protected long startHandleTimestampNanos
  • Constructor Details

    • Call

      @VisibleForTesting public Call(int id, int retryCount, Void ignore1, Void ignore2, RPC.RpcKind kind, byte[] clientId)
  • Method Details

    • getProcessingDetails

      public ProcessingDetails getProcessingDetails()
    • setFederatedNamespaceState

      public void setFederatedNamespaceState(org.apache.hadoop.thirdparty.protobuf.ByteString federatedNamespaceState)
    • getFederatedNamespaceState

      public org.apache.hadoop.thirdparty.protobuf.ByteString getFederatedNamespaceState()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • run

      public Void run() throws Exception
      Specified by:
      run in interface PrivilegedExceptionAction<Void>
      Throws:
      Exception
    • getRemoteUser

      public UserGroupInformation getRemoteUser()
    • getHostInetAddress

      public InetAddress getHostInetAddress()
    • getRemotePort

      public int getRemotePort()
    • getHostAddress

      public String getHostAddress()
    • getProtocol

      public String getProtocol()
    • postponeResponse

      @Unstable @LimitedPrivate("HDFS") public final void postponeResponse()
      Allow a IPC response to be postponed instead of sent immediately after the handler returns from the proxy method. The intended use case is freeing up the handler thread when the response is known, but an expensive pre-condition must be satisfied before it's sent to the client.
    • sendResponse

      @Unstable @LimitedPrivate("HDFS") public final void sendResponse() throws IOException
      Throws:
      IOException
    • abortResponse

      @Unstable @LimitedPrivate("HDFS") public final void abortResponse(Throwable t) throws IOException
      Throws:
      IOException
    • getUserGroupInformation

      public UserGroupInformation getUserGroupInformation()
      Specified by:
      getUserGroupInformation in interface Schedulable
    • getCallerContext

      public CallerContext getCallerContext()
      Description copied from interface: Schedulable
      This is overridden only in Server.Call. The CallerContext field will be used to carry information about the user in cases where UGI proves insufficient. Any other classes that might try to use this method, will get an UnsupportedOperationException.
      Specified by:
      getCallerContext in interface Schedulable
      Returns:
      an instance of CallerContext if method is overridden else get an UnsupportedOperationException
    • getPriorityLevel

      public int getPriorityLevel()
      Specified by:
      getPriorityLevel in interface Schedulable
    • setPriorityLevel

      public void setPriorityLevel(int priorityLevel)
    • getClientStateId

      public long getClientStateId()
    • setClientStateId

      public void setClientStateId(long stateId)
    • markCallCoordinated

      public void markCallCoordinated(boolean flag)
    • isCallCoordinated

      public boolean isCallCoordinated()
    • deferResponse

      @Unstable public void deferResponse()
    • isResponseDeferred

      @Unstable public boolean isResponseDeferred()
    • setDeferredResponse

      public void setDeferredResponse(Writable response)
    • setDeferredError

      public void setDeferredError(Throwable t)
    • getTimestampNanos

      public long getTimestampNanos()
    • getStartHandleTimestampNanos

      public long getStartHandleTimestampNanos()
    • setStartHandleTimestampNanos

      public void setStartHandleTimestampNanos(long startHandleTimestampNanos)