You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/10/26 06:35:11 UTC
[pulsar] branch master updated: Fix: schema init for topic-name
with special char (#2836)
This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 000cc22 Fix: schema init for topic-name with special char (#2836)
000cc22 is described below
commit 000cc22277563c208237ea2bb6ae1ca53435d88f
Author: Rajan Dhabalia <rd...@apache.org>
AuthorDate: Thu Oct 25 23:35:06 2018 -0700
Fix: schema init for topic-name with special char (#2836)
* Fix: schema init for topic-name with special char
create namespace before starting test
fix test
* fix child test
---
.../broker/service/BrokerBkEnsemblesTests.java | 32 ++++++++++++++++++++--
.../pulsar/broker/service/RackAwareTest.java | 5 ++++
.../org/apache/pulsar/common/naming/TopicName.java | 2 +-
3 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/BrokerBkEnsemblesTests.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/BrokerBkEnsemblesTests.java
index cc82ff4..b7303c6 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/BrokerBkEnsemblesTests.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/BrokerBkEnsemblesTests.java
@@ -70,8 +70,7 @@ public class BrokerBkEnsemblesTests {
LocalBookkeeperEnsemble bkEnsemble;
- private final int ZOOKEEPER_PORT = PortManager.nextFreePort();
- protected final int BROKER_WEBSERVICE_PORT = PortManager.nextFreePort();
+ protected int BROKER_WEBSERVICE_PORT;
private final int numberOfBookies;
@@ -86,6 +85,8 @@ public class BrokerBkEnsemblesTests {
@BeforeMethod
protected void setup() throws Exception {
try {
+ int ZOOKEEPER_PORT = PortManager.nextFreePort();
+ BROKER_WEBSERVICE_PORT = PortManager.nextFreePort();
// start local bookie and zookeeper
bkEnsemble = new LocalBookkeeperEnsemble(numberOfBookies, ZOOKEEPER_PORT, () -> PortManager.nextFreePort());
bkEnsemble.start();
@@ -340,5 +341,32 @@ public class BrokerBkEnsemblesTests {
client.close();
}
+ @Test(timeOut=20000)
+ public void testTopicWithWildCardChar() throws Exception {
+ PulsarClient client = PulsarClient.builder().serviceUrl(adminUrl.toString()).statsInterval(0, TimeUnit.SECONDS)
+ .build();
+
+ final String ns1 = "prop/usc/topicWithSpecialChar";
+ try {
+ admin.namespaces().createNamespace(ns1);
+ } catch (Exception e) {
+
+ }
+
+ final String topic1 = "persistent://"+ns1+"/`~!@#$%^&*()-_+=[]://{}|\\;:'\"<>,./?-30e04524";
+ final String subName1 = "c1";
+ final byte[] content = "test".getBytes();
+
+ Consumer<byte[]> consumer = client.newConsumer().topic(topic1).subscriptionName(subName1).subscribe();
+ org.apache.pulsar.client.api.Producer<byte[]> producer = client.newProducer().topic(topic1).create();
+
+ producer.send(content);
+ Message<byte[]> msg = consumer.receive();
+ Assert.assertEquals(msg.getData(), content);
+ consumer.close();
+ producer.close();
+ client.close();
+ }
+
private static final Logger LOG = LoggerFactory.getLogger(BrokerBkEnsemblesTests.class);
}
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/RackAwareTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/RackAwareTest.java
index ada7b9f..daa6fe5 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/RackAwareTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/RackAwareTest.java
@@ -130,5 +130,10 @@ public class RackAwareTest extends BrokerBkEnsemblesTests {
// Ignore test
}
+ @Test(enabled = false)
+ public void testTopicWithWildCardChar() throws Exception {
+ // Ignore test
+ }
+
private static final Logger log = LoggerFactory.getLogger(RackAwareTest.class);
}
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java b/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
index bde252c..eef05f3 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
@@ -337,7 +337,7 @@ public class TopicName implements ServiceUnitId {
public String getSchemaName() {
return getTenant()
+ "/" + getNamespacePortion()
- + "/" + getLocalName();
+ + "/" + getEncodedLocalName();
}
@Override