[GitHub] [servicecomb-java-chassis] liubao68 opened a new pull request #1797: [SCB-1956]Need to provide interface in the DiscoveryManager class to …

2020-05-29 Thread GitBox


liubao68 opened a new pull request #1797:
URL: https://github.com/apache/servicecomb-java-chassis/pull/1797


   …getAllMicroservices
   
   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 -Pit` 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 to 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




[servicecomb-kie] branch master updated: change doc (#141)

2020-05-29 Thread tianxiaoliang
This is an automated email from the ASF dual-hosted git repository.

tianxiaoliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-kie.git


The following commit(s) were added to refs/heads/master by this push:
 new 4cd03b7  change doc (#141)
4cd03b7 is described below

commit 4cd03b7bc2529cced3d82c08e6924bf6f0f36f12
Author: Shawn 
AuthorDate: Sat May 30 10:49:12 2020 +0800

change doc (#141)
---
 docs/api.yaml  | 116 -
 docs/getstarted/install.md |  20 
 docs/getstarted/verify.md  |  61 ++--
 3 files changed, 99 insertions(+), 98 deletions(-)

diff --git a/docs/api.yaml b/docs/api.yaml
index 2c70d55..8c00d5f 100644
--- a/docs/api.yaml
+++ b/docs/api.yaml
@@ -1,10 +1,25 @@
-swagger: "2.0"
+swagger: '2.0'
 info:
-  title: ""
-  version: ""
+  title: ''
+  version: ''
 basePath: /
 paths:
-  /v1/{project}/kie/kv:
+  /v1/health:
+get:
+  summary: health check return version and revision
+  operationId: HealthCheck
+  consumes:
+- application/json
+- text/yaml
+  produces:
+- application/json
+- text/yaml
+  responses:
+'200':
+  description: ''
+  schema:
+$ref: '#/definitions/DocHealthCheck'
+  '/v1/{project}/kie/kv':
 get:
   summary: list key values by labels and key
   operationId: List
@@ -18,26 +33,19 @@ paths:
   type: string
 - name: label
   in: query
-  description: label pairs,for example 
=service:order=version:1.0.0
+  description: 'label pairs,for example 
=service:order=version:1.0.0'
   type: string
 - name: wait
   in: query
-  description: wait until any kv changed. for example wait=5s, server 
will not
-response until 5 seconds, during that time window, if any kv 
changed, server
-will return 200 and kv list, otherwise return 304 and empty body
+  description: 'wait until any kv changed. for example wait=5s, server 
will not response until 5 seconds, during that time window, if any kv changed, 
server will return 200 and kv list, otherwise return 304 and empty body'
   type: string
 - name: match
   in: query
-  description: match works with label query param, it specifies label 
match
-pattern. if it is empty, server will return kv which's labels 
partial match
-the label query param. uf it is exact, server will return kv 
which's labels
-exact match the label query param
+  description: 'match works with label query param, it specifies label 
match pattern. if it is empty, server will return kv which''s labels partial 
match the label query param. uf it is exact, server will return kv which''s 
labels exact match the label query param'
   type: string
 - name: revision
   in: query
-  description: each time you query,server will return a number in 
header X-Kie-Revision.
-you can record it in client side, use this number as param value. 
if current
-revision is greater than it, server will return data
+  description: 'each time you query,server will return a number in 
header X-Kie-Revision. you can record it in client side, use this number as 
param value. if current revision is greater than it, server will return data'
   type: string
 - name: limit
   in: query
@@ -53,16 +61,15 @@ paths:
 - application/json
 - text/yaml
   responses:
-"200":
-  description: ""
+'200':
+  description: ''
   schema:
 $ref: '#/definitions/DocResponseGetKey'
   headers:
 X-Kie-Revision:
-  description: cluster latest revision number, if key value is 
changed,
-it will increase.
+  description: 'cluster latest revision number, if key value is 
changed, it will increase.'
   type: integer
-"304":
+'304':
   description: empty body
 post:
   summary: create a key value
@@ -74,8 +81,7 @@ paths:
   type: string
 - name: Content-Type
   in: header
-  description: used to indicate the media type of the resource, the 
value can
-be application/json or text/yaml
+  description: 'used to indicate the media type of the resource, the 
value can be application/json or text/yaml'
   required: true
   type: string
 - name: body
@@ -90,8 +96,8 @@ paths:
 - application/json
 - text/yaml
   responses:
-"200":
-  description: ""
+'200':
+  description: ''
   schema:
 $ref: '#/definitions/DocResponseSingleKey'
 delete:
@@ -104,8 +110,7 @@ paths:
   type: string
 - name: Content-Type

[GitHub] [servicecomb-kie] tianxiaoliang merged pull request #141: change doc

2020-05-29 Thread GitBox


tianxiaoliang merged pull request #141:
URL: https://github.com/apache/servicecomb-kie/pull/141


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] zhongyi-tim opened a new issue #1796: 依赖了com.huawei.paas.cse:cse-handler-cloud-extension包之后,疯狂打印如下错误日志。要怎么屏蔽?

2020-05-29 Thread GitBox


zhongyi-tim opened a new issue #1796:
URL: https://github.com/apache/servicecomb-java-chassis/issues/1796


   
   config-center-vert.x-eventloop-thread-0|||get url 
https://xx.xxx.x.x:443/api/v1/namespaces/default/secrets/default-secret with 
status: 403
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] coveralls commented on pull request #1795: [SCB-1955] create unify producer invocation flow

2020-05-29 Thread GitBox


coveralls commented on pull request #1795:
URL: 
https://github.com/apache/servicecomb-java-chassis/pull/1795#issuecomment-636261754


   
   [![Coverage 
Status](https://coveralls.io/builds/31129336/badge)](https://coveralls.io/builds/31129336)
   
   Coverage decreased (-0.06%) to 86.372% when pulling 
**7db0afd31d38c71d9ae0f841042a4ab824647557 on 
wujimin:SCB-1955-create-unify-producer-invocation-flow** into 
**184a88fbe1acbdcfb6cb6d3f7535320190262de7 on apache:master**.
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] shijinkui closed issue #1750: microservice.yaml支持include properties,并支持占位符替换property

2020-05-29 Thread GitBox


shijinkui closed issue #1750:
URL: https://github.com/apache/servicecomb-java-chassis/issues/1750


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-kie] GuoYL123 commented on pull request #141: change doc

2020-05-29 Thread GitBox


GuoYL123 commented on pull request #141:
URL: https://github.com/apache/servicecomb-kie/pull/141#issuecomment-636259746


   lgtm



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-kie] tianxiaoliang opened a new pull request #141: change doc

2020-05-29 Thread GitBox


tianxiaoliang opened a new pull request #141:
URL: https://github.com/apache/servicecomb-kie/pull/141


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] wujimin opened a new pull request #1795: [SCB-1955] create unify producer invocation flow

2020-05-29 Thread GitBox


wujimin opened a new pull request #1795:
URL: https://github.com/apache/servicecomb-java-chassis/pull/1795


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] liubao68 commented on issue #1785: 现在ServiceComb是否能支持动态路由注册,以支持服务的重构?

2020-05-29 Thread GitBox


liubao68 commented on issue #1785:
URL: 
https://github.com/apache/servicecomb-java-chassis/issues/1785#issuecomment-636253088


   没有标准化的方式进行这样的扩展,但是应该可以做到的, 方案会显得非常难看和难于维护, 所以就不能给你推荐方案了。 
正如我前一个回复的说明,`如果可以改客户端代码(零代码修改,对使用者透明,但是需要重新编译,也算修改客户端代码), 
我觉得最好的办法就是让客户端排查下,把服务名字改下。`



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] liubao68 merged pull request #1794: [SCB-1947] define Filter and filter chain

2020-05-29 Thread GitBox


liubao68 merged pull request #1794:
URL: https://github.com/apache/servicecomb-java-chassis/pull/1794


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[servicecomb-java-chassis] branch master updated: [SCB-1947] define Filter and filter chain

2020-05-29 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
 new 184a88f  [SCB-1947] define Filter and filter chain
184a88f is described below

commit 184a88fbe1acbdcfb6cb6d3f7535320190262de7
Author: wujimin 
AuthorDate: Wed May 27 21:35:26 2020 +0800

[SCB-1947] define Filter and filter chain
---
 .../org/apache/servicecomb/core/filter/Filter.java |  47 +++
 .../apache/servicecomb/core/filter/FilterMeta.java |  39 ++
 .../apache/servicecomb/core/filter/FilterNode.java |  73 ++
 .../core/filter/impl/ScheduleFilter.java   |  65 +
 .../servicecomb/core/filter/FilterChainTest.java   | 152 +
 .../servicecomb/core/filter/SimpleRetryFilter.java |  89 
 .../foundation/common/utils/AsyncUtils.java|  50 +++
 7 files changed, 515 insertions(+)

diff --git a/core/src/main/java/org/apache/servicecomb/core/filter/Filter.java 
b/core/src/main/java/org/apache/servicecomb/core/filter/Filter.java
new file mode 100644
index 000..017f3f8
--- /dev/null
+++ b/core/src/main/java/org/apache/servicecomb/core/filter/Filter.java
@@ -0,0 +1,47 @@
+/*
+ * 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.core.filter;
+
+import java.util.concurrent.CompletableFuture;
+
+import org.apache.servicecomb.core.Invocation;
+import org.apache.servicecomb.core.SCBEngine;
+import org.apache.servicecomb.swagger.invocation.Response;
+
+public interface Filter {
+  default boolean enabled() {
+return true;
+  }
+
+  default void init(SCBEngine engine) {
+
+  }
+
+  /**
+   *
+   * @param invocation invocation
+   * @param nextNode node filter node
+   * @return response future
+   * even Response can express fail data
+   * but Response only express success data in filter chain
+   * all fail data can only express by exception
+   * 
+   * special for producer:
+   *   if response is failure, then after encode response, 
response.result will be exception.errorData, not a exception
+   */
+  CompletableFuture onFilter(Invocation invocation, FilterNode 
nextNode);
+}
diff --git 
a/core/src/main/java/org/apache/servicecomb/core/filter/FilterMeta.java 
b/core/src/main/java/org/apache/servicecomb/core/filter/FilterMeta.java
new file mode 100644
index 000..680ba45
--- /dev/null
+++ b/core/src/main/java/org/apache/servicecomb/core/filter/FilterMeta.java
@@ -0,0 +1,39 @@
+/*
+ * 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.core.filter;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+@Inherited
+public @interface FilterMeta {
+  String name();
+
+  /**
+   *
+   * @return true to use same instance for all filter chains
+   */
+  boolean shareable() default true;
+}
diff --git 
a/core/src/main/java/org/apache/servicecomb/core/filter/FilterNode.java 
b/core/src/main/java/org/apache/servicecomb/core/filter/FilterNode.java
new file mode 100644
index 000..8a483b2
--- /dev/null
+++ 

[GitHub] [servicecomb-java-chassis] wujimin commented on a change in pull request #1794: [SCB-1947] define Filter and filter chain

2020-05-29 Thread GitBox


wujimin commented on a change in pull request #1794:
URL: 
https://github.com/apache/servicecomb-java-chassis/pull/1794#discussion_r432513092



##
File path: core/src/main/java/org/apache/servicecomb/core/filter/FilterNode.java
##
@@ -0,0 +1,73 @@
+/*
+ * 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.core.filter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.stream.Collectors;
+
+import org.apache.servicecomb.core.Invocation;
+import org.apache.servicecomb.foundation.common.utils.AsyncUtils;
+import org.apache.servicecomb.swagger.invocation.Response;
+
+public class FilterNode {
+  public static FilterNode buildChain(Filter... filters) {
+return buildChain(Arrays.asList(filters));
+  }
+
+  public static FilterNode buildChain(List filters) {
+List filterNodes = filters.stream()
+.map(FilterNode::new)
+.collect(Collectors.toList());
+
+for (int idx = 0; idx < filterNodes.size() - 1; idx++) {
+  filterNodes.get(idx).setNextNode(filterNodes.get(idx + 1));
+}
+
+return filterNodes.get(0);
+  }
+
+  private final Filter filter;
+
+  private FilterNode nextNode;
+
+  public FilterNode(Filter filter) {
+this.filter = filter;
+  }
+
+  public void setNextNode(FilterNode nextNode) {

Review comment:
   done





This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] coveralls edited a comment on pull request #1794: [SCB-1947] define Filter and filter chain

2020-05-29 Thread GitBox


coveralls edited a comment on pull request #1794:
URL: 
https://github.com/apache/servicecomb-java-chassis/pull/1794#issuecomment-635741597


   
   [![Coverage 
Status](https://coveralls.io/builds/31116595/badge)](https://coveralls.io/builds/31116595)
   
   Coverage increased (+0.03%) to 86.365% when pulling 
**d95506674e4e87a7ac823b51390e548961c7b1c5 on 
wujimin:SCB-1947-define-Filter-and-filter-chain** into 
**199f8508f6bd210f27e0a699314464f667b5872d on apache:master**.
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[servicecomb-docs] branch master updated: [SCB-1950]add document on how to using local registry to call 3rd parties

2020-05-29 Thread liubao
This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git


The following commit(s) were added to refs/heads/master by this push:
 new ab663e7  [SCB-1950]add document on how to using local registry to call 
3rd parties
ab663e7 is described below

commit ab663e75927aeffb3c8ff9f64367813d0a06916d
Author: liubao 
AuthorDate: Fri May 29 11:15:51 2020 +0800

[SCB-1950]add document on how to using local registry to call 3rd parties
---
 .../docs/featured-topics/upgrading/2_0_1T2_1_0.md  |   9 ++
 .../zh_CN/docs/registry/introduction.md|  50 +++--
 .../zh_CN/docs/registry/multi-registries.md| 123 +
 java-chassis-reference/zh_CN/docs/toc.md   |   1 +
 java-chassis-reference/zh_CN/mkdocs.yml|   1 +
 5 files changed, 175 insertions(+), 9 deletions(-)

diff --git 
a/java-chassis-reference/zh_CN/docs/featured-topics/upgrading/2_0_1T2_1_0.md 
b/java-chassis-reference/zh_CN/docs/featured-topics/upgrading/2_0_1T2_1_0.md
index 08c91fb..1ed76e8 100644
--- a/java-chassis-reference/zh_CN/docs/featured-topics/upgrading/2_0_1T2_1_0.md
+++ b/java-chassis-reference/zh_CN/docs/featured-topics/upgrading/2_0_1T2_1_0.md
@@ -47,3 +47,12 @@ servicecomb.service.registry.discovery.enabled: true
 ```
 
 详细开发指南参考[注册发现说明](../../registry/introduction.md)
+
+## 服务注册发现 API 的变化
+
+如果直接使用了 `RegistryUtils` 接口, 建议切换到 `DiscoveryManager` 或者 `RegistrationManager`,
+尽管 `RegistryUtils` 接口仍然可以使用。 
+
+如果直接使用了 `DiscoveryTreee` 接口,2.1. 将服务发现的接口移动到了 
`org.apache.servicecomb.registry`,
+当出现编译错误的时候,重新 import 对应的新 package 类即可。 
+
diff --git a/java-chassis-reference/zh_CN/docs/registry/introduction.md 
b/java-chassis-reference/zh_CN/docs/registry/introduction.md
index 0dc65ff..718d3e4 100644
--- a/java-chassis-reference/zh_CN/docs/registry/introduction.md
+++ b/java-chassis-reference/zh_CN/docs/registry/introduction.md
@@ -6,8 +6,8 @@
 最常见的服务发现机制是引入一个中间件服务, 微服务 B 启动的过程中,向中间件服务注册自己的网络地址信息,微服务 A
 访问 B 的时候, 首先从中间件服务查询微服务 B 的网络地址信息。
 
-对于规模较小的系统,也可以不使用中间件服务,而是通过配置文件的方式,在微服务 A 中指定微服务 B 的地址。由于这种
-静态配置的方式,需要提前知道地址信息,比较适合很小规模的系统。
+对于规模较小的系统,也可以不使用中间件服务,而是通过配置文件的方式,在微服务 A 中指定微服务 B 的地址。这种方式
+适合组网情况固定,不会弹性扩缩容的场景。
 
 在局域网环境下,还可以通过广播协议,比如 mDNS 发现其他的服务,这种方式不需要做额外的配置。
 
@@ -15,15 +15,14 @@
 
 * 微服务信息
 
-  servicecomb 的微服务信息在类 `Microservice` 中定义。 它主要包含应用ID (appId), 微服务名称 
(serviceName),
-  微服务版本(version),环境(environment) 等信息, 还包括契约。 契约是 servicecomb 治理管控的基础,注册
-  发现的实现,需要包括契约。 
+  servicecomb 的微服务信息在类 `Microservice` 中定义。 它主要包含应用 ID (appId), 微服务名称 
(serviceName),
+  微服务版本(version),环境(environment) 等信息, 还包括契约。 契约是 servicecomb 治理管控的基础。 
 
 * 实例信息
 
   servicecomb 的实例信息在类 `MicroserviceInstance` 中定义。 它主要包含网络地址(endpoints) 信息。
 
-不同的注册发现机制,可能注册的信息和发现的信息不包括上述信息的全集,可以通过不同的注册发现机制,提供完整的信息。
+不同的注册发现机制,可能注册的信息和发现的信息不包括上述信息的全集,可以通过组合不同的注册发现机制,提供完整的信息。
 比如,可以通过 mDNS 的方式发现网络地址(endpoints)信息, 可以通过配置文件的方式,发现契约信息。
 
 ## 使用服务中心 
@@ -31,7 +30,7 @@
 服务中心(servicecomb-service-center) 提供了完备的注册发现机制, 实现了所有 `Microservice` 和 
`MicroserviceInstance` 信息的注册和发现,
 是 servicecomb 缺省使用的注册发现机制。 
 
-服务中心支持使用PULL和PUSH两种模式通知实例变化, 开发者可以配置服务中心集群地址、连接参数以及心跳管理等。
+服务中心支持使用 `PULL` 和 `PUSH` 两种模式通知实例变化, 开发者可以配置服务中心集群地址、连接参数以及心跳管理等。
 
 * 表1-1 访问服务中心常用的配置项
 
@@ -53,8 +52,7 @@ servicecomb 提供了本地注册发现机制。服务注册时, `Microservice
 都注册到微服务本地内存。 服务发现时,从配置文件(registry.yaml)中读取其他服务的 `Microservice` 和 
 `MicroserviceInstance` 信息,从目录 `microservices/{serviceName}/{schemaId}.yaml` 或者 
 `applications/{appId}/{serviceName}/{schemaId}.yaml` 读取微服务的契约
-信息。本地注册发现主要用于一些小规模,组网确定的场景使用。由于一个微服务只有一个存放契约的目录,不能存放
-多个版本的微服务契约,本地注册发现不支持灰度场景。
+信息。本地注册发现主要用于一些小规模,组网确定的场景使用。
 
 * registry.yaml 格式
 
@@ -92,3 +90,37 @@ servicecomb 提供了本地注册发现机制。服务注册时, `Microservice
 
   `registry.yaml` 指定了微服务的基本信息:应用ID (appId), 微服务名称 (serviceName),
   微服务版本(version),环境(environment) 和契约;微服务实例基本信息:网络地址(endpoints)。
+
+## 同时使用多个注册发现
+
+从 2.1.0 版本开始,可以同时使用多个注册发现的实现。组合不同的注册发现的实现,能够满足一些非常重要场景的需求。
+详细参考[组合使用多个实现](multi-registries.md)的介绍。
+
+### 使用多个服务中心的约束和行为
+
+* 服务注册
+
+使用多个服务中心,同时往多个服务中心注册。 当需要获取本服务 `Microservice` 和 `MicroserviceInstance`
+信息的时候,不同的注册中心的 `Microservice` ID 和  `MicroserviceInstance` ID 是不同的。 
+`RegistrationManager` 接口返回的实例是优先级最高的 `Registration` 实现的实例。
+
+* 服务发现
+
+如果多个注册中心都存在同一个微服务信息, 这些微服务信息必须满足 java chassis 的接口兼容性策略。 比如微服务
+A 存在 v1, v2, v3 三个版本, 在不同的注册中心注册的同一个版本 v3, 必须契约一样;v1, v2,v3 并存的情况下,
+v2 的接口需要兼容 v1, v3 的接口需要兼容 v2 (接口可以多,不能少, 要求开发的时候, 只增加接口,不删除接口)。
+
+如果不能满足上述约束, 请求过程中可能出现 404 找不到接口的错误。 这种错误在使用单个注册发现的情况下极少
+出现,参考[微服务接口兼容常见问题](../question-and-answer/interface-compatibility.md)。 在多个
+注册中心的情况下,使用不恰当就容易出现,比如通过 `本地服务注册发现` 定义了微服务 A 的信息, 只包含 2 个
+schema, 同时往 `服务中心` 注册了全量的 5 个 schema , 并且本地服务注册发现的版本 v3 高于 服务中心
+的 v1 版本, 那么这种情况就可能出现调用接口提示 404 的错误。 
+
+因此建议在使用多个注册中心的时候, 满足下面的约束:
+
+  1. 一个微服务只在一个注册中心有信息,比如 本地注册中心只定义三方服务,服务中心用于 java chassis 服务注册发现。 或者, 
+  2. 一个微服务在多个注册中心的信息是一样的,比如 使用多个 region 的服务中心,他们注册发现流程一样,可以保证信息一样。
+
+这样能够避免违背接口兼容性策略。 
+
+
diff --git 

[GitHub] [servicecomb-docs] liubao68 merged pull request #173: [SCB-1950]add document on how to using local registry to call 3rd par…

2020-05-29 Thread GitBox


liubao68 merged pull request #173:
URL: https://github.com/apache/servicecomb-docs/pull/173


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] liubao68 commented on a change in pull request #1794: [SCB-1947] define Filter and filter chain

2020-05-29 Thread GitBox


liubao68 commented on a change in pull request #1794:
URL: 
https://github.com/apache/servicecomb-java-chassis/pull/1794#discussion_r432327367



##
File path: core/src/main/java/org/apache/servicecomb/core/filter/FilterNode.java
##
@@ -0,0 +1,73 @@
+/*
+ * 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.core.filter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.stream.Collectors;
+
+import org.apache.servicecomb.core.Invocation;
+import org.apache.servicecomb.foundation.common.utils.AsyncUtils;
+import org.apache.servicecomb.swagger.invocation.Response;
+
+public class FilterNode {
+  public static FilterNode buildChain(Filter... filters) {
+return buildChain(Arrays.asList(filters));
+  }
+
+  public static FilterNode buildChain(List filters) {
+List filterNodes = filters.stream()
+.map(FilterNode::new)
+.collect(Collectors.toList());
+
+for (int idx = 0; idx < filterNodes.size() - 1; idx++) {
+  filterNodes.get(idx).setNextNode(filterNodes.get(idx + 1));
+}
+
+return filterNodes.get(0);
+  }
+
+  private final Filter filter;
+
+  private FilterNode nextNode;
+
+  public FilterNode(Filter filter) {
+this.filter = filter;
+  }
+
+  public void setNextNode(FilterNode nextNode) {

Review comment:
   It's better to be private. 





This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[servicecomb-java-chassis] branch master updated (bc6afcb -> 199f850)

2020-05-29 Thread wujimin
This is an automated email from the ASF dual-hosted git repository.

wujimin pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git.


from bc6afcb  [SCB-1953] tiny code improve
 new 54b40d6  [SCB-1954]coverage report dependencies update and remove no 
use test project
 new 538ca8d  [SCB-1954]fix artifact name error
 new 199f850  [SCB-1954]coverage do not include tests code itself and some 
minor fix

The 3 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:
 coverage-reports/pom.xml   | 461 ++---
 demo/demo-pojo/pojo-tests/pom.xml  |  47 ---
 .../integration/PojoReferenceIntegrationTest.java  |  43 --
 .../demo/integration/SomePojoService.java  |  36 --
 .../demo/integration/SomePojoTestMain.java |  40 --
 .../src/test/resources/microservice.yaml   |  29 --
 demo/demo-pojo/pom.xml |   1 -
 .../demo-spring-boot-springmvc-client/pom.xml  |   2 +-
 .../demo-spring-boot-springmvc-server/pom.xml  |   2 +-
 distribution/pom.xml   |   7 +-
 .../servicecomb/registry/RegistrationManager.java  |   2 +-
 integration-tests/it-common-service/enable-it-jar  |  16 -
 integration-tests/it-common-service/pom.xml|  41 --
 .../apache/servicecomb/it/CommonServiceMain.java   |  23 -
 integration-tests/pom.xml  |   1 -
 .../schemadiscovery/SchemaDiscoveryEndpoint.java   |   3 +-
 16 files changed, 402 insertions(+), 352 deletions(-)
 delete mode 100644 demo/demo-pojo/pojo-tests/pom.xml
 delete mode 100644 
demo/demo-pojo/pojo-tests/src/test/java/org/apache/servicecomb/demo/integration/PojoReferenceIntegrationTest.java
 delete mode 100644 
demo/demo-pojo/pojo-tests/src/test/java/org/apache/servicecomb/demo/integration/SomePojoService.java
 delete mode 100644 
demo/demo-pojo/pojo-tests/src/test/java/org/apache/servicecomb/demo/integration/SomePojoTestMain.java
 delete mode 100644 
demo/demo-pojo/pojo-tests/src/test/resources/microservice.yaml
 delete mode 100644 integration-tests/it-common-service/enable-it-jar
 delete mode 100644 integration-tests/it-common-service/pom.xml
 delete mode 100644 
integration-tests/it-common-service/src/main/java/org/apache/servicecomb/it/CommonServiceMain.java



[servicecomb-java-chassis] 02/03: [SCB-1954]fix artifact name error

2020-05-29 Thread wujimin
This is an automated email from the ASF dual-hosted git repository.

wujimin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git

commit 538ca8dbb0094124bae56b8d8506a062f5ea5a97
Author: liubao 
AuthorDate: Fri May 29 09:44:25 2020 +0800

[SCB-1954]fix artifact name error
---
 coverage-reports/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/coverage-reports/pom.xml b/coverage-reports/pom.xml
index 514cd21..b6f20a2 100644
--- a/coverage-reports/pom.xml
+++ b/coverage-reports/pom.xml
@@ -527,7 +527,7 @@
 
 
   org.apache.servicecomb.tests
-  pojo-tests
+  pojo-test
   ${project.version}
 
 



[servicecomb-java-chassis] 01/03: [SCB-1954]coverage report dependencies update and remove no use test project

2020-05-29 Thread wujimin
This is an automated email from the ASF dual-hosted git repository.

wujimin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git

commit 54b40d6d575770c93859c67b2c7e3e7781468974
Author: liubao 
AuthorDate: Thu May 28 21:38:41 2020 +0800

[SCB-1954]coverage report dependencies update and remove no use test project
---
 coverage-reports/pom.xml   | 415 +
 demo/demo-pojo/pojo-tests/pom.xml  |  47 ---
 .../integration/PojoReferenceIntegrationTest.java  |  43 ---
 .../demo/integration/SomePojoService.java  |  36 --
 .../demo/integration/SomePojoTestMain.java |  40 --
 .../src/test/resources/microservice.yaml   |  29 --
 demo/demo-pojo/pom.xml |   1 -
 .../demo-spring-boot-springmvc-client/pom.xml  |   2 +-
 .../demo-spring-boot-springmvc-server/pom.xml  |   2 +-
 distribution/pom.xml   |   7 +-
 integration-tests/it-common-service/enable-it-jar  |  16 -
 integration-tests/it-common-service/pom.xml|  41 --
 .../apache/servicecomb/it/CommonServiceMain.java   |  23 --
 integration-tests/pom.xml  |   1 -
 14 files changed, 352 insertions(+), 351 deletions(-)

diff --git a/coverage-reports/pom.xml b/coverage-reports/pom.xml
index 9e7a09a..514cd21 100644
--- a/coverage-reports/pom.xml
+++ b/coverage-reports/pom.xml
@@ -30,33 +30,93 @@
   jar
 
   
+
+
+
+  org.apache.servicecomb.archetypes
+  business-service-jaxrs-archetype
+
+
+  org.apache.servicecomb.archetypes
+  business-service-pojo-archetype
+
+
+  org.apache.servicecomb.archetypes
+  business-service-spring-boot2-starter-archetype
+
+
+  org.apache.servicecomb.archetypes
+  business-service-springmvc-archetype
+
+
+
 
   org.apache.servicecomb
-  foundation-common
+  kie-client
 
 
   org.apache.servicecomb
-  foundation-protobuf
+  service-center-client
 
+
+
 
   org.apache.servicecomb
-  foundation-registry
+  common-access-log
 
 
   org.apache.servicecomb
-  foundation-ssl
+  common-protobuf
 
 
   org.apache.servicecomb
-  foundation-config
+  common-rest
+
+
+
+
+  org.apache.servicecomb
+  java-chassis-core
 
+
+
 
   org.apache.servicecomb
   deployment
 
+
+
+
+  org.apache.servicecomb
+  config-apollo
+
 
   org.apache.servicecomb
-  foundation-vertx
+  config-cc
+
+
+  org.apache.servicecomb
+  config-kie
+
+
+  org.apache.servicecomb
+  config-nacos
+
+
+
+
+  org.apache.servicecomb
+  edge-core
+
+
+
+
+  org.apache.servicecomb
+  foundation-common
+
+
+  org.apache.servicecomb
+  foundation-config
 
 
   org.apache.servicecomb
@@ -64,18 +124,40 @@
 
 
   org.apache.servicecomb
-  metrics-core
+  foundation-protobuf
 
 
   org.apache.servicecomb
-  java-chassis-core
+  foundation-registry
+
+
+  org.apache.servicecomb
+  foundation-ssl
+
+
+  org.apache.servicecomb
+  foundation-test-scaffolding
+
+
+  org.apache.servicecomb
+  foundation-vertx
 
+
+
 
   org.apache.servicecomb
   handler-bizkeeper
 
 
   org.apache.servicecomb
+  handler-fault-injection
+
+
+  org.apache.servicecomb
+  handler-flowcontrol-qps
+
+
+  org.apache.servicecomb
   handler-loadbalance
 
 
@@ -84,42 +166,107 @@
 
 
   org.apache.servicecomb
-  handler-flowcontrol-qps
+  handler-router
 
 
   org.apache.servicecomb
-  handler-fault-injection
+  handler-tracing-zipkin
 
+
+
 
   org.apache.servicecomb
-  common-rest
+  inspector
 
+
+
 
   org.apache.servicecomb
-  transport-common
+  metrics-core
 
 
   org.apache.servicecomb
-  transport-rest-client
+  metrics-prometheus
 
+
+
 
   org.apache.servicecomb
-  transport-rest-vertx
+  provider-jaxrs
 
 
   org.apache.servicecomb
-  transport-rest-servlet
+  provider-pojo
 
 
   org.apache.servicecomb
-  transport-highway
+  provider-rest-common
 
 
   org.apache.servicecomb
-  common-protobuf
+  provider-springmvc
+
+
+
+
+  org.apache.servicecomb
+  registry-local
+
+
+  org.apache.servicecomb
+  registry-schema-discovery
+
+
+  org.apache.servicecomb
+  registry-service-center
+
+
+  org.apache.servicecomb
+  registry-zero-config
+
+
+
+
+  org.apache.servicecomb
+  solution-basic
+
+
+

[servicecomb-java-chassis] 03/03: [SCB-1954]coverage do not include tests code itself and some minor fix

2020-05-29 Thread wujimin
This is an automated email from the ASF dual-hosted git repository.

wujimin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git

commit 199f8508f6bd210f27e0a699314464f667b5872d
Author: liubao 
AuthorDate: Fri May 29 12:05:28 2020 +0800

[SCB-1954]coverage do not include tests code itself and some minor fix
---
 coverage-reports/pom.xml   | 48 ++
 .../servicecomb/registry/RegistrationManager.java  |  2 +-
 .../schemadiscovery/SchemaDiscoveryEndpoint.java   |  3 +-
 3 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/coverage-reports/pom.xml b/coverage-reports/pom.xml
index b6f20a2..f42cca4 100644
--- a/coverage-reports/pom.xml
+++ b/coverage-reports/pom.xml
@@ -337,151 +337,179 @@
   org.apache.servicecomb.demo
   crossapp-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   crossapp-server
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   authentication
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   business-1-0-0
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   business-1-1-0
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   business-2-0-0
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   consumer
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   edge-service
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   model
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   jaxrs-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   jaxrs-server
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   demo-local-registry-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   demo-local-registry-server
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   demo-multi-registries-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   demo-multi-registries-server
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   pojo-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   pojo-server
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   demo-register-url-prefix-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   demo-register-url-prefix-server
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   demo-schema
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   demo-spring-boot-jaxrs-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   demo-spring-boot-jaxrs-server
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   demo-spring-boot-springmvc-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   demo-spring-boot-springmvc-server
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   demo-spring-boot-pojo-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   demo-spring-boot-pojo-server
   ${project.version}
+  test
 
 
 
   org.apache.servicecomb.demo
   springmvc-client
   ${project.version}
+  test
 
 
   org.apache.servicecomb.demo
   springmvc-server
   ${project.version}
+  test
 
 
 
@@ -489,102 +517,122 @@
   org.apache.servicecomb.tests
   dynamic-config-tests
   ${project.version}
+  test
 
 
   org.apache.servicecomb.tests
   it-common
   ${project.version}
+  test
 
 
   org.apache.servicecomb.tests
   it-consumer
   ${project.version}
+  test
 
 
   org.apache.servicecomb.tests
   it-edge
   ${project.version}
+  test
 
 
   org.apache.servicecomb.tests
   it-producer
   ${project.version}
+  test
 
 
   org.apache.servicecomb.tests
   it-producer-deploy-springboot2-servlet
   ${project.version}
+  test
 
 
   org.apache.servicecomb.tests
   it-producer-deploy-springboot2-standalone
   ${project.version}
+  test
 
 
   org.apache.servicecomb.tests
   jaxrs-tests
   ${project.version}
+  test
 
 
   org.apache.servicecomb.tests
   

[GitHub] [servicecomb-java-chassis] wujimin merged pull request #1792: [SCB-1954]coverage report dependencies update and remove no use test project

2020-05-29 Thread GitBox


wujimin merged pull request #1792:
URL: https://github.com/apache/servicecomb-java-chassis/pull/1792


   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] liubao68 commented on a change in pull request #1794: [SCB-1947] define Filter and filter chain

2020-05-29 Thread GitBox


liubao68 commented on a change in pull request #1794:
URL: 
https://github.com/apache/servicecomb-java-chassis/pull/1794#discussion_r432324830



##
File path: 
core/src/test/java/org/apache/servicecomb/core/filter/SimpleRetryFilter.java
##
@@ -0,0 +1,89 @@
+/*
+ * 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.core.filter;
+
+import java.io.IOException;
+import java.util.concurrent.CompletableFuture;
+
+import org.apache.servicecomb.core.Invocation;
+import org.apache.servicecomb.core.exception.Exceptions;
+import org.apache.servicecomb.swagger.invocation.Response;
+
+@FilterMeta(name = "simple-retry")
+public class SimpleRetryFilter implements Filter {
+  protected int maxRetry = 3;
+
+  public SimpleRetryFilter setMaxRetry(int maxRetry) {
+this.maxRetry = maxRetry;
+return this;
+  }
+
+  @Override
+  public CompletableFuture onFilter(Invocation invocation, 
FilterNode nextNode) {
+return new RetrySession(invocation, nextNode).run();
+  }
+
+  protected Throwable unwrapException(Throwable throwable) {
+return Exceptions.unwrapIncludeInvocationException(throwable);
+  }
+
+  protected boolean isRetryException(Throwable throwable) {
+return !(throwable instanceof IOException);

Review comment:
   How do you judge which is retryable? This is different than current 
DefaultRetryExtensionsFactory.isRetriableException implementation.





This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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




[GitHub] [servicecomb-java-chassis] liubao68 commented on a change in pull request #1794: [SCB-1947] define Filter and filter chain

2020-05-29 Thread GitBox


liubao68 commented on a change in pull request #1794:
URL: 
https://github.com/apache/servicecomb-java-chassis/pull/1794#discussion_r432324830



##
File path: 
core/src/test/java/org/apache/servicecomb/core/filter/SimpleRetryFilter.java
##
@@ -0,0 +1,89 @@
+/*
+ * 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.core.filter;
+
+import java.io.IOException;
+import java.util.concurrent.CompletableFuture;
+
+import org.apache.servicecomb.core.Invocation;
+import org.apache.servicecomb.core.exception.Exceptions;
+import org.apache.servicecomb.swagger.invocation.Response;
+
+@FilterMeta(name = "simple-retry")
+public class SimpleRetryFilter implements Filter {
+  protected int maxRetry = 3;
+
+  public SimpleRetryFilter setMaxRetry(int maxRetry) {
+this.maxRetry = maxRetry;
+return this;
+  }
+
+  @Override
+  public CompletableFuture onFilter(Invocation invocation, 
FilterNode nextNode) {
+return new RetrySession(invocation, nextNode).run();
+  }
+
+  protected Throwable unwrapException(Throwable throwable) {
+return Exceptions.unwrapIncludeInvocationException(throwable);
+  }
+
+  protected boolean isRetryException(Throwable throwable) {
+return !(throwable instanceof IOException);

Review comment:
   How do you judge which is reatrable? This is different than current 
DefaultRetryExtensionsFactory.isRetriableException implementation.





This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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