flink-instrumentation/workspace/flink-1.4.1-instrumented/flink-1.4.1/flink-runtime/src/main/java/org/apache/flink/runtime/deployment/TaskDeploymentDescriptor.java
/**
	 * Loads externalized data from the BLOB store back to the object.
	 *
	 * @param blobService
	 * 		the blob store to use (may be <tt>null</tt> if {@link #serializedJobInformation} and {@link
	 * 		#serializedTaskInformation} are non-<tt>null</tt>)
	 *
	 * @throws IOException
	 * 		during errors retrieving or reading the BLOBs
	 * @throws ClassNotFoundException
	 * 		Class of a serialized object cannot be found.
	 */
Loads externalized data from the BLOB store back to the object.
@param blobService
the blob store to use (may be null if  #serializedJobInformation and {@link
#serializedTaskInformation} are non-null)

@throws IOException
during errors retrieving or reading the BLOBs
@throws ClassNotFoundException
Class of a serialized object cannot be found.
Loads externalized data from the BLOB store back to the object . @param blobService the blob store to use ( may be null if #serializedJobInformation and { @link #serializedTaskInformation } are non - null ) @throws IOException during errors retrieving or reading the BLOBs @throws ClassNotFoundException Class of a serialized object cannot be found .
public void loadBigData(@Nullable PermanentBlobService blobService)
			throws IOException, ClassNotFoundException {
		if (serializedJobInformation instanceof Offloaded) {
			PermanentBlobKey jobInfoKey = ((Offloaded<JobInformation>) serializedJobInformation).serializedValueKey;
			Preconditions.checkNotNull(blobService);
			final File dataFile = blobService.getFile(jobId, jobInfoKey);
			SerializedValue<JobInformation> serializedValue =
				SerializedValue.fromBytes(Files.readAllBytes(dataFile.toPath()));
			serializedJobInformation = new NonOffloaded<>(serializedValue);
		}
		if (serializedTaskInformation instanceof Offloaded) {
			PermanentBlobKey taskInfoKey = ((Offloaded<TaskInformation>) serializedTaskInformation).serializedValueKey;
			Preconditions.checkNotNull(blobService);
			final File dataFile = blobService.getFile(jobId, taskInfoKey);
			SerializedValue<TaskInformation> serializedValue =
				SerializedValue.fromBytes(Files.readAllBytes(dataFile.toPath()));
			serializedTaskInformation = new NonOffloaded<>(serializedValue);
		}
		Preconditions.checkNotNull(serializedJobInformation);
		Preconditions.checkNotNull(serializedTaskInformation);
	}
public void loadBigData ( @ Nullable PermanentBlobService blobService ) throws IOException , ClassNotFoundException { if ( serializedJobInformation instanceof Offloaded ) { PermanentBlobKey jobInfoKey = ( ( Offloaded < JobInformation > ) serializedJobInformation ) . serializedValueKey ; Preconditions . checkNotNull ( blobService ) ; final File dataFile = blobService . getFile ( jobId , jobInfoKey ) ; SerializedValue < JobInformation > serializedValue = SerializedValue . fromBytes ( Files . readAllBytes ( dataFile . toPath ( ) ) ) ; serializedJobInformation = new NonOffloaded < > ( serializedValue ) ; } if ( serializedTaskInformation instanceof Offloaded ) { PermanentBlobKey taskInfoKey = ( ( Offloaded < TaskInformation > ) serializedTaskInformation ) . serializedValueKey ; Preconditions . checkNotNull ( blobService ) ; final File dataFile = blobService . getFile ( jobId , taskInfoKey ) ; SerializedValue < TaskInformation > serializedValue = SerializedValue . fromBytes ( Files . readAllBytes ( dataFile . toPath ( ) ) ) ; serializedTaskInformation = new NonOffloaded < > ( serializedValue ) ; } Preconditions . checkNotNull ( serializedJobInformation ) ; Preconditions . checkNotNull ( serializedTaskInformation ) ; }
Loads externalized data from the BLOB store back to the object.
Loads externalized data from the BLOB store back to the object .
// re-integrate offloaded job info from blob // here, if this fails, we need to throw the exception as there is no backup path anymore // NOTE: Do not delete the job info BLOB since it may be needed again during recovery. //       (it is deleted automatically on the BLOB server and cache when the job //       enters a terminal state) // re-integrate offloaded task info from blob // NOTE: Do not delete the task info BLOB since it may be needed again during recovery. //       (it is deleted automatically on the BLOB server and cache when the job //       enters a terminal state) // make sure that the serialized job and task information fields are filled