[GitHub] asifdxtreme closed pull request #460: SCB-972 Using Sha1 signature key as UUID of micro service
asifdxtreme closed pull request #460: SCB-972 Using Sha1 signature key as UUID of micro service URL: https://github.com/apache/incubator-servicecomb-service-center/pull/460 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/etc/conf/app.conf b/etc/conf/app.conf index df4128c4..38b6690a 100644 --- a/etc/conf/app.conf +++ b/etc/conf/app.conf @@ -108,6 +108,9 @@ auditlog_plugin = "" # in path specified by TRACING_FILE_PATH env variable trace_plugin = "" +#customize the uuid format +uuid_plugin = "context" + ### # rate limit options ### diff --git a/integration/governance_test.go b/integration/governance_test.go index 2f592d7b..e8c0360a 100644 --- a/integration/governance_test.go +++ b/integration/governance_test.go @@ -66,7 +66,7 @@ var _ = Describe("MicroService Api Test", func() { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ := ioutil.ReadAll(resp.Body) serviceId = gojson.Json(string(respbody)).Get("serviceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) //Register MicroService Instance endpoints := []string{"cse://127.0.0.1:9984"} @@ -105,7 +105,7 @@ var _ = Describe("MicroService Api Test", func() { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ = ioutil.ReadAll(resp.Body) serviceInstanceID = gojson.Json(string(respbody)).Get("instanceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) }) @@ -259,7 +259,7 @@ func BenchmarkGovernance(b *testing.B) { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ := ioutil.ReadAll(resp.Body) serviceId := gojson.Json(string(respbody)).Get("serviceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) for i := 0; i < b.N; i++ { url := strings.Replace(GETGOVERNANCESERVICEDETAILS, ":serviceId", serviceId, 1) diff --git a/integration/instances_test.go b/integration/instances_test.go index 458c45d1..0d675ee4 100644 --- a/integration/instances_test.go +++ b/integration/instances_test.go @@ -69,7 +69,7 @@ var _ = Describe("MicroService Api Test", func() { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ := ioutil.ReadAll(resp.Body) serviceId = gojson.Json(string(respbody)).Get("serviceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) //Register MicroService Instance endpoints := []string{"cse://127.0.0.1:9984"} @@ -108,7 +108,7 @@ var _ = Describe("MicroService Api Test", func() { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ = ioutil.ReadAll(resp.Body) serviceInstanceID = gojson.Json(string(respbody)).Get("instanceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) }) @@ -559,7 +559,7 @@ func BenchmarkRegisterMicroServiceInstance(b *testing.B) { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ := ioutil.ReadAll(resp.Body) serviceId := gojson.Json(string(respbody)).Get("serviceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) for i := 0; i < b.N; i++ { //Register MicroService Instance @@ -599,7 +599,7 @@ func BenchmarkRegisterMicroServiceInstance(b *testing.B) { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ = ioutil.ReadAll(resp.Body) serviceInstanceID := gojson.Json(string(respbody)).Get("instanceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) if serviceInstanceID != "" {
[incubator-servicecomb-service-center] branch master updated: SCB-972 Using Sha1 signature key as UUID of micro service (#460)
This is an automated email from the ASF dual-hosted git repository. asifdxtreme pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-service-center.git The following commit(s) were added to refs/heads/master by this push: new bd59e8b SCB-972 Using Sha1 signature key as UUID of micro service (#460) bd59e8b is described below commit bd59e8bf98179b49c997f10ed4f529b2d1c0afcf Author: little-cui AuthorDate: Tue Oct 23 11:33:04 2018 +0800 SCB-972 Using Sha1 signature key as UUID of micro service (#460) * SCB-972 Using Sha1 signature key as UUID of micro service * Fix the IT failure --- etc/conf/app.conf | 3 ++ integration/governance_test.go | 6 ++-- integration/instances_test.go | 8 ++--- integration/integrationtest_suite_test.go | 2 ++ integration/microservices_test.go | 6 ++-- integration/rules_test.go | 2 +- integration/tags_test.go | 2 +- server/bootstrap/bootstrap.go | 1 + server/plugin/pkg/uuid/buildin/buildin.go | 5 ++-- .../{buildin/buildin.go => context/context.go} | 34 +- server/plugin/pkg/uuid/uuid.go | 8 +++-- server/service/instance.go | 2 +- server/service/microservice.go | 8 +++-- 13 files changed, 54 insertions(+), 33 deletions(-) diff --git a/etc/conf/app.conf b/etc/conf/app.conf index df4128c..38b6690 100644 --- a/etc/conf/app.conf +++ b/etc/conf/app.conf @@ -108,6 +108,9 @@ auditlog_plugin = "" # in path specified by TRACING_FILE_PATH env variable trace_plugin = "" +#customize the uuid format +uuid_plugin = "context" + ### # rate limit options ### diff --git a/integration/governance_test.go b/integration/governance_test.go index 2f592d7..e8c0360 100644 --- a/integration/governance_test.go +++ b/integration/governance_test.go @@ -66,7 +66,7 @@ var _ = Describe("MicroService Api Test", func() { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ := ioutil.ReadAll(resp.Body) serviceId = gojson.Json(string(respbody)).Get("serviceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) //Register MicroService Instance endpoints := []string{"cse://127.0.0.1:9984"} @@ -105,7 +105,7 @@ var _ = Describe("MicroService Api Test", func() { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ = ioutil.ReadAll(resp.Body) serviceInstanceID = gojson.Json(string(respbody)).Get("instanceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) }) @@ -259,7 +259,7 @@ func BenchmarkGovernance(b *testing.B) { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ := ioutil.ReadAll(resp.Body) serviceId := gojson.Json(string(respbody)).Get("serviceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) for i := 0; i < b.N; i++ { url := strings.Replace(GETGOVERNANCESERVICEDETAILS, ":serviceId", serviceId, 1) diff --git a/integration/instances_test.go b/integration/instances_test.go index 458c45d..0d675ee 100644 --- a/integration/instances_test.go +++ b/integration/instances_test.go @@ -69,7 +69,7 @@ var _ = Describe("MicroService Api Test", func() { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ := ioutil.ReadAll(resp.Body) serviceId = gojson.Json(string(respbody)).Get("serviceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) + Expect(len(serviceId)).Should(BeNumerically("==", LengthUUID)) //Register MicroService Instance endpoints := []string{"cse://127.0.0.1:9984"} @@ -108,7 +108,7 @@ var _ = Describe("MicroService Api Test", func() { Expect(resp.StatusCode).To(Equal(http.StatusOK)) respbody, _ = ioutil.ReadAll(resp.Body) serviceInstanceID = gojson.Json(string(respbody)).Get("instanceId").Tostring() - Expect(len(serviceId)).Should(BeNumerically("==", 32)) +
[GitHub] heyile closed pull request #963: [SCB-970] 970 move long short to it-tests
heyile closed pull request #963: [SCB-970] 970 move long short to it-tests URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/963 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java index 54c6285cc..6e48bf3f0 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java @@ -50,6 +50,14 @@ float floatAdd(float num1, float num2); +long longBody(long input); + +long longAdd(long num1, long num2); + +short shortBody(short input); + +short shortAdd(short num1, short num2); + Color enumBody(Color color); } @@ -113,6 +121,36 @@ float floatAdd(float num1, float num2); +//long +long longPath(long input); + +long longQuery(long input); + +long longHeader(long input); + +long longCookie(long input); + +long longBody(long input); + +long longForm(long input); + +long longAdd(long num1, long num2); + +//short +short shortPath(short input); + +short shortQuery(short input); + +short shortHeader(short input); + +short shortCookie(short input); + +short shortBody(short input); + +short shortForm(short input); + +short shortAdd(short num1, short num2); + // enum Color enumBody(Color color); @@ -1075,6 +1113,461 @@ public void enumBody_springmvc_intf() { assertEquals(Color.BLUE, consumersSpringmvc.getIntf().enumBody(Color.BLUE)); } + //long + @Test + public void long_pojo_intf() { +assertEquals(100L, consumersPojo.getIntf().longBody(100L)); + } + + @Test + public void long_pojo_rt() { +Map map = new HashMap<>(); +map.put("input", 100L); +assertEquals(100L, (long) consumersPojo.getSCBRestTemplate().postForObject("/longBody", map, long.class)); + } + + @Test + public void longAdd_pojo_intf() { +assertEquals(300L, consumersPojo.getIntf().longAdd(100L, 200L)); + } + + @Test + public void longAdd_pojo_rt() { +Map map = new HashMap<>(); +map.put("num1", 100L); +map.put("num2", 200L); +assertEquals(300L, (long) consumersPojo.getSCBRestTemplate().postForObject("/longAdd", map, long.class)); + } + + @Test + public void longPath_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longPath(100L)); + } + + @Test + public void longPath_jaxrs_rt() { +assertEquals(100L, (long) consumersJaxrs.getSCBRestTemplate().getForObject("/longPath/100", long.class)); + } + + @Test + public void longQuery_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longQuery(100L)); + } + + @Test + public void longQuery_jaxrs_rt() { +assertEquals(100L, +(long) consumersJaxrs.getSCBRestTemplate().getForObject("/longQuery?input=100", long.class)); + } + + @Test + public void longHeader_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longHeader(100L)); + } + + @Test + public void longHeader_jaxrs_rt() { +longHeader_rt(consumersJaxrs); + } + + protected void longHeader_rt(Consumers + consumers) { +HttpHeaders headers = new HttpHeaders(); +headers.add("input", "100"); + +@SuppressWarnings("rawtypes") +HttpEntity entity = new HttpEntity<>(null, headers); +ResponseEntity response = consumers.getSCBRestTemplate() +.exchange("/longHeader", +HttpMethod.GET, +entity, +long.class); +assertEquals(100L, (long) response.getBody()); + } + + @Test + public void longCookie_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longCookie(100L)); + } + + @Test + public void longCookie_jaxrs_rt() { +longCookie_rt(consumersJaxrs); + } + + void longCookie_rt(Consumers + consumers) { +HttpHeaders headers = new HttpHeaders(); +headers.add("Cookie", "input=100"); + +@SuppressWarnings("rawtypes") +HttpEntity entity = new HttpEntity<>(null, headers); +ResponseEntity response = consumers.getSCBRestTemplate() +.exchange("/longCookie", +HttpMethod.GET, +entity, +long.class); +assertEquals(100L, (long) response.getBody()); + } + + @Test + public void longForm_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longForm(100L)); + } + + @Test + public void longForm_jaxrs_rt() { +Map map = new HashMap<>(); +map.put("input", 100L); +HttpEntity> formEntiry = new HttpEntity<>(map); + +assertEquals(100L,
[GitHub] heyile opened a new pull request #963: [SCB-970] 970 move long short to it-tests
heyile opened a new pull request #963: [SCB-970] 970 move long short to it-tests URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/963 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile closed pull request #947: [SCB-837] make http2 production ready
heyile closed pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java index 98f5fd205..d8d5286b1 100644 --- a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java +++ b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java @@ -34,6 +34,7 @@ */ public class DefaultHttpClientMetrics implements HttpClientMetrics { + private final DefaultClientEndpointMetricManager clientEndpointMetricManager; private final HttpClient client; @@ -77,8 +78,9 @@ public void dequeueRequest(DefaultClientEndpointMetric endpointMetric, Object ta @Override public void endpointConnected(DefaultClientEndpointMetric endpointMetric, DefaultHttpSocketMetric socketMetric) { -socketMetric.setEndpointMetric(endpointMetric); -endpointMetric.onConnect(); +// as http2 client will not invoke this method, the endpointMetric info will lost. +// you can get more details from https://github.com/eclipse-vertx/vert.x/issues/2660 +// hence, we will set endpointMetric info in the method connected(SocketAddress remoteAddress, String remoteName) } @Override @@ -133,7 +135,22 @@ public void disconnected(Object webSocketMetric) { @Override public DefaultHttpSocketMetric connected(SocketAddress remoteAddress, String remoteName) { -return new DefaultHttpSocketMetric(null); +// when host of createEndpoint is not ip but a hostName +// get from remoteAddress will return null +// in this time need to try again with remoteName +// connected is a low frequency method, this try logic will not cause performance problem + +DefaultClientEndpointMetric clientEndpointMetric = this.clientEndpointMetricManager +.getClientEndpointMetric(remoteAddress); +if (clientEndpointMetric == null) { + SocketAddressImpl address = new SocketAddressImpl(remoteAddress.port(), remoteName); + clientEndpointMetric = this.clientEndpointMetricManager.getClientEndpointMetric(address); +} +// it's better to be done in endpointConnected +// but there is bug before vertx 3.6.0 vertx not invoke endpointConnected for http2 +// to avoid this bug, we move the logic here +clientEndpointMetric.onConnect(); +return new DefaultHttpSocketMetric(clientEndpointMetric); } @Override diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java index e7455da26..ced194cd7 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java @@ -104,7 +104,12 @@ protected static void run() throws Throwable { // .. testSpringBoot2Standalone(); + +testHttp2CStandalone(); + testSpringBoot2Servlet(); +//http2 +testHttp2Standalone(); deploys.getEdge().stop(); } @@ -145,6 +150,42 @@ private static void testStandalone() throws Throwable { deploys.getBaseProducer().stop(); } + private static void testHttp2CStandalone() throws Throwable { +deploys.getBaseHttp2CProducer().ensureReady(); + +ITJUnitUtils.addProducer("it-producer"); + +runShareTestCases(); + +// currently not support update 3rd url, so only test once +ITJUnitUtils.run(Test3rdPartyInvocation.class); + +//as setMaxInitialLineLength() is not work for http2, do not need +// ITJUnitUtils.runWithRest(TestRestServerConfig.class) +ITJUnitUtils.run(TestRestServerConfigEdge.class); + +ITJUnitUtils.popProducer(); +deploys.getBaseHttp2CProducer().stop(); + } + + private static void testHttp2Standalone() throws Throwable { +deploys.getBaseHttp2Producer().ensureReady(); + +ITJUnitUtils.addProducer("it-producer"); + +runShareTestCases(); + +// currently not support update 3rd url, so only test once +ITJUnitUtils.run(Test3rdPartyInvocation.class); + +//as setMaxInitialLineLength() is not work for http2, do not need +// ITJUnitUtils.runWithRest(TestRestServerConfig.class) +ITJUnitUtils.run(TestRestServerConfigEdge.class); + +ITJUnitUtils.popProducer(); +deploys.getBaseHttp2Producer().stop(); + } +
[GitHub] heyile closed pull request #963: [SCB-970] 970 move long short to it-tests
heyile closed pull request #963: [SCB-970] 970 move long short to it-tests URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/963 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java index 54c6285cc..6e48bf3f0 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java @@ -50,6 +50,14 @@ float floatAdd(float num1, float num2); +long longBody(long input); + +long longAdd(long num1, long num2); + +short shortBody(short input); + +short shortAdd(short num1, short num2); + Color enumBody(Color color); } @@ -113,6 +121,36 @@ float floatAdd(float num1, float num2); +//long +long longPath(long input); + +long longQuery(long input); + +long longHeader(long input); + +long longCookie(long input); + +long longBody(long input); + +long longForm(long input); + +long longAdd(long num1, long num2); + +//short +short shortPath(short input); + +short shortQuery(short input); + +short shortHeader(short input); + +short shortCookie(short input); + +short shortBody(short input); + +short shortForm(short input); + +short shortAdd(short num1, short num2); + // enum Color enumBody(Color color); @@ -1075,6 +1113,461 @@ public void enumBody_springmvc_intf() { assertEquals(Color.BLUE, consumersSpringmvc.getIntf().enumBody(Color.BLUE)); } + //long + @Test + public void long_pojo_intf() { +assertEquals(100L, consumersPojo.getIntf().longBody(100L)); + } + + @Test + public void long_pojo_rt() { +Map map = new HashMap<>(); +map.put("input", 100L); +assertEquals(100L, (long) consumersPojo.getSCBRestTemplate().postForObject("/longBody", map, long.class)); + } + + @Test + public void longAdd_pojo_intf() { +assertEquals(300L, consumersPojo.getIntf().longAdd(100L, 200L)); + } + + @Test + public void longAdd_pojo_rt() { +Map map = new HashMap<>(); +map.put("num1", 100L); +map.put("num2", 200L); +assertEquals(300L, (long) consumersPojo.getSCBRestTemplate().postForObject("/longAdd", map, long.class)); + } + + @Test + public void longPath_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longPath(100L)); + } + + @Test + public void longPath_jaxrs_rt() { +assertEquals(100L, (long) consumersJaxrs.getSCBRestTemplate().getForObject("/longPath/100", long.class)); + } + + @Test + public void longQuery_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longQuery(100L)); + } + + @Test + public void longQuery_jaxrs_rt() { +assertEquals(100L, +(long) consumersJaxrs.getSCBRestTemplate().getForObject("/longQuery?input=100", long.class)); + } + + @Test + public void longHeader_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longHeader(100L)); + } + + @Test + public void longHeader_jaxrs_rt() { +longHeader_rt(consumersJaxrs); + } + + protected void longHeader_rt(Consumers + consumers) { +HttpHeaders headers = new HttpHeaders(); +headers.add("input", "100"); + +@SuppressWarnings("rawtypes") +HttpEntity entity = new HttpEntity<>(null, headers); +ResponseEntity response = consumers.getSCBRestTemplate() +.exchange("/longHeader", +HttpMethod.GET, +entity, +long.class); +assertEquals(100L, (long) response.getBody()); + } + + @Test + public void longCookie_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longCookie(100L)); + } + + @Test + public void longCookie_jaxrs_rt() { +longCookie_rt(consumersJaxrs); + } + + void longCookie_rt(Consumers + consumers) { +HttpHeaders headers = new HttpHeaders(); +headers.add("Cookie", "input=100"); + +@SuppressWarnings("rawtypes") +HttpEntity entity = new HttpEntity<>(null, headers); +ResponseEntity response = consumers.getSCBRestTemplate() +.exchange("/longCookie", +HttpMethod.GET, +entity, +long.class); +assertEquals(100L, (long) response.getBody()); + } + + @Test + public void longForm_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longForm(100L)); + } + + @Test + public void longForm_jaxrs_rt() { +Map map = new HashMap<>(); +map.put("input", 100L); +HttpEntity> formEntiry = new HttpEntity<>(map); + +assertEquals(100L,
[GitHub] heyile opened a new pull request #947: [SCB-837] make http2 production ready
heyile opened a new pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] coveralls edited a comment on issue #460: SCB-972 Using Sha1 signature key as UUID of micro service
coveralls edited a comment on issue #460: SCB-972 Using Sha1 signature key as UUID of micro service URL: https://github.com/apache/incubator-servicecomb-service-center/pull/460#issuecomment-431976349 [![Coverage Status](https://coveralls.io/builds/19659323/badge)](https://coveralls.io/builds/19659323) Coverage decreased (-0.2%) to 62.554% when pulling **16e38820b9fb5d088e3a7200998f796bfea640e5 on little-cui:master** into **5a54da2388860cebdeadc53d267e77b69b4fa06b on apache:master**. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] codecov-io commented on issue #460: SCB-972 Using Sha1 signature key as UUID of micro service
codecov-io commented on issue #460: SCB-972 Using Sha1 signature key as UUID of micro service URL: https://github.com/apache/incubator-servicecomb-service-center/pull/460#issuecomment-432054538 # [Codecov](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460?src=pr=h1) Report > Merging [#460](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460?src=pr=desc) into [master](https://codecov.io/gh/apache/incubator-servicecomb-service-center/commit/5a54da2388860cebdeadc53d267e77b69b4fa06b?src=pr=desc) will **decrease** coverage by `0.01%`. > The diff coverage is `100%`. [![Impacted file tree graph](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/graphs/tree.svg?width=650=GAaF7zrg8R=150=pr)](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460?src=pr=tree) ```diff @@Coverage Diff @@ ## master #460 +/- ## == - Coverage 60.18% 60.16% -0.02% == Files 156 156 Lines 1341413415 +1 == - Hits 8073 8071 -2 - Misses 4762 4765 +3 Partials 579 579 ``` | [Impacted Files](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460?src=pr=tree) | Coverage Δ | | |---|---|---| | [server/service/microservice.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvbWljcm9zZXJ2aWNlLmdv) | `71.45% <100%> (+0.05%)` | :arrow_up: | | [server/service/instance.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvaW5zdGFuY2UuZ28=) | `68.53% <100%> (+0.19%)` | :arrow_up: | | [pkg/etcdsync/mutex.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/diff?src=pr=tree#diff-cGtnL2V0Y2RzeW5jL211dGV4Lmdv) | `61.29% <0%> (-5.38%)` | :arrow_down: | | [server/service/util/tag\_util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2UvdXRpbC90YWdfdXRpbC5nbw==) | `61.53% <0%> (-3.85%)` | :arrow_down: | | [pkg/util/tree.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/diff?src=pr=tree#diff-cGtnL3V0aWwvdHJlZS5nbw==) | `81.25% <0%> (-3.13%)` | :arrow_down: | | [server/service/notification/websocket.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/diff?src=pr=tree#diff-c2VydmVyL3NlcnZpY2Uvbm90aWZpY2F0aW9uL3dlYnNvY2tldC5nbw==) | `84.51% <0%> (+0.64%)` | :arrow_up: | | [pkg/util/util.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/diff?src=pr=tree#diff-cGtnL3V0aWwvdXRpbC5nbw==) | `67.56% <0%> (+1.35%)` | :arrow_up: | | [server/plugin/pkg/registry/etcd/tracing.go](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460/diff?src=pr=tree#diff-c2VydmVyL3BsdWdpbi9wa2cvcmVnaXN0cnkvZXRjZC90cmFjaW5nLmdv) | `81.81% <0%> (+9.09%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460?src=pr=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460?src=pr=footer). Last update [5a54da2...16e3882](https://codecov.io/gh/apache/incubator-servicecomb-service-center/pull/460?src=pr=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] minlywang commented on issue #316: compensationMethod spring transaction didn't take effect
minlywang commented on issue #316: compensationMethod spring transaction didn't take effect URL: https://github.com/apache/incubator-servicecomb-saga/issues/316#issuecomment-432051055 @WillemJiang It seems that omega-spring-tx is out of date This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] minlywang closed issue #316: compensationMethod spring transaction didn't take effect
minlywang closed issue #316: compensationMethod spring transaction didn't take effect URL: https://github.com/apache/incubator-servicecomb-saga/issues/316 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] little-cui opened a new pull request #460: SCB-972 Using Sha1 signature key as UUID of micro service
little-cui opened a new pull request #460: SCB-972 Using Sha1 signature key as UUID of micro service URL: https://github.com/apache/incubator-servicecomb-service-center/pull/460 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `go build` `go test` `go fmt` `go vet` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile closed pull request #947: [SCB-837] make http2 production ready
heyile closed pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java index 98f5fd205..d8d5286b1 100644 --- a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java +++ b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java @@ -34,6 +34,7 @@ */ public class DefaultHttpClientMetrics implements HttpClientMetrics { + private final DefaultClientEndpointMetricManager clientEndpointMetricManager; private final HttpClient client; @@ -77,8 +78,9 @@ public void dequeueRequest(DefaultClientEndpointMetric endpointMetric, Object ta @Override public void endpointConnected(DefaultClientEndpointMetric endpointMetric, DefaultHttpSocketMetric socketMetric) { -socketMetric.setEndpointMetric(endpointMetric); -endpointMetric.onConnect(); +// as http2 client will not invoke this method, the endpointMetric info will lost. +// you can get more details from https://github.com/eclipse-vertx/vert.x/issues/2660 +// hence, we will set endpointMetric info in the method connected(SocketAddress remoteAddress, String remoteName) } @Override @@ -133,7 +135,22 @@ public void disconnected(Object webSocketMetric) { @Override public DefaultHttpSocketMetric connected(SocketAddress remoteAddress, String remoteName) { -return new DefaultHttpSocketMetric(null); +// when host of createEndpoint is not ip but a hostName +// get from remoteAddress will return null +// in this time need to try again with remoteName +// connected is a low frequency method, this try logic will not cause performance problem + +DefaultClientEndpointMetric clientEndpointMetric = this.clientEndpointMetricManager +.getClientEndpointMetric(remoteAddress); +if (clientEndpointMetric == null) { + SocketAddressImpl address = new SocketAddressImpl(remoteAddress.port(), remoteName); + clientEndpointMetric = this.clientEndpointMetricManager.getClientEndpointMetric(address); +} +// it's better to be done in endpointConnected +// but there is bug before vertx 3.6.0 vertx not invoke endpointConnected for http2 +// to avoid this bug, we move the logic here +clientEndpointMetric.onConnect(); +return new DefaultHttpSocketMetric(clientEndpointMetric); } @Override diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java index e7455da26..ced194cd7 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java @@ -104,7 +104,12 @@ protected static void run() throws Throwable { // .. testSpringBoot2Standalone(); + +testHttp2CStandalone(); + testSpringBoot2Servlet(); +//http2 +testHttp2Standalone(); deploys.getEdge().stop(); } @@ -145,6 +150,42 @@ private static void testStandalone() throws Throwable { deploys.getBaseProducer().stop(); } + private static void testHttp2CStandalone() throws Throwable { +deploys.getBaseHttp2CProducer().ensureReady(); + +ITJUnitUtils.addProducer("it-producer"); + +runShareTestCases(); + +// currently not support update 3rd url, so only test once +ITJUnitUtils.run(Test3rdPartyInvocation.class); + +//as setMaxInitialLineLength() is not work for http2, do not need +// ITJUnitUtils.runWithRest(TestRestServerConfig.class) +ITJUnitUtils.run(TestRestServerConfigEdge.class); + +ITJUnitUtils.popProducer(); +deploys.getBaseHttp2CProducer().stop(); + } + + private static void testHttp2Standalone() throws Throwable { +deploys.getBaseHttp2Producer().ensureReady(); + +ITJUnitUtils.addProducer("it-producer"); + +runShareTestCases(); + +// currently not support update 3rd url, so only test once +ITJUnitUtils.run(Test3rdPartyInvocation.class); + +//as setMaxInitialLineLength() is not work for http2, do not need +// ITJUnitUtils.runWithRest(TestRestServerConfig.class) +ITJUnitUtils.run(TestRestServerConfigEdge.class); + +ITJUnitUtils.popProducer(); +deploys.getBaseHttp2Producer().stop(); + } +
[GitHub] heyile opened a new pull request #947: [SCB-837] make http2 production ready
heyile opened a new pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile opened a new pull request #963: [SCB-970] 970 move long short to it-tests
heyile opened a new pull request #963: [SCB-970] 970 move long short to it-tests URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/963 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile closed pull request #963: [SCB-970] 970 move long short to it-tests
heyile closed pull request #963: [SCB-970] 970 move long short to it-tests URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/963 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java index 54c6285cc..6e48bf3f0 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/testcase/TestDataTypePrimitive.java @@ -50,6 +50,14 @@ float floatAdd(float num1, float num2); +long longBody(long input); + +long longAdd(long num1, long num2); + +short shortBody(short input); + +short shortAdd(short num1, short num2); + Color enumBody(Color color); } @@ -113,6 +121,36 @@ float floatAdd(float num1, float num2); +//long +long longPath(long input); + +long longQuery(long input); + +long longHeader(long input); + +long longCookie(long input); + +long longBody(long input); + +long longForm(long input); + +long longAdd(long num1, long num2); + +//short +short shortPath(short input); + +short shortQuery(short input); + +short shortHeader(short input); + +short shortCookie(short input); + +short shortBody(short input); + +short shortForm(short input); + +short shortAdd(short num1, short num2); + // enum Color enumBody(Color color); @@ -1075,6 +1113,461 @@ public void enumBody_springmvc_intf() { assertEquals(Color.BLUE, consumersSpringmvc.getIntf().enumBody(Color.BLUE)); } + //long + @Test + public void long_pojo_intf() { +assertEquals(100L, consumersPojo.getIntf().longBody(100L)); + } + + @Test + public void long_pojo_rt() { +Map map = new HashMap<>(); +map.put("input", 100L); +assertEquals(100L, (long) consumersPojo.getSCBRestTemplate().postForObject("/longBody", map, long.class)); + } + + @Test + public void longAdd_pojo_intf() { +assertEquals(300L, consumersPojo.getIntf().longAdd(100L, 200L)); + } + + @Test + public void longAdd_pojo_rt() { +Map map = new HashMap<>(); +map.put("num1", 100L); +map.put("num2", 200L); +assertEquals(300L, (long) consumersPojo.getSCBRestTemplate().postForObject("/longAdd", map, long.class)); + } + + @Test + public void longPath_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longPath(100L)); + } + + @Test + public void longPath_jaxrs_rt() { +assertEquals(100L, (long) consumersJaxrs.getSCBRestTemplate().getForObject("/longPath/100", long.class)); + } + + @Test + public void longQuery_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longQuery(100L)); + } + + @Test + public void longQuery_jaxrs_rt() { +assertEquals(100L, +(long) consumersJaxrs.getSCBRestTemplate().getForObject("/longQuery?input=100", long.class)); + } + + @Test + public void longHeader_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longHeader(100L)); + } + + @Test + public void longHeader_jaxrs_rt() { +longHeader_rt(consumersJaxrs); + } + + protected void longHeader_rt(Consumers + consumers) { +HttpHeaders headers = new HttpHeaders(); +headers.add("input", "100"); + +@SuppressWarnings("rawtypes") +HttpEntity entity = new HttpEntity<>(null, headers); +ResponseEntity response = consumers.getSCBRestTemplate() +.exchange("/longHeader", +HttpMethod.GET, +entity, +long.class); +assertEquals(100L, (long) response.getBody()); + } + + @Test + public void longCookie_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longCookie(100L)); + } + + @Test + public void longCookie_jaxrs_rt() { +longCookie_rt(consumersJaxrs); + } + + void longCookie_rt(Consumers + consumers) { +HttpHeaders headers = new HttpHeaders(); +headers.add("Cookie", "input=100"); + +@SuppressWarnings("rawtypes") +HttpEntity entity = new HttpEntity<>(null, headers); +ResponseEntity response = consumers.getSCBRestTemplate() +.exchange("/longCookie", +HttpMethod.GET, +entity, +long.class); +assertEquals(100L, (long) response.getBody()); + } + + @Test + public void longForm_jaxrs_intf() { +assertEquals(100L, consumersJaxrs.getIntf().longForm(100L)); + } + + @Test + public void longForm_jaxrs_rt() { +Map map = new HashMap<>(); +map.put("input", 100L); +HttpEntity> formEntiry = new HttpEntity<>(map); + +assertEquals(100L,
[GitHub] heyile closed pull request #947: [SCB-837] make http2 production ready
heyile closed pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java index 98f5fd205..d8d5286b1 100644 --- a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java +++ b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/metrics/DefaultHttpClientMetrics.java @@ -34,6 +34,7 @@ */ public class DefaultHttpClientMetrics implements HttpClientMetrics { + private final DefaultClientEndpointMetricManager clientEndpointMetricManager; private final HttpClient client; @@ -77,8 +78,9 @@ public void dequeueRequest(DefaultClientEndpointMetric endpointMetric, Object ta @Override public void endpointConnected(DefaultClientEndpointMetric endpointMetric, DefaultHttpSocketMetric socketMetric) { -socketMetric.setEndpointMetric(endpointMetric); -endpointMetric.onConnect(); +// as http2 client will not invoke this method, the endpointMetric info will lost. +// you can get more details from https://github.com/eclipse-vertx/vert.x/issues/2660 +// hence, we will set endpointMetric info in the method connected(SocketAddress remoteAddress, String remoteName) } @Override @@ -133,7 +135,22 @@ public void disconnected(Object webSocketMetric) { @Override public DefaultHttpSocketMetric connected(SocketAddress remoteAddress, String remoteName) { -return new DefaultHttpSocketMetric(null); +// when host of createEndpoint is not ip but a hostName +// get from remoteAddress will return null +// in this time need to try again with remoteName +// connected is a low frequency method, this try logic will not cause performance problem + +DefaultClientEndpointMetric clientEndpointMetric = this.clientEndpointMetricManager +.getClientEndpointMetric(remoteAddress); +if (clientEndpointMetric == null) { + SocketAddressImpl address = new SocketAddressImpl(remoteAddress.port(), remoteName); + clientEndpointMetric = this.clientEndpointMetricManager.getClientEndpointMetric(address); +} +// it's better to be done in endpointConnected +// but there is bug before vertx 3.6.0 vertx not invoke endpointConnected for http2 +// to avoid this bug, we move the logic here +clientEndpointMetric.onConnect(); +return new DefaultHttpSocketMetric(clientEndpointMetric); } @Override diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java index e7455da26..ced194cd7 100644 --- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java +++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java @@ -104,7 +104,12 @@ protected static void run() throws Throwable { // .. testSpringBoot2Standalone(); + +testHttp2CStandalone(); + testSpringBoot2Servlet(); +//http2 +testHttp2Standalone(); deploys.getEdge().stop(); } @@ -145,6 +150,42 @@ private static void testStandalone() throws Throwable { deploys.getBaseProducer().stop(); } + private static void testHttp2CStandalone() throws Throwable { +deploys.getBaseHttp2CProducer().ensureReady(); + +ITJUnitUtils.addProducer("it-producer"); + +runShareTestCases(); + +// currently not support update 3rd url, so only test once +ITJUnitUtils.run(Test3rdPartyInvocation.class); + +//as setMaxInitialLineLength() is not work for http2, do not need +// ITJUnitUtils.runWithRest(TestRestServerConfig.class) +ITJUnitUtils.run(TestRestServerConfigEdge.class); + +ITJUnitUtils.popProducer(); +deploys.getBaseHttp2CProducer().stop(); + } + + private static void testHttp2Standalone() throws Throwable { +deploys.getBaseHttp2Producer().ensureReady(); + +ITJUnitUtils.addProducer("it-producer"); + +runShareTestCases(); + +// currently not support update 3rd url, so only test once +ITJUnitUtils.run(Test3rdPartyInvocation.class); + +//as setMaxInitialLineLength() is not work for http2, do not need +// ITJUnitUtils.runWithRest(TestRestServerConfig.class) +ITJUnitUtils.run(TestRestServerConfigEdge.class); + +ITJUnitUtils.popProducer(); +deploys.getBaseHttp2Producer().stop(); + } +
[GitHub] heyile opened a new pull request #947: [SCB-837] make http2 production ready
heyile opened a new pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile commented on a change in pull request #947: [SCB-837] make http2 production ready
heyile commented on a change in pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947#discussion_r226935547 ## File path: integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java ## @@ -187,6 +194,23 @@ private void initBaseProducer() { baseProducer = new MicroserviceDeploy(definition); } + + private void initBaseHttp2Producer() { +MicroserviceDeployDefinition definition = new MicroserviceDeployDefinition(); +definition.setDeployName("baseHttp2Producer"); +definition.setCmd("it-producer"); +definition.setArgs(new String[] {}); +definition.setArgs(new String[] {"-Dservicecomb.rest.address=0.0.0.0:0?protocol=http2", +"-Dservicecomb.highway.address=0.0.0.0:0?protocol=http2"}); Review comment: you means do not need to overide ? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile commented on a change in pull request #947: [SCB-837] make http2 production ready
heyile commented on a change in pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947#discussion_r226934287 ## File path: integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java ## @@ -187,6 +194,23 @@ private void initBaseProducer() { baseProducer = new MicroserviceDeploy(definition); } + + private void initBaseHttp2Producer() { +MicroserviceDeployDefinition definition = new MicroserviceDeployDefinition(); +definition.setDeployName("baseHttp2Producer"); +definition.setCmd("it-producer"); +definition.setArgs(new String[] {}); +definition.setArgs(new String[] {"-Dservicecomb.rest.address=0.0.0.0:0?protocol=http2", +"-Dservicecomb.highway.address=0.0.0.0:0?protocol=http2"}); Review comment: do not need ? or do need ? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] WillemJiang commented on issue #316: compensationMethod spring transaction didn't take effect
WillemJiang commented on issue #316: compensationMethod spring transaction didn't take effect URL: https://github.com/apache/incubator-servicecomb-saga/issues/316#issuecomment-431846676 @minlywang Can you check the code and build it yourself? I guess there are some jars are out of date. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] lujiango opened a new issue #964: 支持实时语音流的上传吗?
lujiango opened a new issue #964: 支持实时语音流的上传吗? URL: https://github.com/apache/incubator-servicecomb-java-chassis/issues/964 目前想做一个类似子弹短信的应用,端侧实时上传语音流,目前基于servicecomb的云侧支持实时接收语音流吗?如果支持,如何实现呢? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] minlywang commented on issue #316: compensationMethod spring transaction didn't take effect
minlywang commented on issue #316: compensationMethod spring transaction didn't take effect URL: https://github.com/apache/incubator-servicecomb-saga/issues/316#issuecomment-431798299 @WillemJiang **I have updated the jars but got the following error** ``` org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl' defined in file [D:\Users\xxx\workspace\uaa\target\classes\com\xxx\z\microservice\xxx\uaa\service\impl\UserServiceImpl.class]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.apache.servicecomb.saga.omega.context.CallbackContext.addCallbackContext(Ljava/lang/reflect/Method;Ljava/lang/Object;)V at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:589) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:503) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:760) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) at com.ifelc.z.microservice.yiwen.uaa.UaaApp.main(UaaApp.java:67) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) Caused by: java.lang.NoSuchMethodError: org.apache.servicecomb.saga.omega.context.CallbackContext.addCallbackContext(Ljava/lang/reflect/Method;Ljava/lang/Object;)V at org.apache.servicecomb.saga.omega.transaction.spring.MethodCheckingCallback.loadMethodContext(MethodCheckingCallback.java:48) at org.apache.servicecomb.saga.omega.transaction.spring.CompensableMethodCheckingCallback.doWith(CompensableMethodCheckingCallback.java:36) at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:562) at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:541) at org.apache.servicecomb.saga.omega.transaction.spring.CompensableAnnotationProcessor.checkMethod(CompensableAnnotationProcessor.java:50) at org.apache.servicecomb.saga.omega.transaction.spring.CompensableAnnotationProcessor.postProcessBeforeInitialization(CompensableAnnotationProcessor.java:39) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:424) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1700) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:581) ... 18 common frames omitted ``` This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile commented on a change in pull request #947: [SCB-837] make http2 production ready
heyile commented on a change in pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947#discussion_r226934287 ## File path: integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java ## @@ -187,6 +194,23 @@ private void initBaseProducer() { baseProducer = new MicroserviceDeploy(definition); } + + private void initBaseHttp2Producer() { +MicroserviceDeployDefinition definition = new MicroserviceDeployDefinition(); +definition.setDeployName("baseHttp2Producer"); +definition.setCmd("it-producer"); +definition.setArgs(new String[] {}); +definition.setArgs(new String[] {"-Dservicecomb.rest.address=0.0.0.0:0?protocol=http2", +"-Dservicecomb.highway.address=0.0.0.0:0?protocol=http2"}); Review comment: do not need ? or do need ? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile commented on a change in pull request #947: [SCB-837] make http2 production ready
heyile commented on a change in pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947#discussion_r226935547 ## File path: integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java ## @@ -187,6 +194,23 @@ private void initBaseProducer() { baseProducer = new MicroserviceDeploy(definition); } + + private void initBaseHttp2Producer() { +MicroserviceDeployDefinition definition = new MicroserviceDeployDefinition(); +definition.setDeployName("baseHttp2Producer"); +definition.setCmd("it-producer"); +definition.setArgs(new String[] {}); +definition.setArgs(new String[] {"-Dservicecomb.rest.address=0.0.0.0:0?protocol=http2", +"-Dservicecomb.highway.address=0.0.0.0:0?protocol=http2"}); Review comment: you means do not need to overide ? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile commented on a change in pull request #947: [SCB-837] make http2 production ready
heyile commented on a change in pull request #947: [SCB-837] make http2 production ready URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/947#discussion_r226935470 ## File path: integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java ## @@ -187,6 +194,23 @@ private void initBaseProducer() { baseProducer = new MicroserviceDeploy(definition); } + + private void initBaseHttp2Producer() { +MicroserviceDeployDefinition definition = new MicroserviceDeployDefinition(); +definition.setDeployName("baseHttp2Producer"); +definition.setCmd("it-producer"); +definition.setArgs(new String[] {}); +definition.setArgs(new String[] {"-Dservicecomb.rest.address=0.0.0.0:0?protocol=http2", +"-Dservicecomb.highway.address=0.0.0.0:0?protocol=http2"}); Review comment: you means do not need to overide ? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] heyile opened a new pull request #963: [SCB-970] 970 move long short to it-tests
heyile opened a new pull request #963: [SCB-970] 970 move long short to it-tests URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/963 Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. - [ ] Each commit in the pull request should have a meaningful subject line and body. - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue. - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why. - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). --- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] coveralls edited a comment on issue #937: [SCB-718]If auto discovery failed, will cause a dead cycle
coveralls edited a comment on issue #937: [SCB-718]If auto discovery failed, will cause a dead cycle URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/937#issuecomment-425730811 [![Coverage Status](https://coveralls.io/builds/19645439/badge)](https://coveralls.io/builds/19645439) Coverage increased (+0.2%) to 86.402% when pulling **06472d01a03c117ec910c9a180bced96e33f001b on laijianbin:cache** into **6aadae0de82b3b3940f0c163b815d6675aedc2bc on apache:master**. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] coveralls edited a comment on issue #937: [SCB-718]If auto discovery failed, will cause a dead cycle
coveralls edited a comment on issue #937: [SCB-718]If auto discovery failed, will cause a dead cycle URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/937#issuecomment-425730811 [![Coverage Status](https://coveralls.io/builds/19645344/badge)](https://coveralls.io/builds/19645344) Coverage increased (+0.2%) to 86.398% when pulling **06472d01a03c117ec910c9a180bced96e33f001b on laijianbin:cache** into **6aadae0de82b3b3940f0c163b815d6675aedc2bc on apache:master**. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[incubator-servicecomb-website] branch asf-site updated (0c5a0d8 -> f654f02)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 0c5a0d8 Merge branch 'master' into asf-site add 60fb14f Added the file which should not be deleted new a502adf Merge branch 'master' into asf-site new f654f02 Publish the website The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: assets/images/OSI/OSI-Workshop-1.jpg | Bin 0 -> 1284915 bytes content/assets/images/OSI/OSI-Workshop-1.jpg | Bin 0 -> 1284915 bytes content/feed.xml | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 assets/images/OSI/OSI-Workshop-1.jpg create mode 100644 content/assets/images/OSI/OSI-Workshop-1.jpg
[incubator-servicecomb-website] 02/02: Publish the website
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit f654f02d30d4426c76760eb9b15d2383e9607d81 Author: Willem Jiang AuthorDate: Mon Oct 22 14:06:15 2018 +0800 Publish the website --- content/assets/images/OSI/OSI-Workshop-1.jpg | Bin 0 -> 1284915 bytes content/feed.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/content/assets/images/OSI/OSI-Workshop-1.jpg b/content/assets/images/OSI/OSI-Workshop-1.jpg new file mode 100644 index 000..b52a7b7 Binary files /dev/null and b/content/assets/images/OSI/OSI-Workshop-1.jpg differ diff --git a/content/feed.xml b/content/feed.xml index 6f225d9..46813c0 100644 --- a/content/feed.xml +++ b/content/feed.xml @@ -1,4 +1,4 @@ -http://www.w3.org/2005/Atom; >https://jekyllrb.com/; version="3.4.3">Jekyll2018-10-21T15:26:49+08:00/Apache ServiceCombThe homepage of ServiceComb{name=nil, avatar=/assets [...] +http://www.w3.org/2005/Atom; >https://jekyllrb.com/; version="3.4.3">Jekyll2018-10-22T14:05:20+08:00/Apache ServiceCombThe homepage of ServiceComb{name=nil, avatar=/assets [...] pstrongEvent Location/strong: Workshop Hall 3, Nimhans Convention Center, Bangalore, India/p
[incubator-servicecomb-website] 01/02: Merge branch 'master' into asf-site
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit a502adf7c8c9e1e1e3a7cb3cc58ab9a8fa5da416 Merge: 0c5a0d8 60fb14f Author: Willem Jiang AuthorDate: Mon Oct 22 14:05:11 2018 +0800 Merge branch 'master' into asf-site assets/images/OSI/OSI-Workshop-1.jpg | Bin 0 -> 1284915 bytes 1 file changed, 0 insertions(+), 0 deletions(-)
[incubator-servicecomb-website] branch master updated (798e6d7 -> 60fb14f)
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git. from 798e6d7 Removed the unused images add 60fb14f Added the file which should not be deleted No new revisions were added by this update. Summary of changes: assets/images/OSI/OSI-Workshop-1.jpg | Bin 0 -> 1284915 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/images/OSI/OSI-Workshop-1.jpg