diff --git a/.asf.yaml b/.asf.yaml index cb1d0d1037..cc1dcf46a4 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -55,3 +55,5 @@ github: - http - grpc - web + collaborators: + - oxsean diff --git a/dubbo-config/dubbo-config-api/pom.xml b/dubbo-config/dubbo-config-api/pom.xml index a7fa622c77..12490c4d9e 100644 --- a/dubbo-config/dubbo-config-api/pom.xml +++ b/dubbo-config/dubbo-config-api/pom.xml @@ -242,7 +242,7 @@ org.testcontainers testcontainers - 1.19.6 + 1.19.7 test diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/pom.xml b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/pom.xml index daa9dbb49d..8777f94d89 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/pom.xml +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/pom.xml @@ -157,7 +157,7 @@ ch.qos.logback logback-core - 1.5.2 + 1.5.3 compile diff --git a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/pom.xml b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/pom.xml index 7602af3581..568f6bc847 100644 --- a/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/pom.xml +++ b/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/pom.xml @@ -157,7 +157,7 @@ ch.qos.logback logback-core - 1.5.2 + 1.5.3 compile diff --git a/dubbo-dependencies-bom/pom.xml b/dubbo-dependencies-bom/pom.xml index 9cf94d697f..63cc1f9e50 100644 --- a/dubbo-dependencies-bom/pom.xml +++ b/dubbo-dependencies-bom/pom.xml @@ -147,7 +147,7 @@ 1.2.17 1.2.13 - 2.23.0 + 2.23.1 2.15.1 1.16.0 @@ -166,7 +166,7 @@ 2.2.7 1.2.0 - 1.19.6 + 1.19.7 3.2.13 1.6.13 @@ -175,11 +175,11 @@ 5.4.3 2.0.6 2.10.1 - 2.16.1 + 2.16.2 6.1.26 2.0 1.6.0 - 1.26.0 + 1.26.1 2.43.0 check 1.0.0 diff --git a/dubbo-distribution/dubbo-apache-release/pom.xml b/dubbo-distribution/dubbo-apache-release/pom.xml index ec914ff07e..be51620299 100644 --- a/dubbo-distribution/dubbo-apache-release/pom.xml +++ b/dubbo-distribution/dubbo-apache-release/pom.xml @@ -52,7 +52,7 @@ maven-assembly-plugin - 3.6.0 + 3.7.0 bin diff --git a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/ChangeTelnet.java b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/ChangeTelnet.java index e16d7e41b6..4eac865f2c 100644 --- a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/ChangeTelnet.java +++ b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/ChangeTelnet.java @@ -58,7 +58,8 @@ public class ChangeTelnet implements BaseCommand { for (Exporter exporter : dubboProtocol.getExporters()) { if (message.equals(exporter.getInvoker().getInterface().getSimpleName()) || message.equals(exporter.getInvoker().getInterface().getName()) - || message.equals(exporter.getInvoker().getUrl().getPath())) { + || message.equals(exporter.getInvoker().getUrl().getPath()) + || message.equals(exporter.getInvoker().getUrl().getServiceKey())) { found = true; break; } diff --git a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/CountTelnet.java b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/CountTelnet.java index 9d89c98306..425f4706b3 100644 --- a/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/CountTelnet.java +++ b/dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/CountTelnet.java @@ -85,7 +85,8 @@ public class CountTelnet implements BaseCommand { for (Exporter exporter : dubboProtocol.getExporters()) { if (service.equals(exporter.getInvoker().getInterface().getSimpleName()) || service.equals(exporter.getInvoker().getInterface().getName()) - || service.equals(exporter.getInvoker().getUrl().getPath())) { + || service.equals(exporter.getInvoker().getUrl().getPath()) + || service.equals(exporter.getInvoker().getUrl().getServiceKey())) { invoker = exporter.getInvoker(); break; } diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/ChangeTelnetTest.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/ChangeTelnetTest.java index 6a8b67531d..a182a5e168 100644 --- a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/ChangeTelnetTest.java +++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/ChangeTelnetTest.java @@ -71,7 +71,7 @@ class ChangeTelnetTest { mockChannel.attr(ChangeTelnet.SERVICE_KEY).set("org.apache.dubbo.rpc.protocol.dubbo.support.DemoService"); given(mockCommandContext.getRemote()).willReturn(mockChannel); given(mockInvoker.getInterface()).willReturn(DemoService.class); - given(mockInvoker.getUrl()).willReturn(URL.valueOf("dubbo://127.0.0.1:20884/demo")); + given(mockInvoker.getUrl()).willReturn(URL.valueOf("dubbo://127.0.0.1:20884/demo?group=g&version=1.0.0")); } @AfterEach @@ -110,6 +110,15 @@ class ChangeTelnetTest { assertEquals("Used the demo as default.\r\nYou can cancel default service by command: cd /", result); } + @Test + void testChangeServiceKey() { + ExtensionLoader.getExtensionLoader(Protocol.class) + .getExtension(DubboProtocol.NAME) + .export(mockInvoker); + String result = change.execute(mockCommandContext, new String[] {"g/demo:1.0.0"}); + assertEquals("Used the g/demo:1.0.0 as default.\r\nYou can cancel default service by command: cd /", result); + } + @Test void testChangeMessageNull() { String result = change.execute(mockCommandContext, null); diff --git a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/CountTelnetTest.java b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/CountTelnetTest.java index 0777e39546..a1eafa4daa 100644 --- a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/CountTelnetTest.java +++ b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/CountTelnetTest.java @@ -52,7 +52,7 @@ class CountTelnetTest { private CommandContext mockCommandContext; private CountDownLatch latch; - private final URL url = URL.valueOf("dubbo://127.0.0.1:20884/demo"); + private final URL url = URL.valueOf("dubbo://127.0.0.1:20884/demo?group=g&version=1.0.0"); @BeforeEach public void setUp() { @@ -70,12 +70,14 @@ class CountTelnetTest { public void tearDown() { FrameworkModel.destroyAll(); mockChannel.close(); + RpcStatus.removeStatus(url); reset(mockInvoker, mockCommandContext); } @Test void test() throws Exception { String methodName = "sayHello"; + RpcStatus.removeStatus(url, methodName); String[] args = new String[] {"org.apache.dubbo.qos.legacy.service.DemoService", "sayHello", "1"}; ExtensionLoader.getExtensionLoader(Protocol.class) @@ -94,6 +96,28 @@ class CountTelnetTest { assertThat(sb.toString(), containsString(buildTable(methodName, 10, 10, "1", "0", "0"))); } + @Test + void testCountByServiceKey() throws Exception { + String methodName = "sayHello"; + RpcStatus.removeStatus(url, methodName); + String[] args = new String[] {"g/demo:1.0.0", "sayHello", "1"}; + + ExtensionLoader.getExtensionLoader(Protocol.class) + .getExtension(DubboProtocol.NAME) + .export(mockInvoker); + RpcStatus.beginCount(url, methodName); + RpcStatus.endCount(url, methodName, 10L, true); + count.execute(mockCommandContext, args); + latch.await(); + + StringBuilder sb = new StringBuilder(); + for (Object o : mockChannel.getReceivedObjects()) { + sb.append(o.toString()); + } + + assertThat(sb.toString(), containsString(buildTable(methodName, 10, 10, "1", "0", "0"))); + } + public static String buildTable( String methodName, long averageElapsed, long maxElapsed, String total, String failed, String active) { List header = new LinkedList<>(); diff --git a/dubbo-test/dubbo-test-check/pom.xml b/dubbo-test/dubbo-test-check/pom.xml index 442b5b84a3..1508247fad 100644 --- a/dubbo-test/dubbo-test-check/pom.xml +++ b/dubbo-test/dubbo-test-check/pom.xml @@ -31,7 +31,7 @@ 4.2.0 3.7.2 4.2.0 - 1.26.0 + 1.26.1 1.9.3 1.4.0 2.12.3