You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by Apache Pulsar Slack <ap...@gmail.com> on 2020/04/28 09:11:03 UTC

Slack digest for #dev - 2020-04-28

2020-04-27 10:41:18 UTC - Yuvaraj Loganathan: Thanks @Sijie Guo
----
2020-04-27 11:02:03 UTC - Sajith Sebastian: @Sajith Sebastian has joined the channel
----
2020-04-27 17:39:16 UTC - Hi Im Fyodor: @Hi Im Fyodor has joined the channel
----
2020-04-27 19:42:25 UTC - Addison Higham: hrm.... I think I found a few bugs with partitioned topics and geo-replication clusters in 2.5.1 (perhaps a regression?)
First bug:
With a manually created partitioned topics in a cluster with replication. The cluster I create the topic on is fine, but I get the following exception on one of the replication clusters:
```java.lang.ClassCastException: org.apache.pulsar.common.policies.data.Policies cannot be cast to org.apache.pulsar.common.partition.PartitionedTopicMetadata
  at org.apache.pulsar.broker.service.BrokerService.lambda$fetchPartitionedTopicMetadataAsync$93(BrokerService.java:1893) ~[org.apache.pulsar-pulsar-broker-2.5.1.jar:2.5.1]
  at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:616) ~[?:1.8.0_252]
  at java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:628) ~[?:1.8.0_252]
  at java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1996) ~[?:1.8.0_252]
  at org.apache.pulsar.broker.service.BrokerService.fetchPartitionedTopicMetadataAsync(BrokerService.java:1891) ~[org.apache.pulsar-pulsar-broker-2.5.1.jar:2.5.1]
  at org.apache.pulsar.broker.service.BrokerService.lambda$fetchPartitionedTopicMetadataCheckAllowAutoCreationAsync$88(BrokerService.java:1835) ~[org.apache.pulsar-pulsar-broker-2.5.1.jar:2.5.1]
  at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:995) ~[?:1.8.0_252]
  at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2137) ~[?:1.8.0_252]
  at org.apache.pulsar.broker.service.BrokerService.fetchPartitionedTopicMetadataCheckAllowAutoCreationAsync(BrokerService.java:1834) ~[org.apache.pulsar-pulsar-broker-2.5.1.jar:2.5.1]
  at org.apache.pulsar.broker.admin.impl.PersistentTopicsBase.lambda$getPartitionedTopicMetadata$50(PersistentTopicsBase.java:1981) ~[org.apache.pulsar-pulsar-broker-2.5.1.jar:2.5.1]
  at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:995) ~[?:1.8.0_252]
  at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2137) ~[?:1.8.0_252]
  at org.apache.pulsar.broker.admin.impl.PersistentTopicsBase.getPartitionedTopicMetadata(PersistentTopicsBase.java:1980) ~[org.apache.pulsar-pulsar-broker-2.5.1.jar:2.5.1]
  at org.apache.pulsar.broker.service.ServerCnx.lambda$handlePartitionMetadataRequest$6(ServerCnx.java:367) ~[org.apache.pulsar-pulsar-broker-2.5.1.jar:2.5.1]
  at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:616) ~[?:1.8.0_252]
  at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:591) ~[?:1.8.0_252]
  at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_252]
  at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975) ~[?:1.8.0_252]
  at org.apache.pulsar.broker.authorization.AuthorizationService.lambda$canLookupAsync$3(AuthorizationService.java:276) ~[org.apache.pulsar-pulsar-broker-common-2.5.1.jar:2.5.1]
  at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774) [?:1.8.0_252]
  at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750) [?:1.8.0_252]
  at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) [?:1.8.0_252]
  at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575) [?:1.8.0_252]
  at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:943) [?:1.8.0_252]
  at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) [?:1.8.0_252]
  at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]```
and replication never starts. It also breaks `topics list` for that namespace a generic timeout error
----
2020-04-27 19:47:14 UTC - Addison Higham: second bug: with `allowAutoTopicCreationType: partitioned` and replication, both the "meta" partitioned topic AND the partitioned topics themselves end up in config store as a partitioned topic. As an example, if i have automatic creation of partitioned topics on and have a client in cluster A produce to `<persistent://util/foobar/baz>`, then when I do a `pulsar-admin topics list-partitioned-topics` both `<peristent://util/foobar/baz>` AND `<persistent://util/foobar/baz-partition-0>` show up as a result. Going into zookeeper, I see the keys at `/admin/partitioned-topics/util/foobar` has nodes for both and both have the same values.
This also causes issue with replication as it looks like both a root topic and an actual topic
----
2020-04-27 19:50:32 UTC - Addison Higham: @Penghui Li  It seems like you have been in that code a lot recently, IDK if you would have an idea of where that is likely going wrong?
----
2020-04-27 20:27:29 UTC - Addison Higham: looking deeper into the exception above, in ZK the policies all look correct, so i imagine that has to be a caching issue
----
2020-04-28 02:58:56 UTC - Penghui Li: @Addison Higham Thanks for your feedback, the second bug looks we need to handle auto partitioned topic creation for the replicator producer. Could you please help create two issues in Github? so that we can track them in 2.5.2 release.
----
2020-04-28 09:03:31 UTC - Erik Jansen: @Erik Jansen has joined the channel
----