codelipenghui opened a new pull request #11629:
URL: https://github.com/apache/pulsar/pull/11629
If we have many ledgers in a managed ledger, for checking if need to delete
the offloaded ledger from bookies,
for each ledger, will call getOffloadPolicies() from the Offloader. For the
BlobStoreManagedLedgerOffloader we
are generate the offload policies from the properties for each getting
operation(Maybe need another PR to find way to optimize this part). This will
lead to high CPU usage
Stack:
```
"bookkeeper-ml-workers-OrderedExecutor-4-0" #68 prio=5 os_prio=0
tid=0x00007f23663d8000 nid=0xae runnable [0x00007f22b8ac2000]
java.lang.Thread.State: RUNNABLE
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.pulsar.common.util.FieldParser.convert(FieldParser.java:119)
at org.apache.pulsar.common.util.FieldParser.value(FieldParser.java:194)
at
org.apache.pulsar.common.policies.data.OffloadPolicies.lambda$create$0(OffloadPolicies.java:265)
at
org.apache.pulsar.common.policies.data.OffloadPolicies$$Lambda$127/540923243.accept(Unknown
Source)
at
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at
java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
at
org.apache.pulsar.common.policies.data.OffloadPolicies.create(OffloadPolicies.java:261)
at
org.apache.bookkeeper.mledger.offload.jcloud.impl.BlobStoreManagedLedgerOffloader.getOffloadPolicies(BlobStoreManagedLedgerOffloader.java:303)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl.isOffloadedNeedsDelete(ManagedLedgerImpl.java:2091)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl.internalTrimConsumedLedgers(ManagedLedgerImpl.java:2176)
- locked <0x00000006a3f2c000> (a
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl.lambda$trimConsumedLedgersInBackground$24(ManagedLedgerImpl.java:1997)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl$$Lambda$722/254878114.run(Unknown
Source)
at org.apache.bookkeeper.mledger.util.SafeRun$1.safeRun(SafeRun.java:32)
at
org.apache.bookkeeper.common.util.SafeRunnable.run(SafeRunnable.java:36)
at
org.apache.bookkeeper.common.util.OrderedExecutor$TimedRunnable.run(OrderedExecutor.java:203)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
```
--
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]