[
https://issues.apache.org/jira/browse/FLINK-6008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16067956#comment-16067956
]
ASF GitHub Bot commented on FLINK-6008:
---------------------------------------
Github user NicoK commented on a diff in the pull request:
https://github.com/apache/flink/pull/4146#discussion_r124734798
--- Diff:
flink-runtime/src/test/java/org/apache/flink/runtime/blob/BlobServerPutTest.java
---
@@ -59,6 +60,110 @@
private final Random rnd = new Random();
+
+ // --- concurrency tests for utility methods which could fail during
the put operation ---
+
+ /**
+ * Checked thread that calls {@link
BlobServer#getStorageLocation(BlobKey)}
+ */
+ public static class ContentAddressableGetStorageLocation extends
CheckedThread {
+ private final BlobServer server;
+ private final BlobKey key;
+
+ public ContentAddressableGetStorageLocation(BlobServer server,
BlobKey key) {
+ this.server = server;
+ this.key = key;
+ }
+
+ @Override
+ public void go() throws Exception {
+ server.getStorageLocation(key);
--- End diff --
Unfortunately, concurrency with `delete` operations does not work either if
not guarded - the directory may not exist anymore between
`jobDirectory.mkdirs()` and `jobDirectory.exists()`. I was able to reproduce
the error with the existing test though - if you want to try it, just change
the order of these two commands back - the test will not hit every time, but
some times.
> collection of BlobServer improvements
> -------------------------------------
>
> Key: FLINK-6008
> URL: https://issues.apache.org/jira/browse/FLINK-6008
> Project: Flink
> Issue Type: Improvement
> Components: Network
> Affects Versions: 1.3.0
> Reporter: Nico Kruber
> Assignee: Nico Kruber
>
> The following things should be improved around the BlobServer/BlobCache:
> * update config uptions with non-deprecated ones, e.g.
> {{high-availability.cluster-id}} and {{high-availability.storageDir}}
> * promote {{BlobStore#deleteAll(JobID)}} to the {{BlobService}}
> * extend the {{BlobService}} to work with {{NAME_ADDRESSABLE}} blobs
> (prepares FLINK-4399]
> * remove {{NAME_ADDRESSABLE}} blobs after job/task termination
> * do not fail the {{BlobServer}} when a delete operation fails
> * code style, like using {{Preconditions.checkArgument}}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)