You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2024/07/05 08:10:37 UTC
(dubbo-website) branch master updated: Faq 4-x protocol related (#2997)
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/master by this push:
new b267744b880 Faq 4-x protocol related (#2997)
b267744b880 is described below
commit b267744b880361c87cda3cfffe8e28c18b2c5ce9
Author: 王聪洋 <56...@users.noreply.github.com>
AuthorDate: Fri Jul 5 16:10:32 2024 +0800
Faq 4-x protocol related (#2997)
* Update 20.md
* Update 16.md
* Update 10.md
* Update 9.md
* Update 8.md
* Update 4-7.md
* Update 4-6.2.md
* Update 4-6.md
* Update 4-4.md
* re 4-10
* fix
---
content/zh-cn/overview/mannual/java-sdk/faq/4/10.md | 15 +++++++++++++--
content/zh-cn/overview/mannual/java-sdk/faq/4/16.md | 4 ++--
content/zh-cn/overview/mannual/java-sdk/faq/4/20.md | 4 ++--
content/zh-cn/overview/mannual/java-sdk/faq/4/4.md | 4 +++-
content/zh-cn/overview/mannual/java-sdk/faq/4/6.md | 6 ++++--
content/zh-cn/overview/mannual/java-sdk/faq/4/7.md | 3 ++-
content/zh-cn/overview/mannual/java-sdk/faq/4/8.md | 3 ++-
content/zh-cn/overview/mannual/java-sdk/faq/4/9.md | 11 ++++++++++-
8 files changed, 38 insertions(+), 12 deletions(-)
diff --git a/content/zh-cn/overview/mannual/java-sdk/faq/4/10.md b/content/zh-cn/overview/mannual/java-sdk/faq/4/10.md
index f65cac47d4d..603679ce1d8 100644
--- a/content/zh-cn/overview/mannual/java-sdk/faq/4/10.md
+++ b/content/zh-cn/overview/mannual/java-sdk/faq/4/10.md
@@ -17,9 +17,20 @@ weight: 10
### 可能的原因
一般为内部错误。
+见于三种log格式:
+1. 在序列化并且发送数据时发生异常,日志格式为 `Serialize triple request failed, service=%s method=%s`
+2. 接收到response的reset code时触发,日志格式为:`Triple Client received remote reset errorCode=xxx`
+3. 处理response时有异常情况时触发,日志格式为: `Meet Exception on ClientResponseHandler, status code is:xxx`
### 排查和解决步骤
-可通过一些第三方的工具或者 `jstack [PID] > jstack.log` 分析堆栈信息,进行定位。
+针对第一种错误,是在调用{service}#{method}方法过程中出现的,具体对应到sendMessage,并且该日志与`java.util.concurrent.ExecutionException: org.apache.dubbo.rpc.StatusRpcException: INTERNAL : Serialize request failed`同时出现,排查{method}方法参数中自定义类是否实现序列化接口导致序列化失败
-> 同时请在社区提交Issue
\ No newline at end of file
+针对第二种错误,是Provider端处理发生错误,排查Provider端服务,排查方式参考第一种错误
+
+针对第三种错误,仅单元测试使用到,目前用户侧不会出现
+
+其次可通过一些第三方的工具或者 `jstack [PID] > jstack.log` 分析堆栈信息,进行定位。
+
+> 同时请在社区提交Issue,帮助我们更好的完善Triple
+> 直接点击右上角 **提交项目问题** 按钮即可快速链接至Github页面
diff --git a/content/zh-cn/overview/mannual/java-sdk/faq/4/16.md b/content/zh-cn/overview/mannual/java-sdk/faq/4/16.md
index bb7d5bb3fc1..286e3f1d7cb 100644
--- a/content/zh-cn/overview/mannual/java-sdk/faq/4/16.md
+++ b/content/zh-cn/overview/mannual/java-sdk/faq/4/16.md
@@ -16,8 +16,8 @@ weight: 16
### 可能的原因
-错误使用了内部 `org.apache.dubbo.rpc.protocol.tri.service.TriHealthImpl#enterTerminalState`
+在错误的状态下继续调用 `org.apache.dubbo.rpc.protocol.tri.service.TriHealthImpl#enterTerminalState` 或者 `org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper#invoke`,在调用时已经是 terminal 或 destory状态。
### 排查和解决步骤
-多次调用上述方法会进行提醒。一般仅用于单元测试。
\ No newline at end of file
+多次调用上述方法会进行提醒。一般仅用于单元测试。
diff --git a/content/zh-cn/overview/mannual/java-sdk/faq/4/20.md b/content/zh-cn/overview/mannual/java-sdk/faq/4/20.md
index d44b6836917..105fa19f301 100644
--- a/content/zh-cn/overview/mannual/java-sdk/faq/4/20.md
+++ b/content/zh-cn/overview/mannual/java-sdk/faq/4/20.md
@@ -16,8 +16,8 @@ weight: 20
### 可能的原因
-服务方和调用方的版本不匹配。
+只发生在解码阶段,可能服务方和调用方的dubbo版本不匹配。
### 排查和解决步骤
-检查当前使用的 dubbo 版本,尽量保持一致或向下兼容的高版本。
\ No newline at end of file
+检查当前使用的 dubbo 版本,尽量保持一致或向下兼容的高版本。
diff --git a/content/zh-cn/overview/mannual/java-sdk/faq/4/4.md b/content/zh-cn/overview/mannual/java-sdk/faq/4/4.md
index 4051b5f5fa9..47e7e93c6de 100644
--- a/content/zh-cn/overview/mannual/java-sdk/faq/4/4.md
+++ b/content/zh-cn/overview/mannual/java-sdk/faq/4/4.md
@@ -18,6 +18,8 @@ weight: 4
当前在使用非安全的序列化器, 并不推荐。具体配置为:`serialization="java"`
+> Java 序列化是不安全的。Dubbo 团队不推荐任何人使用它。如果你仍然想使用它,请遵循 [JEP 290](https://openjdk.java.net/jeps/290) 来设置序列化过滤器,以防止反序列化泄露。
+
### 排查和解决步骤
-修改设置的参数值. 将 protocol 内的序列化参数值修改为其他。
\ No newline at end of file
+修改`serialization`的参数值. 将 protocol 内的序列化参数值修改为其他,如hessian2,fastjson2等。
diff --git a/content/zh-cn/overview/mannual/java-sdk/faq/4/6.md b/content/zh-cn/overview/mannual/java-sdk/faq/4/6.md
index 7ef8460375e..7edb3622ca8 100644
--- a/content/zh-cn/overview/mannual/java-sdk/faq/4/6.md
+++ b/content/zh-cn/overview/mannual/java-sdk/faq/4/6.md
@@ -16,8 +16,10 @@ weight: 6
### 可能的原因
-自定义 SPI `org.apache.dubbo.common.serialize.Serialization` 序列化方法存在逻辑错误。
+发生在使用自定义的序列化方式的时候,在自定义 SPI `org.apache.dubbo.common.serialize.Serialization` 序列化方法在使用时发生错误。
### 排查和解决步骤
-可通过一些第三方的工具或者 `jstack [PID] > jstack.log` 分析堆栈信息,进行定位。
\ No newline at end of file
+可通过一些第三方的工具或者 `jstack [PID] > jstack.log` 分析堆栈信息,获取引起错误的对象内容,再配合自定义实现进行修改。
+
+> 参考 [序列化扩展](https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/serialize/)
diff --git a/content/zh-cn/overview/mannual/java-sdk/faq/4/7.md b/content/zh-cn/overview/mannual/java-sdk/faq/4/7.md
index 217f4ab782b..a7eb76e9b0b 100644
--- a/content/zh-cn/overview/mannual/java-sdk/faq/4/7.md
+++ b/content/zh-cn/overview/mannual/java-sdk/faq/4/7.md
@@ -16,7 +16,8 @@ weight: 7
### 可能的原因
+见于各种 `Connect Client` 进行`close`或者`destory`的时候报错,不影响最终效果。
### 排查和解决步骤
-可通过一些第三方的工具或者 `jstack [PID] > jstack.log` 分析堆栈信息,进行定位。
\ No newline at end of file
+可通过一些第三方的工具或者 `jstack [PID] > jstack.log` 分析堆栈信息,进行定位。
diff --git a/content/zh-cn/overview/mannual/java-sdk/faq/4/8.md b/content/zh-cn/overview/mannual/java-sdk/faq/4/8.md
index 704f9511d20..7bcbba50a33 100644
--- a/content/zh-cn/overview/mannual/java-sdk/faq/4/8.md
+++ b/content/zh-cn/overview/mannual/java-sdk/faq/4/8.md
@@ -16,7 +16,8 @@ weight: 8
### 可能的原因
+与4-7相似,都是发生在close时。
### 排查和解决步骤
-可通过一些第三方的工具或者`jstack [PID] > jstack.log` 分析堆栈信息,进行定位。
\ No newline at end of file
+可通过一些第三方的工具或者`jstack [PID] > jstack.log` 分析堆栈信息,进行定位。
diff --git a/content/zh-cn/overview/mannual/java-sdk/faq/4/9.md b/content/zh-cn/overview/mannual/java-sdk/faq/4/9.md
index 75e5ef7dc50..193c32bd395 100644
--- a/content/zh-cn/overview/mannual/java-sdk/faq/4/9.md
+++ b/content/zh-cn/overview/mannual/java-sdk/faq/4/9.md
@@ -17,7 +17,16 @@ weight: 9
### 可能的原因
一般为参数值不符合规则,在强转时发生错误。
+如:
+
+```java
+String timeoutString = httpMetadata.headers().getFirst(TripleHeaderEnum.SERVICE_TIMEOUT.getHeader());
+Long timeout = Long.parseLong(timeoutString);
+
+Long timeout = GrpcUtils.parseTimeoutToMills(timeoutString);
+invocation.put(CommonConstants.TIMEOUT_KEY, timeout);
+```
### 排查和解决步骤
-根据堆栈信息提示的 key 名称进行配置修改即可。
\ No newline at end of file
+根据堆栈信息提示的 key 名称进行相对应的配置修改到符合转换规则即可。