Skip to content

Commit 09cbf8f

Browse files
committed
fix async store test fail issue
1 parent 2fbdecf commit 09cbf8f

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

dubbo-metadata-report/dubbo-metadata-report-api/src/test/java/org/apache/dubbo/metadata/support/AbstractMetadataReportTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public void testStoreProviderUsual() throws ClassNotFoundException, InterruptedE
6666
String group = null;
6767
String application = "vic";
6868
MetadataIdentifier providerMetadataIdentifier = storePrivider(abstractMetadataReport, interfaceName, version, group, application);
69-
Thread.sleep(1000);
69+
Thread.sleep(1500);
7070
Assert.assertNotNull(abstractMetadataReport.store.get(providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY)));
7171
}
7272

dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@
1616
*/
1717
package org.apache.dubbo.metadata.store.redis;
1818

19+
import com.google.gson.Gson;
1920
import org.apache.dubbo.common.Constants;
2021
import org.apache.dubbo.common.URL;
2122
import org.apache.dubbo.common.utils.NetUtils;
2223
import org.apache.dubbo.metadata.definition.ServiceDefinitionBuilder;
2324
import org.apache.dubbo.metadata.definition.model.FullServiceDefinition;
2425
import org.apache.dubbo.metadata.identifier.MetadataIdentifier;
2526
import org.apache.dubbo.rpc.RpcException;
26-
27-
import com.google.gson.Gson;
2827
import org.junit.After;
2928
import org.junit.Assert;
3029
import org.junit.Before;
@@ -81,9 +80,14 @@ private void testStoreProvider(RedisMetadataReport redisMetadataReport, String v
8180
MetadataIdentifier providerMetadataIdentifier = storePrivider(redisMetadataReport, interfaceName, version, group, application);
8281
Jedis jedis = null;
8382
try {
84-
Thread.sleep(moreTime);
8583
jedis = redisMetadataReport.pool.getResource();
86-
String value = jedis.get(providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY) + META_DATA_SOTRE_TAG);
84+
String keyTmp = providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY) + META_DATA_SOTRE_TAG;
85+
String value = jedis.get(keyTmp);
86+
if (value == null) {
87+
Thread.sleep(moreTime);
88+
value = jedis.get(keyTmp);
89+
}
90+
8791
Assert.assertNotNull(value);
8892

8993
Gson gson = new Gson();
@@ -101,12 +105,12 @@ private void testStoreProvider(RedisMetadataReport redisMetadataReport, String v
101105

102106
@Test
103107
public void testAsyncStoreConsumer() throws ClassNotFoundException {
104-
testStoreProvider(redisMetadataReport, "1.0.0.redis.md.c1", 3000);
108+
testStoreConsumer(redisMetadataReport, "1.0.0.redis.md.c1", 3000);
105109
}
106110

107111
@Test
108112
public void testSyncStoreConsumer() throws ClassNotFoundException {
109-
testStoreProvider(syncRedisMetadataReport, "1.0.0.redis.md.c2", 3);
113+
testStoreConsumer(syncRedisMetadataReport, "1.0.0.redis.md.c2", 3);
110114
}
111115

112116
private void testStoreConsumer(RedisMetadataReport redisMetadataReport, String version, long moreTime) throws ClassNotFoundException {
@@ -116,9 +120,13 @@ private void testStoreConsumer(RedisMetadataReport redisMetadataReport, String v
116120
MetadataIdentifier consumerMetadataIdentifier = storeConsumer(redisMetadataReport, interfaceName, version, group, application);
117121
Jedis jedis = null;
118122
try {
119-
Thread.sleep(moreTime);
120123
jedis = redisMetadataReport.pool.getResource();
121-
String value = jedis.get(consumerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY) + META_DATA_SOTRE_TAG);
124+
String keyTmp = consumerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY) + META_DATA_SOTRE_TAG;
125+
String value = jedis.get(keyTmp);
126+
if (value == null) {
127+
Thread.sleep(moreTime);
128+
value = jedis.get(keyTmp);
129+
}
122130
Assert.assertEquals(value, "{\"paramConsumerTest\":\"redisCm\"}");
123131
} catch (Throwable e) {
124132
throw new RpcException("Failed to put to redis . cause: " + e.getMessage(), e);

0 commit comments

Comments
 (0)