[
https://issues.apache.org/jira/browse/FLINK-9860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16547801#comment-16547801
]
ASF GitHub Bot commented on FLINK-9860:
---------------------------------------
GitHub user NicoK opened a pull request:
https://github.com/apache/flink/pull/6363
[FLINK-9860][REST] fix buffer leak in FileUploadHandler
## What is the purpose of the change
The current implementation of `FileUploadHandler` has two cases where the
given message was not released or forwarded for some other handler to release.
## Brief change log
- change the use of SimpleChannelInboundHandler to auto-release objects and
make sure we retain them only when needed
## Verifying this change
This change added tests and can be verified as follows:
- adapted `FileUploadHandlerTest` to use a customized (Netty) leak detector
that does not only log but fails with an assertion
- enable `ERROR` logging level for
`log4j.logger.org.apache.flink.shaded.netty4.io.netty.util.ResourceLeakDetector`
in all unit tests in `flink-runtime` - the leak detector will otherwise not
report anything
## 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/NicoK/flink flink-9860
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/6363.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 #6363
----
----
> Netty resource leak on receiver side
> ------------------------------------
>
> Key: FLINK-9860
> URL: https://issues.apache.org/jira/browse/FLINK-9860
> Project: Flink
> Issue Type: Bug
> Components: Network
> Affects Versions: 1.5.1, 1.6.0
> Reporter: Till Rohrmann
> Assignee: Nico Kruber
> Priority: Blocker
> Labels: pull-request-available, test-stability
> Fix For: 1.5.2, 1.6.0
>
>
> The Hadoop-free Wordcount end-to-end test fails with the following exception:
> {code}
> ERROR org.apache.flink.shaded.netty4.io.netty.util.ResourceLeakDetector -
> LEAK: ByteBuf.release() was not called before it's garbage-collected. See
> http://netty.io/wiki/reference-counted-objects.html for more information.
> Recent access records:
> Created at:
>
> org.apache.flink.shaded.netty4.io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:331)
>
> org.apache.flink.shaded.netty4.io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:185)
>
> org.apache.flink.shaded.netty4.io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:176)
>
> org.apache.flink.shaded.netty4.io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:137)
>
> org.apache.flink.shaded.netty4.io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle.allocate(DefaultMaxMessagesRecvByteBufAllocator.java:114)
>
> org.apache.flink.shaded.netty4.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:147)
>
> org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
>
> org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
>
> org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
>
> org.apache.flink.shaded.netty4.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
>
> org.apache.flink.shaded.netty4.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
>
> org.apache.flink.shaded.netty4.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> {code}
> We might have a resource leak on the receiving side of our network stack.
> https://api.travis-ci.org/v3/job/404225956/log.txt
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)