[
https://issues.apache.org/jira/browse/FLUME-2812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15615772#comment-15615772
]
ASF GitHub Bot commented on FLUME-2812:
---------------------------------------
GitHub user adenes opened a pull request:
https://github.com/apache/flume/pull/83
FLUME-2812: Exception in thread
"SinkRunner-PollingRunner-DefaultSinkProcessor" java.lang.Error: Maximum permit
count exceeded
Fix semaphore leak causing `java.lang.Error: Maximum permit count exceeded`
in `MemoryChannel`
```java
Exception in thread "SinkRunner-PollingRunner-DefaultSinkProcessor"
java.lang.Error: Maximum permit count exceeded
at
java.util.concurrent.Semaphore$Sync.tryReleaseShared(Semaphore.java:192)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1341)
at java.util.concurrent.Semaphore.release(Semaphore.java:609)
at
org.apache.flume.channel.MemoryChannel$MemoryTransaction.doCommit(MemoryChannel.java:147)
at
org.apache.flume.channel.BasicTransactionSemantics.commit(BasicTransactionSemantics.java:151)
at
org.apache.flume.sink.AbstractRpcSink.process(AbstractRpcSink.java:379)
at
org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
at java.lang.Thread.run(Thread.java:745)
```
for more details and explanation see my comment on
[FLUME-2812](https://issues.apache.org/jira/browse/FLUME-2812)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/adenes/flume FLUME-2812
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flume/pull/83.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 #83
----
commit 538837d5c035461c9b3073a2ce89da375aa139f3
Author: Denes Arvay <[email protected]>
Date: 2016-10-28T15:38:33Z
FLUME-2812: Exception in thread
"SinkRunner-PollingRunner-DefaultSinkProcessor" java.lang.Error: Maximum permit
count exceeded
Change-Id: Ib6761364abefca91ca50d80c073637766bfd93ca
----
> Exception in thread "SinkRunner-PollingRunner-DefaultSinkProcessor"
> java.lang.Error: Maximum permit count exceeded
> ------------------------------------------------------------------------------------------------------------------
>
> Key: FLUME-2812
> URL: https://issues.apache.org/jira/browse/FLUME-2812
> Project: Flume
> Issue Type: Bug
> Components: Channel, Sinks+Sources
> Affects Versions: v1.6.0
> Environment: **OS INFO**
> CentOS release 6.6 (Final)
> Kernel \r on an \m
> **JAVA INFO**
> java version "1.8.0_40"
> Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
> Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
> Reporter: Rollin Crittendon
> Assignee: Denes Arvay
> Priority: Critical
>
> We are finding that around after an hour or so of heavy processing of Flume
> data in an agent we are getting the following exception. This is after
> processing about 5-7 k lines/second during that time.
> The configuration of this agent is using a Kafka source, the one that comes
> with 1.6.0.
> It is also using a Memory channel, and a Thrift sink.
> =======
> Exception in thread "SinkRunner-PollingRunner-DefaultSinkProcessor"
> java.lang.Error: Maximum permit count exceeded
> at
> java.util.concurrent.Semaphore$Sync.tryReleaseShared(Semaphore.java:192)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1341)
> at java.util.concurrent.Semaphore.release(Semaphore.java:609)
> at
> org.apache.flume.channel.MemoryChannel$MemoryTransaction.doCommit(MemoryChannel.java:147)
> at
> org.apache.flume.channel.BasicTransactionSemantics.commit(BasicTransactionSemantics.java:151)
> at
> org.apache.flume.sink.AbstractRpcSink.process(AbstractRpcSink.java:379)
> at
> org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
> at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
> at java.lang.Thread.run(Thread.java:745)
> =======
> The above error is from standard error when running the Flume agent. The
> effect is that the "SinkRunner-PollingRunner-DefaultSinkProcessor" thread
> disappears from the agent, this can be seen on a JMX console.
> For us, this means that the Flume agent needs to get restarted. It is an
> error that is terminal in that instance of the Java process due to the thread
> disappearing as a result.
> It sounds like something in JDK 7+ got stricter?!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)