Skip to content

Commit b759794

Browse files
committed
[FLINK-33354][runtime] Using the InputStream instead of byte array to avoid contiguous huge memory usage
1 parent b1786ba commit b759794

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

flink-runtime/src/main/java/org/apache/flink/runtime/deployment/TaskDeploymentDescriptor.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,17 @@
2828
import org.apache.flink.runtime.executiongraph.JobInformation;
2929
import org.apache.flink.runtime.executiongraph.TaskInformation;
3030
import org.apache.flink.runtime.util.GroupCache;
31-
import org.apache.flink.util.FileUtils;
3231
import org.apache.flink.util.InstantiationUtil;
3332
import org.apache.flink.util.Preconditions;
3433
import org.apache.flink.util.SerializedValue;
3534

3635
import javax.annotation.Nullable;
3736

37+
import java.io.BufferedInputStream;
3838
import java.io.File;
3939
import java.io.IOException;
4040
import java.io.Serializable;
41+
import java.nio.file.Files;
4142
import java.util.List;
4243

4344
/**
@@ -281,7 +282,7 @@ public void loadBigData(
281282
// enters a terminal state)
282283
jobInformation =
283284
InstantiationUtil.deserializeObject(
284-
FileUtils.readAllBytes(dataFile.toPath()),
285+
new BufferedInputStream(Files.newInputStream(dataFile.toPath())),
285286
getClass().getClassLoader());
286287
jobInformationCache.put(jobId, jobInfoKey, jobInformation);
287288
}
@@ -303,7 +304,7 @@ public void loadBigData(
303304
// enters a terminal state)
304305
taskInformation =
305306
InstantiationUtil.deserializeObject(
306-
FileUtils.readAllBytes(dataFile.toPath()),
307+
new BufferedInputStream(Files.newInputStream(dataFile.toPath())),
307308
getClass().getClassLoader());
308309
taskInformationCache.put(jobId, taskInfoKey, taskInformation);
309310
}

0 commit comments

Comments
 (0)