This is an automated email from the ASF dual-hosted git repository.
victory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 2fbdecf fix async store test fail issue
2fbdecf is described below
commit 2fbdecf823fcd6b05d43a12e6fee585cd599b640
Author: cvictory <[email protected]>
AuthorDate: Fri Dec 28 19:48:41 2018 +0800
fix async store test fail issue
---
.../dubbo/config/RegistryDataConfigTest.java | 102 ---------------------
.../apache/dubbo/config/RegistryDataConfig.java | 24 -----
.../store/redis/RedisMetadataReportTest.java | 30 +++++-
.../zookeeper/ZookeeperMetadataReportTest.java | 4 +-
4 files changed, 28 insertions(+), 132 deletions(-)
diff --git
a/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
b/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
deleted file mode 100644
index 930ed3f..0000000
---
a/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.config;
-
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import java.util.Map;
-
-@Ignore("Waiting for cvictory to fix")
-public class RegistryDataConfigTest {
-
- @Test
- public void testProviderNoValue(){
- RegistryDataConfig registryDataConfig = new RegistryDataConfig();
- registryDataConfig.setSimpleProviderConfig(false);
- registryDataConfig.setExtraProviderKeys("xxx,sss");
- Map<String,String> result = registryDataConfig.transferToMap();
- Assert.assertTrue(result.isEmpty());
- }
-
- @Test
- public void testProviderNoParamKey(){
- RegistryDataConfig registryDataConfig = new RegistryDataConfig();
- registryDataConfig.setSimpleProviderConfig(true);
- Map<String,String> result = registryDataConfig.transferToMap();
- Assert.assertFalse(result.isEmpty());
- Assert.assertEquals(result.get("simpleProviderConfig"), "true");
- Assert.assertNull(result.get("extraProviderKeys"));
- }
-
- @Test
- public void testProviderHasParamKey(){
- RegistryDataConfig registryDataConfig = new RegistryDataConfig();
- registryDataConfig.setSimpleProviderConfig(true);
- registryDataConfig.setExtraProviderKeys("xxx,sss");
- Map<String,String> result = registryDataConfig.transferToMap();
- Assert.assertFalse(result.isEmpty());
- Assert.assertEquals(result.get("simpleProviderConfig"), "true");
- Assert.assertEquals(result.get("extraProviderKeys"), "xxx,sss");
- }
-
- @Test
- public void testConsumerNoValue(){
- RegistryDataConfig registryDataConfig = new RegistryDataConfig();
- registryDataConfig.setSimpleConsumerConfig(false);
- registryDataConfig.setExtraConsumerKeys("xxx,sss");
- Map<String,String> result = registryDataConfig.transferToMap();
- Assert.assertTrue(result.isEmpty());
- }
-
- @Test
- public void testConsumerNoParamKey(){
- RegistryDataConfig registryDataConfig = new RegistryDataConfig();
- registryDataConfig.setSimpleConsumerConfig(true);
- Map<String,String> result = registryDataConfig.transferToMap();
- Assert.assertFalse(result.isEmpty());
- Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
- Assert.assertNull(result.get("extraConsumerKeys"));
- }
-
- @Test
- public void testConsumerHasParamKey(){
- RegistryDataConfig registryDataConfig = new RegistryDataConfig();
- registryDataConfig.setSimpleConsumerConfig(true);
- registryDataConfig.setExtraConsumerKeys("xxx,sss");
- Map<String,String> result = registryDataConfig.transferToMap();
- Assert.assertFalse(result.isEmpty());
- Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
- Assert.assertEquals(result.get("extraConsumerKeys"), "xxx,sss");
- }
-
- @Test
- public void testMixHasParamKey(){
- RegistryDataConfig registryDataConfig = new RegistryDataConfig();
- registryDataConfig.setSimpleConsumerConfig(true);
- registryDataConfig.setExtraConsumerKeys("xxx,sss");
- registryDataConfig.setSimpleProviderConfig(true);
- registryDataConfig.setExtraProviderKeys("yyy,xxx");
- Map<String,String> result = registryDataConfig.transferToMap();
- Assert.assertTrue(result.size() == 4);
- Assert.assertEquals(result.get("simpleProviderConfig"), "true");
- Assert.assertEquals(result.get("extraProviderKeys"), "yyy,xxx");
- Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
- Assert.assertEquals(result.get("extraConsumerKeys"), "xxx,sss");
- }
-}
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
index 1b41e2e..f96044d 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
@@ -16,12 +16,6 @@
*/
package org.apache.dubbo.config;
-import org.apache.dubbo.common.Constants;
-import org.apache.dubbo.common.utils.StringUtils;
-
-import java.util.HashMap;
-import java.util.Map;
-
/**
* 2018/10/31
*/
@@ -33,24 +27,6 @@ public class RegistryDataConfig extends AbstractConfig {
private Boolean simpleConsumerConfig;
private String extraConsumerKeys;
- Map<String, String> transferToMap() {
- Map<String, String> map = new HashMap<String, String>(4);
- if (simpleProviderConfig != null && simpleProviderConfig) {
- map.put(Constants.SIMPLE_PROVIDER_CONFIG_KEY,
Boolean.TRUE.toString());
- if (StringUtils.isNotEmpty(extraProviderKeys)) {
- map.put(Constants.EXTRA_PROVIDER_CONFIG_KEYS_KEY,
extraProviderKeys.trim());
- }
- }
- if (simpleConsumerConfig != null && simpleConsumerConfig) {
- map.put(Constants.SIMPLE_CONSUMER_CONFIG_KEY,
Boolean.TRUE.toString());
- if (StringUtils.isNotEmpty(extraConsumerKeys)) {
- map.put(Constants.EXTRA_CONSUMER_CONFIG_KEYS_KEY,
extraConsumerKeys.trim());
- }
- }
-
- return map;
- }
-
public Boolean getSimpleProviderConfig() {
return simpleProviderConfig;
}
diff --git
a/dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java
b/dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java
index deb08de..8c6e32d 100644
---
a/dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java
+++
b/dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java
@@ -36,6 +36,7 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import static org.apache.dubbo.common.Constants.SYNC_REPORT_KEY;
import static
org.apache.dubbo.metadata.store.MetadataReport.META_DATA_SOTRE_TAG;
/**
@@ -43,6 +44,7 @@ import static
org.apache.dubbo.metadata.store.MetadataReport.META_DATA_SOTRE_TAG
*/
public class RedisMetadataReportTest {
RedisMetadataReport redisMetadataReport;
+ RedisMetadataReport syncRedisMetadataReport;
RedisServer redisServer;
@Before
@@ -52,6 +54,8 @@ public class RedisMetadataReportTest {
this.redisServer.start();
URL registryUrl = URL.valueOf("redis://localhost:" + redisPort);
redisMetadataReport = (RedisMetadataReport) new
RedisMetadataReportFactory().createMetadataReport(registryUrl);
+ URL asyncRegistryUrl = URL.valueOf("redis://localhost:" + redisPort +
"?" + SYNC_REPORT_KEY + "=true");
+ syncRedisMetadataReport = (RedisMetadataReport) new
RedisMetadataReportFactory().createMetadataReport(registryUrl);
}
@After
@@ -61,14 +65,23 @@ public class RedisMetadataReportTest {
@Test
- public void testStoreProvider() throws ClassNotFoundException {
+ public void testAsyncStoreProvider() throws ClassNotFoundException {
+ testStoreProvider(redisMetadataReport, "1.0.0.redis.md.p1", 3000);
+ }
+
+ @Test
+ public void testSyncStoreProvider() throws ClassNotFoundException {
+ testStoreProvider(syncRedisMetadataReport, "1.0.0.redis.md.p2", 3);
+ }
+
+ private void testStoreProvider(RedisMetadataReport redisMetadataReport,
String version, long moreTime) throws ClassNotFoundException {
String interfaceName =
"org.apache.dubbo.metadata.store.redis.RedisMetadata4TstService";
- String version = "1.0.0.redis.md";
String group = null;
String application = "vic.redis.md";
MetadataIdentifier providerMetadataIdentifier =
storePrivider(redisMetadataReport, interfaceName, version, group, application);
Jedis jedis = null;
try {
+ Thread.sleep(moreTime);
jedis = redisMetadataReport.pool.getResource();
String value =
jedis.get(providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY)
+ META_DATA_SOTRE_TAG);
Assert.assertNotNull(value);
@@ -87,14 +100,23 @@ public class RedisMetadataReportTest {
}
@Test
- public void testStoreConsumer() throws ClassNotFoundException {
+ public void testAsyncStoreConsumer() throws ClassNotFoundException {
+ testStoreProvider(redisMetadataReport, "1.0.0.redis.md.c1", 3000);
+ }
+
+ @Test
+ public void testSyncStoreConsumer() throws ClassNotFoundException {
+ testStoreProvider(syncRedisMetadataReport, "1.0.0.redis.md.c2", 3);
+ }
+
+ private void testStoreConsumer(RedisMetadataReport redisMetadataReport,
String version, long moreTime) throws ClassNotFoundException {
String interfaceName =
"org.apache.dubbo.metadata.store.redis.RedisMetadata4TstService";
- String version = "1.0.0.redis.md";
String group = null;
String application = "vic.redis.md";
MetadataIdentifier consumerMetadataIdentifier =
storeConsumer(redisMetadataReport, interfaceName, version, group, application);
Jedis jedis = null;
try {
+ Thread.sleep(moreTime);
jedis = redisMetadataReport.pool.getResource();
String value =
jedis.get(consumerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY)
+ META_DATA_SOTRE_TAG);
Assert.assertEquals(value, "{\"paramConsumerTest\":\"redisCm\"}");
diff --git
a/dubbo-metadata-report/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
b/dubbo-metadata-report/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
index 2d79d1f..d3a4e7a 100644
---
a/dubbo-metadata-report/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
+++
b/dubbo-metadata-report/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
@@ -123,7 +123,7 @@ public class ZookeeperMetadataReportTest {
FullServiceDefinition fullServiceDefinition =
ServiceDefinitionBuilder.buildFullDefinition(interfaceClass,
url.getParameters());
zookeeperMetadataReport.storeProviderMetadata(providerMetadataIdentifier,
fullServiceDefinition);
- Thread.sleep(300);
+ Thread.sleep(2000);
return providerMetadataIdentifier;
}
@@ -137,7 +137,7 @@ public class ZookeeperMetadataReportTest {
Map<String, String> tmp = new HashMap<>();
tmp.put("paramConsumerTest", "zkCm");
zookeeperMetadataReport.storeConsumerMetadata(consumerMetadataIdentifier, tmp);
- Thread.sleep(300);
+ Thread.sleep(2000);
return consumerMetadataIdentifier;
}