thetumbled commented on code in PR #23582:
URL: https://github.com/apache/pulsar/pull/23582#discussion_r1836158569
##########
pulsar-client/src/main/java/org/apache/pulsar/client/impl/NegativeAcksTracker.java:
##########
@@ -30,15 +30,17 @@
import java.util.concurrent.TimeUnit;
import org.apache.pulsar.client.api.Message;
import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageIdAdv;
import org.apache.pulsar.client.api.RedeliveryBackoff;
import org.apache.pulsar.client.impl.conf.ConsumerConfigurationData;
+import org.apache.pulsar.common.util.collections.ConcurrentLongLongPairHashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
class NegativeAcksTracker implements Closeable {
private static final Logger log =
LoggerFactory.getLogger(NegativeAcksTracker.class);
- private HashMap<MessageId, Long> nackedMessages = null;
+ private ConcurrentLongLongPairHashMap nackedMessages = null;
Review Comment:
- It seems that `partitionIndex` field is unnecessary, so we can use
`HashMap<Pair<Long, Long>, Long>` too, mapping `(ledgerId, entryId)` to
`timestamp`, I will supplement the test for this option.
- The size of memory consumption is not related to the detailed content of
the field, each long field take up 8 byte, which is an invariable. But i will
improve the test data in the next test by the way.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]