[ 
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)

Reply via email to