GitHub user NicoK opened a pull request:
https://github.com/apache/flink/pull/2891
[FLINK-5129] make the BlobServer use a distributed file system
Previously, the BlobServer held a local copy and in case high availability
(HA)
is set, it also copied jar files to a distributed file system. Upon restore,
these files were copied to local store from which they are used.
This PR abstracts the BlobServer's backing file system and makes it use the
distributed file system directly in HA mode, i.e. without the local file
system
copy. Other than that the behaviour should not change.
Secondly, BlobCache instances at the task managers also make use of this
distributed file system and download files from there instead of bothering
the blob server. As before, however, distributed files may only be deleted
by the blob server. If the distributed file system is not accessible at the
blob
caches, the old behaviour is used.
* BlobServer: include the cluster id in the HA storage path for blobs
* make the BlobServer use the HA filesystem back-end properly:
* make the BlobCache also use a distributed file system in HA mode
@uce can you have a look?
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/NicoK/flink FLINK-5129
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/2891.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2891
commit b65e74dd92bdf74b2816a0d8a26a5ebaa25ca586
Author: Nico Kruber
Date: 2016-11-22T11:49:03Z
[hotfix] remove unused package-private BlobUtils#copyFromRecoveryPath
This was actually the same implementation as
FileSystemBlobStore#get(java.lang.String, java.io.File) and either of the
two
could have been removed but the implementation makes most sense at the
concrete file system abstraction layer, i.e. in FileSystemBlobStore.
commit 09bdd49e6282268fd9c1b2672f0ea6222e097ca2
Author: Nico Kruber
Date: 2016-11-23T15:11:35Z
[hotfix] do not create intermediate strings inside String.format in
BlobUtils
commit 93938ff97fef9e39c17ac795e1e89ca9de25e028
Author: Nico Kruber
Date: 2016-11-24T16:11:19Z
[hotfix] properly shut down the BlobServer in BlobServerRangeTest
commit c0c9d2239a767154d6071171d4c33e762e01aa62
Author: Nico Kruber
Date: 2016-11-24T17:50:43Z
[FLINK-5129] BlobServer: include the cluster id in the HA storage path for
blobs
Also use JUnit's TemporaryFolder in BlobRecoveryITCase, too. This makes
cleaning up simpler.
commit 8b9c7d9fd6e1ab3c7f2175a31d0e29b41b01cc61
Author: Nico Kruber
Date: 2016-11-23T18:50:52Z
[FLINK-5129] make the BlobCache use the HA filesystem back-end properly
Previously, the BlobServer holds a local copy and in case high availability
(HA)
is set, it also copies jar files to a distributed file system. Upon restore,
these files are copied to local store from which they are used.
This commit abstracts the BlobServer's backing file system and makes it use
the
distributed file system directly in HA mode, i.e. without the local file
system
copy. Other than that the behaviour does not change.
commit 249b2ea48f19c54498faa56ad45d299efaad4521
Author: Nico Kruber
Date: 2016-11-25T16:42:05Z
[FLINK-5129] make the BlobCache also use a distributed file system in HA
mode
* re-factor the file system abstraction in FileSystemBlobStore so that it
can
be used by the task managers, too, which should not be able to delete
files
in a distributed file system shared among different nodes
* only download blobs from the blob server if not in HA mode or the
distributed
file system is not accessible by the BlobCache, e.g. at the task managers
commit dd69f65a47205eb55ac8cc2c8f3aa9f7232dc8ba
Author: Nico Kruber
Date: 2016-11-28T10:42:13Z
[FLINK-5129] restore non-HA mode unique directory setup in the blob server
and cache
If not in high availability mode, local (and now also distributed) file
systems
again try to set up a unique directory structure so that other instances
with
the same configuration file or storage path do not interfere.
This was lost in 8b9c7d9fd6.
commit 76ccc9ffaaa63d6e0bd55ba7f6c08f8c1cff98cb
Author: Nico Kruber
Date: 2016-11-28T15:19:20Z
[hotfix] add a missing "'" to FileSystemBlobStore
commit 53702add38d1087062e84a7e804b08920dfc0c23
Author: Nico Kruber
Date: 2016-11-28T15:41:11Z
[FLINK-5129] move path-related methods from BlobUtils to
FileSystemBlobStore