See: Description
| Interface | Description |
|---|---|
| DataServer |
Defines how to interact with a server running the data protocol.
|
| Class | Description |
|---|---|
| BlockHandler |
Base class for handling block I/O.
|
| BlockHandlerLocal |
BlockHandler for files on LocalFS, such as RamDisk, SSD and HDD.
|
| BlocksLocker |
Handle local block locking.
|
| SpaceCounter |
The worker space counter, in charge of counting and granting spaces in a worker daemon.
|
| TachyonWorker |
Entry point for a worker daemon.
|
| WorkerClient |
The client talks to a worker server.
|
| WorkerServiceHandler |
WorkerServiceHandler handles all the RPC calls to the worker. |
| WorkerStorage |
The structure to store a worker's information in worker node.
|
| Enum | Description |
|---|---|
| NetworkType |
Enum over the different networking implementations.
|
TachyonWorker.main(String[]) which gets
started by the tachyon start scripts. The TachyonWorker class spins up the
different RPC services (thrift, data) which are mostly wrappers around
WorkerStorage.
UnderFileSystem. This is
triggered by WriteType.isThrough() operations.
Implementation can be found at WorkerStorage.addCheckpoint(long, int)
WorkerStorage.cacheBlock(long, long)
WorkerStorage.lockBlock(long, long) and
WorkerStorage.unlockBlock(long, long).
NettyDataServer and NIODataServer; netty
is the default. To support both, a DataServer interface is used that just
defines how to start/stop, and get port details; to start, object init is used.
The current read protocol is defined in DataServerMessage. This has
two different types: read
DataServerMessage.createBlockRequestMessage(long, long, long) and
write
DataServerMessage.createBlockResponseMessage(boolean, long, long,
long, ByteBuffer).
Side note, the netty implementation does not use this class, but has defined two classes for
the read and write case: BlockRequest,
BlockResponse; theses classes are network compatible.Copyright © 2015. All Rights Reserved.