GitHub user tillrohrmann opened a pull request:
https://github.com/apache/flink/pull/5353
[FLINK-8503] [flip6] Display TaskExecutor logs and stdout files in web ui
## What is the purpose of the change
Introduce the AbstractHandler which takes a typed request and returns an
untyped
response. The AbstractRestHandler extends the AbstractHandler to add typed
reponses.
Introduce AbstractTaskManagerFileHandler which encapsulates the file
loading logic.
Upon request of a TaskManager file, the handler will trigger the file
upload via
the ResourceManager. The returned TransientBlobKey is then downloaded via
the
TransientBlobService. Once downloaded, the file is served to the client.
Each
transient blob key is cached for maximum duration after which it is purged
and has
to be reuploaded by the TaskExecutor.
This PR is based on #5341
## Brief change log
- Introduced untyped response handler `AbstractHandler`
- Added `AbstractTaskManagerFileHandler` which is responsible for serving
files from the `TaskExecutor`
- The `AbstractTaskManagerFileHandler` triggers the file upload via the
`ResourceManager` which knows the `TaskExecutors`, additionally it caches the
`TransientBlobKeys` in order to not always trigger a file upload
- Added `TaskManagerLogFileHandler` to serve the log file
- Added `TaskManagerStdoutFileHandler` to serve the stdout file
## Verifying this change
- Added `AbstractTaskManagerFileHandlerTest`
- Tested functionality manually
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (no)
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: (no)
- The serializers: (no)
- The runtime per-record code paths (performance sensitive): (no)
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
- The S3 file system connector: (no)
## Documentation
- Does this pull request introduce a new feature? (no)
- If yes, how is the feature documented? (not applicable)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/tillrohrmann/flink
enableTaskManagerLogRetrieval
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/5353.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 #5353
----
commit b9db2ab22c346ec64363b446ed23692af1365239
Author: Till Rohrmann <trohrmann@...>
Date: 2018-01-23T18:12:27Z
[FLINK-8501] [flip6] Use single BlobCacheService per TaskExecutor
Instead of creating for each new JobManagerConnection a dedicated
BlobCacheService
the TaskExecutor uses a single BlobCacheService which it shares between the
different JobManagerConnections. The initial BlobServer address is passed
by the
ResourceManager when the TaskExecutor registers at it. In order to avoid
the re-
creation of BlobCacheServices, this commit changes the behaviour such that
one can
update the BlobServer address.
commit 5bd4db619ff0e984477ead323345f5f7fa740626
Author: Till Rohrmann <trohrmann@...>
Date: 2018-01-24T12:41:53Z
[hotfix] [tests] Remove JobManagerRunnerMockTest
The JobManagerRunnerMockTest is completely ignored. Moreover, it tests
things with
heavy usage of Mockito which is hard to maintain.
commit c38adb65dd49150a03a2f5f7ea8d421b2ef34616
Author: Till Rohrmann <trohrmann@...>
Date: 2018-01-24T12:42:41Z
[FLINK-8502] [flip6] Remove LibraryCacheManager from JobMaster
This commit removes the LibraryCacheManager from the JobMaster since it is
no longer needed. The JobMaster is started with the correct user code class
loader and, thus, does not need the LibraryCacheManager.
This commit also corrects that the BlobServer is not closed by the
JobManagerServices#shutdown method.
commit eb3fed4ce96b4ce27f01d72f2dc76b151dbdd1ae
Author: Till Rohrmann <trohrmann@...>
Date: 2018-01-23T14:17:16Z
[FLINK-8495] [flip6] Enable main cluster component's log and stdout file
retrieval
This commit enables the log and stdout file retrieval of the cluster's main
component
via the web ui. This happens via the StaticFileServerHandler which serves
the log
and stdout file.
commit 23496241962c69ceb3ada9bd0d67c0344554cf99
Author: Till Rohrmann <trohrmann@...>
Date: 2018-01-23T17:27:28Z
[FLINK-8503] [flip6] Display TaskExecutor logs and stdout files in web ui
Introduce the AbstractHandler which takes a typed request and returns an
untyped
response. The AbstractRestHandler extends the AbstractHandler to add typed
reponses.
Introduce AbstractTaskManagerFileHandler which encapsulates the file
loading logic.
Upon request of a TaskManager file, the handler will trigger the file
upload via
the ResourceManager. The returned TransientBlobKey is then downloaded via
the
TransientBlobService. Once downloaded, the file is served to the client.
Each
transient blob key is cached for maximum duration after which it is purged
and has
to be reuploaded by the TaskExecutor.
----
---