tree 695df56ba305435514daac56fc07d5ef968da5ce
parent ee0ea3a6f9ffb42d4ec129eb689d3c1059e5f4a8
author Michael Marshall <mmarshall@apache.org> 1660237117 -0500
committer GitHub <noreply@github.com> 1660237117 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJi9TU+CRBK7hj4Ov3rIwAAhwAIAHSs0pb223E268/4Xrr9irio
 kdoBQ4od6VpqUq8YzdPmkJIti2P2q1lmMQogayrkDi1438oei7dvXOlHndlkW9V+
 ln4Ao+Zl+h2IaU0v/DWqnwZDSFPiPv+PNeI0Bum/h2SQmKCXL3qsi4jcjQwyshVs
 lXV5SwCUNylt50eice1BPNdEsSCrmRA0tAKP866G5PYOA/FQAWeUUBgC9wJ3Ft9P
 I57XbvbXBOdZrltVqhhKqGPl7TsSfp61ZI7dUTngXaNoP7/fWZmGGz/T1u+XfhjD
 tw/uuGRG2fR6gNHZqOMCN4tvkH8+vFRsbQf5ELb+fZl5tkCltCVGvRR9xMG6zwo=
 =bgNY
 -----END PGP SIGNATURE-----
 

[imp][java client] lastBatchSendNanoTime initialization (#17058)

### Motivation

https://github.com/apache/pulsar/pull/14185 had a minor bug in that the first message sent to the producer would always deliver because `lastBatchSendNanoTime` was not initialized correctly. In https://github.com/apache/pulsar/pull/15406, we improved the initialization, but I am concerned that it didn't completely solve the problem because the counter is initialized before grabbing the connection, which will often take longer than the `batchingMaxPublishDelayMicros`, which defaults to 1 millisecond. This PR aims to solve the underlying problem by only initializing the timer once the producer is connected to the topic. Note that this change aligns with the original behavior, which started the scheduled task once the producer connected to the topic.

If possible, I hope to get this merged and cherry-picked to branch-2.11 as soon as possible.

### Modifications

* Update the `batchFlushTask()` method to handle the initialization case for `lastBatchSendNanoTime`.
* Remove the initialization for `lastBatchSendNanoTime` in the constructor.

### Verifying this change

This test is fairly trivial to verify, but is hard to test for. I manually verified using debug logs to see that the time is correctly initialized on the first run and not afterwards.

### Documentation

- [x] `doc-not-needed` 