streamnative / pulsar-archived

Apache Pulsar - distributed pub-sub messaging system
https://pulsar.apache.org
Apache License 2.0
72 stars 25 forks source link

ISSUE-13851: Transaction pending ack generate managedLedgerStats fail! #3597

Open sijie opened 2 years ago

sijie commented 2 years ago

Original Issue: apache/pulsar#13851


I use the helm to deploy the pulsar 2.8.3. This is the broker's log.

06:30:43.212 [prometheus-stats-42-1] WARN org.apache.pulsar.broker.stats.prometheus.TransactionAggregator - Transaction pending ack generate managedLedgerStats fail! java.util.concurrent.ExecutionException: org.apache.pulsar.broker.service.BrokerServiceException$NotAllowedException: Pending ack handle don't use managedLedger! at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999) ~[?:?] at org.apache.pulsar.broker.stats.prometheus.TransactionAggregator.lambda$null$0(TransactionAggregator.java:66) ~[io.streamnative-pulsar-broker-2.8.0.8.jar:2.8.0.8] at java.util.ArrayList.forEach(ArrayList.java:1541) ~[?:?] at org.apache.pulsar.broker.stats.prometheus.TransactionAggregator.lambda$null$1(TransactionAggregator.java:62) ~[io.streamnative-pulsar-broker-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap$Section.forEach(ConcurrentOpenHashMap.java:387) ~[io.streamnative-pulsar-common-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap.forEach(ConcurrentOpenHashMap.java:159) ~[io.streamnative-pulsar-common-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.broker.stats.prometheus.TransactionAggregator.lambda$null$2(TransactionAggregator.java:60) ~[io.streamnative-pulsar-broker-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap$Section.forEach(ConcurrentOpenHashMap.java:387) ~[io.streamnative-pulsar-common-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap.forEach(ConcurrentOpenHashMap.java:159) ~[io.streamnative-pulsar-common-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.broker.stats.prometheus.TransactionAggregator.lambda$generate$3(TransactionAggregator.java:59) ~[io.streamnative-pulsar-broker-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap$Section.forEach(ConcurrentOpenHashMap.java:387) ~[io.streamnative-pulsar-common-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap.forEach(ConcurrentOpenHashMap.java:159) ~[io.streamnative-pulsar-common-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.broker.stats.prometheus.TransactionAggregator.generate(TransactionAggregator.java:57) ~[io.streamnative-pulsar-broker-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.broker.stats.prometheus.PrometheusMetricsGenerator.generate(PrometheusMetricsGenerator.java:110) ~[io.streamnative-pulsar-broker-2.8.0.8.jar:2.8.0.8] at org.apache.pulsar.broker.stats.prometheus.PrometheusMetricsServlet.lambda$doGet$0(PrometheusMetricsServlet.java:75) ~[io.streamnative-pulsar-broker-2.8.0.8.jar:2.8.0.8] at org.apache.bookkeeper.mledger.util.SafeRun$1.safeRun(SafeRun.java:32) [io.streamnative-managed-ledger-2.8.0.8.jar:2.8.0.8] at org.apache.bookkeeper.common.util.SafeRunnable.run(SafeRunnable.java:36) [org.apache.bookkeeper-bookkeeper-common-4.14.1.jar:4.14.1] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.66.Final.jar:4.1.66.Final] at java.lang.Thread.run(Thread.java:829) [?:?] Caused by: org.apache.pulsar.broker.service.BrokerServiceException$NotAllowedException: Pending ack handle don't use managedLedger! at org.apache.pulsar.broker.service.persistent.PersistentSubscription.getPendingAckManageLedger(PersistentSubscription.java:1204) ~[io.streamnative-pulsar-broker-2.8.0.8.jar:2.8.0.8] ... 23 more

github-actions[bot] commented 2 years ago

The issue had no activity for 30 days, mark with Stale label.