devinbost commented on issue #6054: URL: https://github.com/apache/pulsar/issues/6054#issuecomment-833830025
For some reason, this line isn't getting called: https://github.com/devinbost/pulsar/blob/959a04fee8becd78ff655a646a9d0d3402f20c39/[…]t/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java `cnx.ctx().writeAndFlush(cmd, cnx.ctx().voidPromise());` I added more debug lines, and the debug lines just before and just after that method are getting called. ``` @Override public void run() { log.debug("Calling ProducerImpl.WriteInEventLoopCallback.run(..) for OpSendMsg {}", op.toString()); if (log.isDebugEnabled()) { log.debug("[{}] [{}] Sending message cnx {}, sequenceId {}", producer.topic, producer.producerName, cnx, sequenceId); } try { cnx.ctx().writeAndFlush(cmd, cnx.ctx().voidPromise()); log.debug("Called ProducerImpl.WriteInEventLoopCallback.run(..) for OpSendMsg {}", op.toString()); op.updateSentTimestamp(); } finally { log.debug("About to call recycle() in ProducerImpl.WriteInEventLoopCallback"); recycle(); } } ``` The reason I think there's a problem with `cnx.ctx().writeAndFlush(cmd, cnx.ctx().voidPromise());` is because I just randomly stop receiving calls to `PulsarDecoder.channelRead(..)` for the case `SEND_RECEIPT` (https://github.com/apache/pulsar/blob/3bd443cc7056417a8321998b62224035253ace18/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/PulsarDecoder.java#L219), so the command isn't getting through the Netty channel. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
