[
https://issues.apache.org/jira/browse/BOOKKEEPER-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13211752#comment-13211752
]
Flavio Junqueira commented on BOOKKEEPER-113:
---------------------------------------------
In that long call chain, it looks like there are multiple places where we can
get an NPE from. Also, checking for null and executing the operation are not
atomic, so it can still break. That's my rationale at least...
> NPE In BookKeeper test
> ----------------------
>
> Key: BOOKKEEPER-113
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-113
> Project: Bookkeeper
> Issue Type: Bug
> Reporter: Flavio Junqueira
> Priority: Minor
> Attachments: BOOKKEEPER-113.patch
>
>
> This is not correctness issue, but it is ugly to throw an NPE there.
> {noformat}
> Running org.apache.bookkeeper.test.BookieFailureTest
> Nov 17, 2011 2:48:28 PM org.jboss.netty.channel.DefaultChannelFuture
> WARNING: An exception was thrown by ChannelFutureListener.
> java.lang.NullPointerException
> at
> org.apache.bookkeeper.proto.PerChannelBookieClient.addEntry(PerChannelBookieClient.java:231)
> at
> org.apache.bookkeeper.proto.BookieClient$1.operationComplete(BookieClient.java:85)
> at
> org.apache.bookkeeper.proto.BookieClient$1.operationComplete(BookieClient.java:78)
> at
> org.apache.bookkeeper.proto.PerChannelBookieClient$1.operationComplete(PerChannelBookieClient.java:158)
> at
> org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:381)
> at
> org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:372)
> at
> org.jboss.netty.channel.DefaultChannelFuture.setSuccess(DefaultChannelFuture.java:316)
> at
> org.jboss.netty.channel.socket.nio.NioWorker$RegisterTask.run(NioWorker.java:767)
> at
> org.jboss.netty.channel.socket.nio.NioWorker.processRegisterTaskQueue(NioWorker.java:256)
> at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:198)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:680)
> {noformat}
> The fix should be trivial, though.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira