Class SharedCacheClient
- All Implemented Interfaces:
Closeable,AutoCloseable,Service
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.hadoop.service.Service
Service.STATE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic SharedCacheClientabstract StringgetFileChecksum(Path sourceFile) A convenience method to calculate the checksum of a specified file.abstract voidrelease(ApplicationId applicationId, String resourceKey) The method to release a resource with theSharedCacheManager.This method is called once an application is no longer using a claimed resource in the shared cache.abstract URLuse(ApplicationId applicationId, String resourceKey) The method to claim a resource with theSharedCacheManager.The client uses a checksum to identify the resource and anApplicationIdto identify which application will be using the resource.Methods inherited from class org.apache.hadoop.service.AbstractService
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, serviceInit, serviceStart, serviceStop, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop
-
Constructor Details
-
SharedCacheClient
-
-
Method Details
-
use
@Public @Unstable public abstract URL use(ApplicationId applicationId, String resourceKey) throws YarnException The method to claim a resource with the
SharedCacheManager.The client uses a checksum to identify the resource and anApplicationIdto identify which application will be using the resource.The
SharedCacheManagerresponds with whether or not the resource exists in the cache. If the resource exists, aURLto the resource in the shared cache is returned. If the resource does not exist, null is returned instead.Once a URL has been returned for a resource, that URL is safe to use for the lifetime of the application that corresponds to the provided ApplicationId.
- Parameters:
applicationId- ApplicationId of the application using the resourceresourceKey- the key (i.e. checksum) that identifies the resource- Returns:
- URL to the resource, or null if it does not exist
- Throws:
YarnException
-
release
@Public @Unstable public abstract void release(ApplicationId applicationId, String resourceKey) throws YarnException The method to release a resource with the
SharedCacheManager.This method is called once an application is no longer using a claimed resource in the shared cache. The client uses a checksum to identify the resource and anApplicationIdto identify which application is releasing the resource.Note: This method is an optimization and the client is not required to call it for correctness.
- Parameters:
applicationId- ApplicationId of the application releasing the resourceresourceKey- the key (i.e. checksum) that identifies the resource- Throws:
YarnException
-
getFileChecksum
A convenience method to calculate the checksum of a specified file.- Parameters:
sourceFile- A path to the input file- Returns:
- A hex string containing the checksum digest
- Throws:
IOException