You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Sijie Guo (JIRA)" <ji...@apache.org> on 2014/09/12 07:10:34 UTC

[jira] [Updated] (BOOKKEEPER-783) Avoid running out of fds in MutlipleThreadReadTest

     [ https://issues.apache.org/jira/browse/BOOKKEEPER-783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sijie Guo updated BOOKKEEPER-783:
---------------------------------
    Attachment: BOOKKEEPER-783.patch

test1Ledger50ThreadsRead will create 50 bookkeeper clients, which hence would create 50 zookeeper clients, and each bookkeeper client would connect to 6 bookies, which might be the reason that cause running out of fds.

attached a patch:

- use one single bookkeeper client for reads. which would reduce the number of connections spawn for this test case.
- reduce the number of entries writes/reads
- reduce the number of threads for test1Ledger50ThreadsRead

> Avoid running out of fds in MutlipleThreadReadTest
> --------------------------------------------------
>
>                 Key: BOOKKEEPER-783
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-783
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-server
>            Reporter: Sijie Guo
>            Assignee: Sijie Guo
>              Labels: test
>             Fix For: 4.3.0
>
>         Attachments: BOOKKEEPER-783.patch
>
>
> {code}
> org.jboss.netty.channel.ChannelException: Failed to create a selector.
> 	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:343)
> 	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.<init>(AbstractNioSelector.java:100)
> 	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.<init>(AbstractNioWorker.java:52)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.<init>(NioWorker.java:45)
> 	at org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:45)
> 	at org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:28)
> 	at org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.newWorker(AbstractNioWorkerPool.java:143)
> 	at org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.init(AbstractNioWorkerPool.java:81)
> 	at org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:39)
> 	at org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:33)
> 	at org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.<init>(NioClientSocketChannelFactory.java:151)
> 	at org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.<init>(NioClientSocketChannelFactory.java:116)
> 	at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper.java:204)
> 	at org.apache.bookkeeper.client.BookKeeperTestClient.<init>(BookKeeperTestClient.java:50)
> 	at org.apache.bookkeeper.test.MultipleThreadReadTest.createClients(MultipleThreadReadTest.java:73)
> 	at org.apache.bookkeeper.test.MultipleThreadReadTest.multiLedgerMultiThreadRead(MultipleThreadReadTest.java:282)
> 	at org.apache.bookkeeper.test.MultipleThreadReadTest.test1Ledger50ThreadsRead(MultipleThreadReadTest.java:326)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> 	at org.junit.internal.runners.statements.FailOnTimeout$1.run(FailOnTimeout.java:28)
> Caused by: java.io.IOException: Too many open files
> 	at sun.nio.ch.EPollArrayWrapper.epollCreate(Native Method)
> 	at sun.nio.ch.EPollArrayWrapper.<init>(EPollArrayWrapper.java:69)
> 	at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:52)
> 	at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:18)
> 	at java.nio.channels.Selector.open(Selector.java:209)
> 	at org.jboss.netty.channel.socket.nio.SelectorUtil.open(SelectorUtil.java:63)
> 	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:341)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)