modify metadata node path in zookeeper (#3166)
* modify metadata node path in zookeeper * add licence
This commit is contained in:
parent
bcf474dff5
commit
21e0227a44
|
|
@ -66,8 +66,8 @@ public class MetadataIdentifier {
|
|||
return getFilePathKey(DEFAULT_PATH_TAG);
|
||||
}
|
||||
|
||||
public String getFilePathKey(String pathTag) {
|
||||
return toServicePath() + Constants.PATH_SEPARATOR + pathTag + Constants.PATH_SEPARATOR + (version == null ? "" : (version + Constants.PATH_SEPARATOR))
|
||||
private String getFilePathKey(String pathTag) {
|
||||
return pathTag + Constants.PATH_SEPARATOR + toServicePath() + Constants.PATH_SEPARATOR + (version == null ? "" : (version + Constants.PATH_SEPARATOR))
|
||||
+ (group == null ? "" : (group + Constants.PATH_SEPARATOR)) + side + Constants.PATH_SEPARATOR + getApplication();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* 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.metadata.identifier;
|
||||
|
||||
import org.apache.dubbo.common.Constants;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* 2019/1/7
|
||||
*/
|
||||
public class MetadataIdentifierTest {
|
||||
|
||||
@Test
|
||||
public void testGetUniqueKey() {
|
||||
String interfaceName = "org.apache.dubbo.metadata.integration.InterfaceNameTestService";
|
||||
String version = "1.0.0.zk.md";
|
||||
String group = null;
|
||||
String application = "vic.zk.md";
|
||||
MetadataIdentifier providerMetadataIdentifier = new MetadataIdentifier(interfaceName, version, group, Constants.PROVIDER_SIDE, application);
|
||||
System.out.println(providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.PATH));
|
||||
Assert.assertEquals(providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.PATH), "metadata" + Constants.PATH_SEPARATOR + interfaceName + Constants.PATH_SEPARATOR + (version == null ? "" : (version + Constants.PATH_SEPARATOR))
|
||||
+ (group == null ? "" : (group + Constants.PATH_SEPARATOR)) + Constants.PROVIDER_SIDE + Constants.PATH_SEPARATOR + application);
|
||||
System.out.println(providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY));
|
||||
Assert.assertEquals(providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY),
|
||||
interfaceName + MetadataIdentifier.SEPARATOR + (version == null ? "" : version + MetadataIdentifier.SEPARATOR) + (group == null ? "" : group + MetadataIdentifier.SEPARATOR) + Constants.PROVIDER_SIDE + MetadataIdentifier.SEPARATOR + application);
|
||||
}
|
||||
}
|
||||
|
|
@ -38,7 +38,6 @@ import java.util.Map;
|
|||
/**
|
||||
* 2018/10/9
|
||||
*/
|
||||
@Ignore("Keeps fail on Travis")
|
||||
public class ZookeeperMetadataReportTest {
|
||||
private TestingServer zkServer;
|
||||
private ZookeeperMetadataReport zookeeperMetadataReport;
|
||||
|
|
@ -75,15 +74,18 @@ public class ZookeeperMetadataReportTest {
|
|||
MetadataIdentifier providerMetadataIdentifier = storePrivider(zookeeperMetadataReport, interfaceName, version, group, application);
|
||||
|
||||
String fileContent = zookeeperMetadataReport.zkClient.getContent(zookeeperMetadataReport.getNodePath(providerMetadataIdentifier));
|
||||
fileContent = waitSeconds(fileContent, 3500, zookeeperMetadataReport.getNodePath(providerMetadataIdentifier));
|
||||
Assert.assertNotNull(fileContent);
|
||||
|
||||
deletePath(providerMetadataIdentifier, zookeeperMetadataReport);
|
||||
fileContent = zookeeperMetadataReport.zkClient.getContent(zookeeperMetadataReport.getNodePath(providerMetadataIdentifier));
|
||||
fileContent = waitSeconds(fileContent, 1000, zookeeperMetadataReport.getNodePath(providerMetadataIdentifier));
|
||||
Assert.assertNull(fileContent);
|
||||
|
||||
|
||||
providerMetadataIdentifier = storePrivider(zookeeperMetadataReport, interfaceName, version, group, application);
|
||||
fileContent = zookeeperMetadataReport.zkClient.getContent(zookeeperMetadataReport.getNodePath(providerMetadataIdentifier));
|
||||
fileContent = waitSeconds(fileContent, 3500, zookeeperMetadataReport.getNodePath(providerMetadataIdentifier));
|
||||
Assert.assertNotNull(fileContent);
|
||||
|
||||
Gson gson = new Gson();
|
||||
|
|
@ -101,14 +103,17 @@ public class ZookeeperMetadataReportTest {
|
|||
MetadataIdentifier consumerMetadataIdentifier = storeConsumer(zookeeperMetadataReport, interfaceName, version, group, application);
|
||||
|
||||
String fileContent = zookeeperMetadataReport.zkClient.getContent(zookeeperMetadataReport.getNodePath(consumerMetadataIdentifier));
|
||||
fileContent = waitSeconds(fileContent, 3500, zookeeperMetadataReport.getNodePath(consumerMetadataIdentifier));
|
||||
Assert.assertNotNull(fileContent);
|
||||
|
||||
deletePath(consumerMetadataIdentifier, zookeeperMetadataReport);
|
||||
fileContent = zookeeperMetadataReport.zkClient.getContent(zookeeperMetadataReport.getNodePath(consumerMetadataIdentifier));
|
||||
fileContent = waitSeconds(fileContent, 1000, zookeeperMetadataReport.getNodePath(consumerMetadataIdentifier));
|
||||
Assert.assertNull(fileContent);
|
||||
|
||||
consumerMetadataIdentifier = storeConsumer(zookeeperMetadataReport, interfaceName, version, group, application);
|
||||
fileContent = zookeeperMetadataReport.zkClient.getContent(zookeeperMetadataReport.getNodePath(consumerMetadataIdentifier));
|
||||
fileContent = waitSeconds(fileContent, 3000, zookeeperMetadataReport.getNodePath(consumerMetadataIdentifier));
|
||||
Assert.assertNotNull(fileContent);
|
||||
Assert.assertEquals(fileContent, "{\"paramConsumerTest\":\"zkCm\"}");
|
||||
}
|
||||
|
|
@ -141,4 +146,12 @@ public class ZookeeperMetadataReportTest {
|
|||
|
||||
return consumerMetadataIdentifier;
|
||||
}
|
||||
|
||||
private String waitSeconds(String value, long moreTime, String path) throws InterruptedException {
|
||||
if (value == null) {
|
||||
Thread.sleep(moreTime);
|
||||
return zookeeperMetadataReport.zkClient.getContent(path);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue