[GitHub] laijianbin commented on issue #935: [SCB-942]Choose the highest priority from all implementation classes
laijianbin commented on issue #935: [SCB-942]Choose the highest priority from all implementation classes URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/935#issuecomment-427728308 closed 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] laijianbin closed pull request #935: [SCB-942]Choose the highest priority from all implementation classes
laijianbin closed pull request #935: [SCB-942]Choose the highest priority from all implementation classes URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/935 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-common/src/main/java/org/apache/servicecomb/foundation/common/utils/SPIServiceUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/SPIServiceUtils.java index ea8a0bc12..b8b74adcb 100644 --- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/SPIServiceUtils.java +++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/SPIServiceUtils.java @@ -149,7 +149,7 @@ private SPIServiceUtils() { List services = getOrLoadSortedService(serviceType); return (IMPL) services .stream() -.filter(service -> service.getClass().equals(implType)) +.filter(service -> implType.isAssignableFrom(service.getClass())) .findFirst() .orElse(null); } diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestPriority.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestPriority.java new file mode 100644 index 0..0c0103daf --- /dev/null +++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestPriority.java @@ -0,0 +1,23 @@ +/* + * 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.servicecomb.foundation.common.utils; + +public interface TestPriority { + public int getOrder(); +} diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestPriotiryImpl.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestPriotiryImpl.java new file mode 100644 index 0..1236a61ca --- /dev/null +++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestPriotiryImpl.java @@ -0,0 +1,28 @@ +/* + * 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.servicecomb.foundation.common.utils; + +public class TestPriotiryImpl implements TestPriority{ + + @Override + public int getOrder() { + return 0; + } + +} diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestSPIServiceUtils.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestSPIServiceUtils.java index 6b26ff9e8..f55057313 100644 --- a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestSPIServiceUtils.java +++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestSPIServiceUtils.java @@ -154,4 +154,9 @@ public void getPriorityHighestServices() { Map, List> cache = Deencapsulation.getField(SPIServiceUtils.class, "cache"); cache.clear(); } + + @Test + public void testGetTargetService() { +Assert.assertEquals(-1, SPIServiceUtils.getTargetService(TestPriority.class,
[GitHub] liubao68 commented on a change in pull request #935: [SCB-942]Choose the highest priority from all implementation classes
liubao68 commented on a change in pull request #935: [SCB-942]Choose the highest priority from all implementation classes URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/935#discussion_r223244466 ## File path: foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/SPIServiceUtils.java ## @@ -149,7 +149,7 @@ private SPIServiceUtils() { List services = getOrLoadSortedService(serviceType); return (IMPL) services .stream() -.filter(service -> service.getClass().equals(implType)) +.filter(service -> implType.isAssignableFrom(service.getClass())) Review comment: I have updated the JIRA status. This PR is not valid. Please close it. 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 (77b33c0 -> e27a531)
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 77b33c0 Publish the website add bba648b fix date issue add f7523f2 fix date issue new 44985fe Merge branch 'master' into asf-site new e27a531 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: ...9-28-Apache-ServiceComb-Meetup-2018-Shanghai.md | 2 +- .../index.html | 4 +- .../docs/apache-servicecomb-day-slides/index.html | 2 +- .../apache-servicecomb-incubating-day/index.html | 2 +- content/cn/docs/autoscale-on-company/index.html| 4 +- .../index.html | 2 +- content/cn/docs/communication-btw-sc-ms/index.html | 2 +- content/cn/docs/company-on-kubernetes/index.html | 4 +- .../cn/docs/config_center_integration/index.html | 2 +- content/cn/docs/consul-servicemesh.html| 2 +- content/cn/docs/crm-part-I/index.html | 2 +- .../index.html | 2 +- content/cn/docs/distributed_saga_1/index.html | 2 +- content/cn/docs/distributed_saga_2/index.html | 2 +- content/cn/docs/distributed_saga_3/index.html | 2 +- content/cn/docs/go-to-cloud/index.html | 2 +- .../index.html | 2 +- .../docs/how-to-reform-a-legacy-system/index.html | 2 +- content/cn/docs/jira_beginner_guide/index.html | 2 +- content/cn/docs/join_the_community/index.html | 2 +- content/cn/docs/linuxcon-workshop-demo/index.html | 2 +- .../cn/docs/maven_dependency_management/index.html | 2 +- content/cn/docs/open-design/index.html | 4 +- .../index.html | 2 +- content/cn/docs/release-note-1-0-0.html| 2 +- content/cn/docs/saga_pack_design/index.html| 2 +- content/cn/docs/saga_with_cucumber/index.html | 2 +- .../seckill-development-journey-part-I/index.html | 2 +- .../seckill-development-journey-part-II/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../cn/docs/tracing-with-servicecomb/index.html| 2 +- content/cn/slides/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../apache-servicecomb-incubating-day/index.html | 2 +- content/docs/autoscale-on-company/index.html | 4 +- content/docs/communication-btw-sc-ms/index.html| 2 +- content/docs/company-on-kubernetes/index.html | 4 +- content/docs/distributed_saga_1/index.html | 2 +- content/docs/distributed_saga_2/index.html | 2 +- content/docs/distributed_saga_3/index.html | 2 +- content/docs/go-to-cloud/index.html| 2 +- .../docs/how-to-reform-a-legacy-system/index.html | 2 +- content/docs/howto-upgrade-topzipkin2/index.html | 2 +- content/docs/linuxcon-workshop-demo/index.html | 2 +- content/docs/release-note-1-0-0/index.html | 2 +- .../seckill-development-journey-part-I/index.html | 2 +- .../seckill-development-journey-part-II/index.html | 2 +- .../index.html | 2 +- content/docs/service-center-ui/index.html | 2 +- .../service-registry-refactor-proposal/index.html | 2 +- .../index.html | 2 +- content/docs/tracing-with-servicecomb/index.html | 2 +- content/feed.xml | 22 +- content/sitemap.xml| 416 ++--- content/slides/index.html | 2 +- 57 files changed, 280 insertions(+), 280 deletions(-)
[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 e27a5315d1912c9f0a7f5e9222d695bd26b0a8e5 Author: Willem Jiang AuthorDate: Mon Oct 8 11:39:22 2018 +0800 Publish the website --- .../index.html | 4 +- .../docs/apache-servicecomb-day-slides/index.html | 2 +- .../apache-servicecomb-incubating-day/index.html | 2 +- content/cn/docs/autoscale-on-company/index.html| 4 +- .../index.html | 2 +- content/cn/docs/communication-btw-sc-ms/index.html | 2 +- content/cn/docs/company-on-kubernetes/index.html | 4 +- .../cn/docs/config_center_integration/index.html | 2 +- content/cn/docs/consul-servicemesh.html| 2 +- content/cn/docs/crm-part-I/index.html | 2 +- .../index.html | 2 +- content/cn/docs/distributed_saga_1/index.html | 2 +- content/cn/docs/distributed_saga_2/index.html | 2 +- content/cn/docs/distributed_saga_3/index.html | 2 +- content/cn/docs/go-to-cloud/index.html | 2 +- .../index.html | 2 +- .../docs/how-to-reform-a-legacy-system/index.html | 2 +- content/cn/docs/jira_beginner_guide/index.html | 2 +- content/cn/docs/join_the_community/index.html | 2 +- content/cn/docs/linuxcon-workshop-demo/index.html | 2 +- .../cn/docs/maven_dependency_management/index.html | 2 +- content/cn/docs/open-design/index.html | 4 +- .../index.html | 2 +- content/cn/docs/release-note-1-0-0.html| 2 +- content/cn/docs/saga_pack_design/index.html| 2 +- content/cn/docs/saga_with_cucumber/index.html | 2 +- .../seckill-development-journey-part-I/index.html | 2 +- .../seckill-development-journey-part-II/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../cn/docs/tracing-with-servicecomb/index.html| 2 +- content/cn/slides/index.html | 2 +- .../index.html | 2 +- .../index.html | 2 +- .../apache-servicecomb-incubating-day/index.html | 2 +- content/docs/autoscale-on-company/index.html | 4 +- content/docs/communication-btw-sc-ms/index.html| 2 +- content/docs/company-on-kubernetes/index.html | 4 +- content/docs/distributed_saga_1/index.html | 2 +- content/docs/distributed_saga_2/index.html | 2 +- content/docs/distributed_saga_3/index.html | 2 +- content/docs/go-to-cloud/index.html| 2 +- .../docs/how-to-reform-a-legacy-system/index.html | 2 +- content/docs/howto-upgrade-topzipkin2/index.html | 2 +- content/docs/linuxcon-workshop-demo/index.html | 2 +- content/docs/release-note-1-0-0/index.html | 2 +- .../seckill-development-journey-part-I/index.html | 2 +- .../seckill-development-journey-part-II/index.html | 2 +- .../index.html | 2 +- content/docs/service-center-ui/index.html | 2 +- .../service-registry-refactor-proposal/index.html | 2 +- .../index.html | 2 +- content/docs/tracing-with-servicecomb/index.html | 2 +- content/feed.xml | 22 +- content/sitemap.xml| 416 ++--- content/slides/index.html | 2 +- 56 files changed, 279 insertions(+), 279 deletions(-) diff --git a/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html b/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html index ff43b9e..82ee2aa 100644 --- a/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html +++ b/content/cn/docs/Apache-ServiceComb-Meetup-2018-Shanghai/index.html @@ -70,7 +70,7 @@ - + @@ -391,7 +391,7 @@ Apache ServiceComb Meetup -会议日期/时间:2018 年 10 月 12 日,星期三,1:30 – 16:50 +会议日期/时间:2018 年 10 月 12 日,星期五,13:30–16:50 会议地址:上海世博展览馆416-417会议厅,上海, Room 416-417 diff --git a/content/cn/docs/apache-servicecomb-day-slides/index.html b/content/cn/docs/apache-servicecomb-day-slides/index.html index c641410..174a4ef 100644 --- a/content/cn/docs/apache-servicecomb-day-slides/index.html +++ b/content/cn/docs/apache-servicecomb-day-slides/index.html @@ -70,7 +70,7 @@ - + diff --git a/content/cn/docs/apache-servicecomb-incubating-day/index.html b/content/cn/docs/apache-servicecomb-incubating-day/index.html index 8fe6816..e10086d 100644 --- a/content/cn/docs/apache-servicecomb-incubating-day/index.html +++
[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 44985fe5bcf00defe7c8cc7768b1faf9101528fd Merge: 77b33c0 f7523f2 Author: Willem Jiang AuthorDate: Mon Oct 8 11:38:16 2018 +0800 Merge branch 'master' into asf-site _posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[incubator-servicecomb-website] branch master updated (28b1fb5 -> f7523f2)
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 28b1fb5 Updated the meetup post new bba648b fix date issue new f7523f2 fix date issue 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: _posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[GitHub] WillemJiang closed pull request #141: fix date issue
WillemJiang closed pull request #141: fix date issue URL: https://github.com/apache/incubator-servicecomb-website/pull/141 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/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md b/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md index 2835c4c4..5867c9c2 100644 --- a/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md +++ b/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md @@ -15,7 +15,7 @@ redirect_from: **Apache ServiceComb Meetup** -**会议日期/时间**:2018 年 10 月 12 日,星期三,1:30 – 16:50 +**会议日期/时间**:2018 年 10 月 12 日,星期五,13:30–16:50 **会议地址**:上海世博展览馆416-417会议厅,上海, **Room 416-417** 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] 02/02: fix date issue
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit f7523f2108aba3bf6d04f6948f1f7db9836bd44f Author: DeanLee AuthorDate: Mon Oct 8 10:21:11 2018 +0800 fix date issue --- _posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md b/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md index 686f0fa..5867c9c 100644 --- a/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md +++ b/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md @@ -15,7 +15,7 @@ redirect_from: **Apache ServiceComb Meetup** -**会议日期/时间**:2018 年 10 月 12 日,星期五,1:30 – 16:50 +**会议日期/时间**:2018 年 10 月 12 日,星期五,13:30–16:50 **会议地址**:上海世博展览馆416-417会议厅,上海, **Room 416-417**
[incubator-servicecomb-website] 01/02: fix date issue
This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-website.git commit bba648bf59724ef2da13bd622df3ce8d02896fc1 Author: DeanLee AuthorDate: Mon Oct 8 09:58:05 2018 +0800 fix date issue --- _posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md b/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md index 2835c4c..686f0fa 100644 --- a/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md +++ b/_posts/cn/2018-09-28-Apache-ServiceComb-Meetup-2018-Shanghai.md @@ -15,7 +15,7 @@ redirect_from: **Apache ServiceComb Meetup** -**会议日期/时间**:2018 年 10 月 12 日,星期三,1:30 – 16:50 +**会议日期/时间**:2018 年 10 月 12 日,星期五,1:30 – 16:50 **会议地址**:上海世博展览馆416-417会议厅,上海, **Room 416-417**
[GitHub] minlywang edited a comment on issue #316: compensationMethod spring transaction didn't take effect
minlywang edited a comment on issue #316: compensationMethod spring transaction didn't take effect URL: https://github.com/apache/incubator-servicecomb-saga/issues/316#issuecomment-425728877 @WillemJiang What I meant was that the annotation of "@Transactional" did not work when the method of disAgreePatient was invoked. 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 #944: [SCB-950] modify consumer producer metrics and add edge metrics
coveralls edited a comment on issue #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#issuecomment-427647235 [![Coverage Status](https://coveralls.io/builds/19396549/badge)](https://coveralls.io/builds/19396549) Coverage decreased (-0.05%) to 86.155% when pulling **5b9f16e16e12204294b78be2ed161ac9691d505e on heyile:metrics_apm** 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] imlidian opened a new pull request #141: fix date issue
imlidian opened a new pull request #141: fix date issue URL: https://github.com/apache/incubator-servicecomb-website/pull/141 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 #944: [SCB-950] modify consumer producer metrics and add edge metrics
heyile commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#discussion_r223237818 ## File path: metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java ## @@ -106,83 +117,117 @@ protected void printThreadPoolMetrics(DefaultPublishModel model, StringBuilder s } } + protected void printEdgeLog(DefaultPublishModel model, StringBuilder sb) { +OperationPerfGroups edgePerf = model.getEdge().getOperationPerfGroups(); +if (edgePerf == null) { + return; +} +sb.append(String.format(SIMPLE_HEADER, "edge")); +//clear old data +MeterStatisticsManager.statisticsOperationMap.clear(); Review comment: I have removed the global variable 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] oliugian closed pull request #313: SCB-915:saga alpha event scanner optimization
oliugian closed pull request #313: SCB-915:saga alpha event scanner optimization URL: https://github.com/apache/incubator-servicecomb-saga/pull/313 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/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CommandRepository.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CommandRepository.java index 2bbea774..6e50619b 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CommandRepository.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CommandRepository.java @@ -21,11 +21,15 @@ public interface CommandRepository { - void saveCompensationCommands(String globalTxId); + void saveCompensationCommands(String globalTxId, String localTxId); void markCommandAsDone(String globalTxId, String localTxId); + void markCommandAsPending(String globalTxId, String localTxId); + List findUncompletedCommands(String globalTxId); - List findFirstCommandToCompensate(); + List findAllCommandsToCompensate(); + + List findPendingCommands(); } diff --git a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallbackRunner.java similarity index 50% rename from alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java rename to alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallbackRunner.java index 54e78f7b..058e570c 100644 --- a/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallback.java +++ b/alpha/alpha-core/src/main/java/org/apache/servicecomb/saga/alpha/core/CompositeOmegaCallbackRunner.java @@ -20,22 +20,35 @@ import static java.util.Collections.emptyMap; import java.lang.invoke.MethodHandles; +import java.util.ArrayList; +import java.util.List; import java.util.Map; +import java.util.concurrent.Callable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class CompositeOmegaCallback implements OmegaCallback { +public class CompositeOmegaCallbackRunner implements OmegaCallback, Callable> { + private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private final Map> callbacks; + private final List txEvents; - public CompositeOmegaCallback(Map> callbacks) { + public CompositeOmegaCallbackRunner(Map> callbacks, + List txEvents) { this.callbacks = callbacks; +this.txEvents = txEvents; + } + + @Override + public List call() { +return compensateAllEvents(txEvents); } @Override public void compensate(TxEvent event) { -Map serviceCallbacks = callbacks.getOrDefault(event.serviceName(), emptyMap()); +Map serviceCallbacks = callbacks +.getOrDefault(event.serviceName(), emptyMap()); if (serviceCallbacks.isEmpty()) { throw new AlphaException("No such omega callback found for service " + event.serviceName()); @@ -43,7 +56,8 @@ public void compensate(TxEvent event) { OmegaCallback omegaCallback = serviceCallbacks.get(event.instanceId()); if (omegaCallback == null) { - LOG.info("Cannot find the service with the instanceId {}, call the other instance.", event.instanceId()); + LOG.info("Cannot find the service with the instanceId {}, call the other instance.", + event.instanceId()); omegaCallback = serviceCallbacks.values().iterator().next(); } @@ -54,4 +68,37 @@ public void compensate(TxEvent event) { throw e; } } + + @Override + public List compensateAllEvents(List txEvents) { +List resultTxEvents = new ArrayList<>(); +for (TxEvent txEvent : txEvents) { + try { +LOG.info("compensating event with globalTxId: {} localTxId: {}", txEvent.globalTxId(), +txEvent.localTxId()); +this.compensate(txEvent); +resultTxEvents.add(txEvent); + } catch (AlphaException ae) { +LOG.error("compensate event with globalTxId: {} localTxId: {} failed,error message is {}", +txEvent.globalTxId(), txEvent.localTxId(), ae); +break; + } catch (Exception e) { +logError(txEvent, e); + } +} + +return resultTxEvents; + } + + private void logError(TxEvent event, Exception e) { +LOG.error( +"Failed to {} service [{}] instance [{}] with method [{}], global tx id [{}] and local tx id [{}]", +event.retries() == 0 ? "compensate" : "retry", +event.serviceName(), +event.instanceId(), +event.retries() == 0 ? event.compensationMethod() : event.retryMethod(), +
[GitHub] oliugian commented on issue #311: SCB-915:saga alpha event scanner optimization
oliugian commented on issue #311: SCB-915:saga alpha event scanner optimization URL: https://github.com/apache/incubator-servicecomb-saga/pull/311#issuecomment-427702853 ignore it 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] oliugian closed pull request #311: SCB-915:saga alpha event scanner optimization
oliugian closed pull request #311: SCB-915:saga alpha event scanner optimization URL: https://github.com/apache/incubator-servicecomb-saga/pull/311 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/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java index 6b66befb..4775f6b6 100644 --- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java +++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java @@ -202,19 +202,13 @@ public void retryTillSuccess() { fail("unexpected exception throw: " + e); } -assertThat(messages.size(), is(4)); +assertThat(messages.size(), is(2)); assertThat(messages.get(0), is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 2, user, 1) .toString())); -String abortedEvent = messages.get(1); -assertThat(abortedEvent, allOf(containsString("TxAbortedEvent"), containsString("Retry harder"))); - -assertThat(messages.get(2), -is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 1, user, 1) -.toString())); -assertThat(messages.get(3), +assertThat(messages.get(1), is(new TxEndedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2).toString())); assertThat(userRepository.count(), is(1L)); @@ -233,7 +227,7 @@ public void retryReachesMaximumThenThrowsException() { assertThat(e.getMessage(), is("Retry harder")); } -assertThat(messages.size(), is(4)); +assertThat(messages.size(), is(2)); assertThat(messages.get(0), is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 2, user, 3) .toString())); @@ -241,12 +235,6 @@ public void retryReachesMaximumThenThrowsException() { String abortedEvent1 = messages.get(1); assertThat(abortedEvent1, allOf(containsString("TxAbortedEvent"), containsString("Retry harder"))); -assertThat(messages.get(2), -is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 1, user, 3) -.toString())); - -String abortedEvent2 = messages.get(3); -assertThat(abortedEvent2, allOf(containsString("TxAbortedEvent"), containsString("Retry harder"))); assertThat(userRepository.count(), is(0L)); } diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/DefaultRecovery.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/DefaultRecovery.java index 08449813..b37f78db 100644 --- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/DefaultRecovery.java +++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/DefaultRecovery.java @@ -64,13 +64,41 @@ public Object apply(ProceedingJoinPoint joinPoint, Compensable compensable, Comp throw new InvalidTransactionException("Abort sub transaction " + abortedLocalTxId + " because global transaction " + context.globalTxId() + " has already aborted."); } - +int remains = retries; try { - Object result = joinPoint.proceed(); - interceptor.postIntercept(parentTxId, compensationSignature); + while (true) { +try { + Object result = joinPoint.proceed(); + interceptor.postIntercept(parentTxId, compensationSignature); + return result; +} catch (Throwable throwable) { + if (remains == 0){ +throw throwable; + } + remains = remains == -1 ? -1 : remains - 1; + if (remains == 0) { +LOG.error( +"Retried sub tx failed maximum times, global tx id: {}, local tx id: {}, method: {}, retried times: {}", +context.globalTxId(), context.localTxId(), method.toString(), retries); +throw throwable; + } - return result; -} catch (Throwable throwable) { + LOG.warn( + "Retrying sub tx failed, global tx id: {}, local tx id: {}, method: {}, remains: {}", + context.globalTxId(), context.localTxId(), method.toString(), remains); + Thread.sleep(compensable.retryDelayInMilliseconds()); +} + } +} +catch(InterruptedException e) +{ + String errorMessage = "Failed to handle tx because it is
[GitHub] oliugian closed pull request #311: SCB-915:saga alpha event scanner optimization
oliugian closed pull request #311: SCB-915:saga alpha event scanner optimization URL: https://github.com/apache/incubator-servicecomb-saga/pull/311 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/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java index 6b66befb..4775f6b6 100644 --- a/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java +++ b/omega/omega-spring-tx/src/test/java/org/apache/servicecomb/saga/omega/transaction/spring/TransactionInterceptionTest.java @@ -202,19 +202,13 @@ public void retryTillSuccess() { fail("unexpected exception throw: " + e); } -assertThat(messages.size(), is(4)); +assertThat(messages.size(), is(2)); assertThat(messages.get(0), is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 2, user, 1) .toString())); -String abortedEvent = messages.get(1); -assertThat(abortedEvent, allOf(containsString("TxAbortedEvent"), containsString("Retry harder"))); - -assertThat(messages.get(2), -is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 1, user, 1) -.toString())); -assertThat(messages.get(3), +assertThat(messages.get(1), is(new TxEndedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2).toString())); assertThat(userRepository.count(), is(1L)); @@ -233,7 +227,7 @@ public void retryReachesMaximumThenThrowsException() { assertThat(e.getMessage(), is("Retry harder")); } -assertThat(messages.size(), is(4)); +assertThat(messages.size(), is(2)); assertThat(messages.get(0), is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 2, user, 3) .toString())); @@ -241,12 +235,6 @@ public void retryReachesMaximumThenThrowsException() { String abortedEvent1 = messages.get(1); assertThat(abortedEvent1, allOf(containsString("TxAbortedEvent"), containsString("Retry harder"))); -assertThat(messages.get(2), -is(new TxStartedEvent(globalTxId, newLocalTxId, globalTxId, compensationMethod2, 0, retryMethod, 1, user, 3) -.toString())); - -String abortedEvent2 = messages.get(3); -assertThat(abortedEvent2, allOf(containsString("TxAbortedEvent"), containsString("Retry harder"))); assertThat(userRepository.count(), is(0L)); } diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/DefaultRecovery.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/DefaultRecovery.java index 08449813..b37f78db 100644 --- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/DefaultRecovery.java +++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/DefaultRecovery.java @@ -64,13 +64,41 @@ public Object apply(ProceedingJoinPoint joinPoint, Compensable compensable, Comp throw new InvalidTransactionException("Abort sub transaction " + abortedLocalTxId + " because global transaction " + context.globalTxId() + " has already aborted."); } - +int remains = retries; try { - Object result = joinPoint.proceed(); - interceptor.postIntercept(parentTxId, compensationSignature); + while (true) { +try { + Object result = joinPoint.proceed(); + interceptor.postIntercept(parentTxId, compensationSignature); + return result; +} catch (Throwable throwable) { + if (remains == 0){ +throw throwable; + } + remains = remains == -1 ? -1 : remains - 1; + if (remains == 0) { +LOG.error( +"Retried sub tx failed maximum times, global tx id: {}, local tx id: {}, method: {}, retried times: {}", +context.globalTxId(), context.localTxId(), method.toString(), retries); +throw throwable; + } - return result; -} catch (Throwable throwable) { + LOG.warn( + "Retrying sub tx failed, global tx id: {}, local tx id: {}, method: {}, remains: {}", + context.globalTxId(), context.localTxId(), method.toString(), remains); + Thread.sleep(compensable.retryDelayInMilliseconds()); +} + } +} +catch(InterruptedException e) +{ + String errorMessage = "Failed to handle tx because it is
[GitHub] oliugian opened a new pull request #311: SCB-915:saga alpha event scanner optimization
oliugian opened a new pull request #311: SCB-915:saga alpha event scanner optimization URL: https://github.com/apache/incubator-servicecomb-saga/pull/311 omega do not send every try event to alpha.omega do it's try logic by itself. 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 #319: Add files via upload
WillemJiang commented on issue #319: Add files via upload URL: https://github.com/apache/incubator-servicecomb-saga/pull/319#issuecomment-427701488 @bichonghai Thanks for your note, could you provide a markdown version instead of docx and this document could be better be posted as blog in our website. 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 #944: [SCB-950] modify consumer producer metrics and add edge metrics
heyile commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#discussion_r223234373 ## File path: metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterDetailStatisticsModel.java ## @@ -0,0 +1,204 @@ +package org.apache.servicecomb.metrics.core.publish.statistics; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.apache.servicecomb.metrics.core.meter.invocation.MeterInvocationConst; +import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPerf; +import org.apache.servicecomb.metrics.core.publish.model.invocation.PerfInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MeterDetailStatisticsModel { Review comment: Oh, I think I can make it better, maybe I can change the structure when load the data at bellow // group by transport for (MeasurementNode transportNode : node.getChildren().values()) { // group by operation for (MeasurementNode operationNode : transportNode.getChildren().values()) { // group by status for (MeasurementNode statusNode : operationNode.getChildren().values()) { //groups : transport -> statusCode -> operation -> pref PublishUtils.addOperationPerfGroups(groups, transportNode.getName(), operationNode.getName(), statusNode); } } } 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 #944: [SCB-950] modify consumer producer metrics and add edge metrics
heyile commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#discussion_r223234373 ## File path: metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterDetailStatisticsModel.java ## @@ -0,0 +1,204 @@ +package org.apache.servicecomb.metrics.core.publish.statistics; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.apache.servicecomb.metrics.core.meter.invocation.MeterInvocationConst; +import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPerf; +import org.apache.servicecomb.metrics.core.publish.model.invocation.PerfInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MeterDetailStatisticsModel { Review comment: Oh, I think I can make it better, maybe I can change the structure when load the data at bellow // group by transport for (MeasurementNode transportNode : node.getChildren().values()) { // group by operation for (MeasurementNode operationNode : transportNode.getChildren().values()) { // group by status for (MeasurementNode statusNode : operationNode.getChildren().values()) { //groups : transport -> statusCode -> operation -> pref PublishUtils.addOperationPerfGroups(groups, transportNode.getName(), operationNode.getName(), statusNode); } } } 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 #944: [SCB-950] modify consumer producer metrics and add edge metrics
heyile commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#discussion_r223233114 ## File path: metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java ## @@ -106,83 +117,117 @@ protected void printThreadPoolMetrics(DefaultPublishModel model, StringBuilder s } } + protected void printEdgeLog(DefaultPublishModel model, StringBuilder sb) { +OperationPerfGroups edgePerf = model.getEdge().getOperationPerfGroups(); +if (edgePerf == null) { + return; +} +sb.append(String.format(SIMPLE_HEADER, "edge")); +//clear old data +MeterStatisticsManager.statisticsOperationMap.clear(); Review comment: I just use it to load data temporarily as I need restructure the data 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 #944: [SCB-950] modify consumer producer metrics and add edge metrics
heyile commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#discussion_r223233056 ## File path: metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterDetailStatisticsModel.java ## @@ -0,0 +1,204 @@ +package org.apache.servicecomb.metrics.core.publish.statistics; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.apache.servicecomb.metrics.core.meter.invocation.MeterInvocationConst; +import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPerf; +import org.apache.servicecomb.metrics.core.publish.model.invocation.PerfInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MeterDetailStatisticsModel { Review comment: well. the data structure is different with before. for example: old: rest.200: xx xxx xx xx sayHi xxx xx xx xx sayHello rest.400: xx xxx xx xx sayHi xxx xx xx xx sayHello now: sayHi: rest200: xx xx xxx rest400: xx xx xxx sayHello: rest200: xx xx xxx rest400: xx xx xxx Hence, I have to load all data, And then restructure it 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] wujimin commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics
wujimin commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#discussion_r223216695 ## File path: metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java ## @@ -106,83 +117,117 @@ protected void printThreadPoolMetrics(DefaultPublishModel model, StringBuilder s } } + protected void printEdgeLog(DefaultPublishModel model, StringBuilder sb) { +OperationPerfGroups edgePerf = model.getEdge().getOperationPerfGroups(); +if (edgePerf == null) { + return; +} +sb.append(String.format(SIMPLE_HEADER, "edge")); +//clear old data +MeterStatisticsManager.statisticsOperationMap.clear(); Review comment: why need global variable? 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] wujimin commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics
wujimin commented on a change in pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#discussion_r223216687 ## File path: metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterDetailStatisticsModel.java ## @@ -0,0 +1,204 @@ +package org.apache.servicecomb.metrics.core.publish.statistics; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.apache.servicecomb.metrics.core.meter.invocation.MeterInvocationConst; +import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPerf; +import org.apache.servicecomb.metrics.core.publish.model.invocation.PerfInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MeterDetailStatisticsModel { Review comment: why need this model? enum the stages, just like the old logic, seems simpler? 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 commented on issue #944: [SCB-950] modify consumer producer metrics and add edge metrics
coveralls commented on issue #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944#issuecomment-427647235 [![Coverage Status](https://coveralls.io/builds/19391457/badge)](https://coveralls.io/builds/19391457) Coverage decreased (-0.04%) to 86.16% when pulling **7daee583414f656307a9b730c2a8e896d64a97b0 on heyile:metrics_apm** 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] heyile opened a new pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics
heyile opened a new pull request #944: [SCB-950] modify consumer producer metrics and add edge metrics URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/944 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