use of alluxio.worker.block.RegisterStreamer in project alluxio by Alluxio.
the class BlockWorkerRegisterStreamIntegrationTest method registerWorkerErrorAtStreamStart.
/**
* Tests below cover various failure cases.
*/
@Test
public void registerWorkerErrorAtStreamStart() throws Exception {
// Create the stream and control the request/response observers
BlockMasterWorkerServiceStub asyncClient = PowerMockito.mock(BlockMasterWorkerServiceStub.class);
when(asyncClient.withDeadlineAfter(anyLong(), any())).thenReturn(asyncClient);
ManualRegisterStreamObserver requestObserver = new ManualRegisterStreamObserver(MasterMode.FIRST_REQUEST);
when(asyncClient.registerWorkerStream(any())).thenReturn(requestObserver);
RegisterStreamer registerStreamer = new RegisterStreamer(asyncClient, WORKER_ID, mTierAliases, mCapacityMap, mUsedMap, mBlockMap, LOST_STORAGE, EMPTY_CONFIG);
StreamObserver<RegisterWorkerPResponse> responseObserver = getResponseObserver(registerStreamer);
requestObserver.setResponseObserver(responseObserver);
assertThrows(InternalException.class, () -> {
// An error received from the master side will be InternalException
registerStreamer.registerWithMaster();
});
}
use of alluxio.worker.block.RegisterStreamer in project alluxio by Alluxio.
the class CachingBlockMasterClient method registerWithStream.
@Override
public void registerWithStream(final long workerId, final List<String> storageTierAliases, final Map<String, Long> totalBytesOnTiers, final Map<String, Long> usedBytesOnTiers, final Map<BlockStoreLocation, List<Long>> currentBlocksOnLocation, final Map<String, List<String>> lostStorage, final List<ConfigProperty> configList) throws IOException {
AtomicReference<IOException> ioe = new AtomicReference<>();
retryRPC(() -> {
try {
RegisterStreamer stream = new RegisterStreamer(mAsyncClient, workerId, storageTierAliases, totalBytesOnTiers, usedBytesOnTiers, lostStorage, configList, mBlockBatchIterator);
stream.registerWithMaster();
} catch (IOException e) {
ioe.set(e);
} catch (InterruptedException e) {
ioe.set(new IOException(e));
}
return null;
}, LOG, "Register", "workerId=%d", workerId);
if (ioe.get() != null) {
throw ioe.get();
}
}
Aggregations