class RapidsShuffleClient extends Logging with AutoCloseable
The client makes requests via a ClientConnection obtained from the RapidsShuffleTransport.
This class handles fetch requests from RapidsShuffleIterator, turning them into
ShuffleMetadata messages, and shuffle TransferRequests.
Its counterpart is the RapidsShuffleServer on a specific peer executor, specified by
connection.
- Alphabetic
- By Inheritance
- RapidsShuffleClient
- AutoCloseable
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
RapidsShuffleClient(connection: ClientConnection, transport: RapidsShuffleTransport, exec: Executor, clientCopyExecutor: Executor, catalog: ShuffleReceivedBufferCatalog = GpuShuffleEnv.getReceivedCatalog)
- connection
a connection object against a remote executor
- transport
used to get metadata buffers and to work with the throttle mechanism
- exec
Executor used to handle tasks that take time, and should not be in the transport's thread
- clientCopyExecutor
Executors used to handle synchronous mem copies
- catalog
catalog to use to track received shuffle blocks
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
cancelPending(handler: RapidsShuffleFetchHandler): Unit
Cancel pending requests for handler
handlerto the peer represented by this client.Cancel pending requests for handler
handlerto the peer represented by this client.- handler
instance to use to find requests to cancel
- Note
this currently only cancels pending requests that are queued in the transport, and not in flight.
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
close(): Unit
- Definition Classes
- RapidsShuffleClient → AutoCloseable
- val connection: ClientConnection
-
def
doFetch(shuffleRequests: Seq[ShuffleBlockBatchId], handler: RapidsShuffleFetchHandler): Unit
Starts a fetch request for all the shuffleRequests, using
handlerto communicate events back to the iterator.Starts a fetch request for all the shuffleRequests, using
handlerto communicate events back to the iterator.- shuffleRequests
blocks to fetch
- handler
iterator to callback to
-
def
doHandleBounceBufferReceive(tx: Transaction, bufferReceiveState: BufferReceiveState): Unit
This function handles data received in
bounceBuffers.This function handles data received in
bounceBuffers. The data should be copied out of the buffers, and the function should call intobufferReceiveStateto advance its state (consumeBuffers)- tx
live transaction for these bounce buffers, it should be closed in this function
- bufferReceiveState
state management objects for live transfer requests
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def handleBufferReceive(tx: Transaction, bufferReceiveState: BufferReceiveState): Unit
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
issueBufferReceives(bufferReceiveState: BufferReceiveState): Unit
Used by the transport, to schedule receives.
Used by the transport, to schedule receives. The requests are sent to the executor for this client.
- bufferReceiveState
object tracking the state of pending TransferRequests
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def registerPeerErrorListener(handler: RapidsShuffleFetchHandler): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- def unregisterPeerErrorListener(handler: RapidsShuffleFetchHandler): Unit
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- object ShuffleClientOps