Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/4358#discussion_r137266511
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/blob/BlobClient.java ---
@@ -220,19 +260,27 @@ InputStream getInternal(@Nullable JobID jobId,
BlobKey blobKey) throws IOExcepti
* ID of the job this blob belongs to (or <tt>null</tt> if
job-unrelated)
* @param blobKey
* blob key associated with the requested file
+ * @param permanentBlob
+ * whether the BLOB is permanent (<tt>true</tt>) or
transient (<tt>false</tt>)
*
* @throws IOException
* thrown if an I/O error occurs while writing the header data
to the output stream
*/
- private static void sendGetHeader(OutputStream outputStream, @Nullable
JobID jobId, BlobKey blobKey) throws IOException {
+ private static void sendGetHeader(
+ OutputStream outputStream, @Nullable JobID jobId,
BlobKey blobKey, boolean permanentBlob)
+ throws IOException {
checkNotNull(blobKey);
+ checkArgument(jobId != null || !permanentBlob, "permanent BLOBs
must be job-related");
// Signal type of operation
outputStream.write(GET_OPERATION);
// Send job ID and key
if (jobId == null) {
outputStream.write(CONTENT_NO_JOB);
+ } else if (permanentBlob) {
+ outputStream.write(CONTENT_FOR_JOB_HA);
--- End diff --
Does it make sense to rename this constant to `PERMANENT_JOB_CONTENT`?
---