[
https://issues.apache.org/jira/browse/FLINK-27204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17707901#comment-17707901
]
Wencong Liu commented on FLINK-27204:
-------------------------------------
I prepare to modify the return value of three methods in JobResultStore, like
this
{code:java}
public interface JobResultStore2 {
void createDirtyResult(JobResultEntry jobResultEntry) throws IOException,
IllegalStateException;
void markResultAsClean(JobID jobId) throws IOException,
NoSuchElementException;
default boolean hasJobResultEntry(JobID jobId) throws IOException{};
CompletedFuture<Boolean> hasDirtyJobResultEntry(JobID jobId) throws
IOException;
CompletedFuture<Boolean> hasCleanJobResultEntry(JobID jobId) throws
IOException;
CompletedFuture<Set<JobResult>> getDirtyResults() throws IOException;
} {code}
WDYT? [~mapohl]
> FileSystemJobResultStore should operator on the ioExecutor
> ----------------------------------------------------------
>
> Key: FLINK-27204
> URL: https://issues.apache.org/jira/browse/FLINK-27204
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Coordination
> Affects Versions: 1.16.0
> Reporter: Matthias Pohl
> Assignee: Wencong Liu
> Priority: Major
>
> The {{JobResultStore}} interface is synchronous currently. For the
> {{FileSystemJobResultStore}} this means that (possibly) IO-heavy operations
> have to be explicitly called moved to the ioExecutor within the Dispatcher.
> Instead, we could change the {{JobResultStore}} interface in a way that it
> returns {{CompletableFuture}} instances instead. That would enable us to run
> the {{FileSystemJobResultStore}} operations in the ioExecutor which would be
> set when initializing the {{{}FileSystemJobResultStore{}}}. This would move
> the responsibility of where to run the operation from the {{Dispatcher}} into
> the {{JobResultStore.}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)