Skylm808 opened a new issue, #1074:
URL: https://github.com/apache/dubbo-go-samples/issues/1074

   # java_interop 样例中 Java -> Go 在多个子场景下失败或不完整
   
   ## 问题描述
   
   在 `dubbo-go-samples/java_interop` 中,按 samples 官方集成测试方式执行时:
   
   ```bash
   ./integrate_test.sh <sample-path>
   ```
   
   当前观察到:
   
   - 多个直连类子样例中,`Go client -> Go server` 正常
   - 但 `Java client -> Go server` 失败
   - 两个 service discovery 子样例中,`Java client -> Go server` 已经能成功拿到返回值
   - 但 Java 进程收尾和 Java server 阶段仍然有异常
   
   因此 `java_interop` 当前不能记为整体通过。
   
   ## 测试环境
   
   - `dubbo-go-samples` 的 Go 依赖通过 `go.mod replace` 指向本地 `dubbo-go-3.3.2`
   - Java 环境:JDK 17
   
   ## 复现方式
   
   ### 1. 直连类样例
   
   ```bash
   ./integrate_test.sh java_interop/non-protobuf-dubbo
   ./integrate_test.sh java_interop/non-protobuf-triple
   ./integrate_test.sh java_interop/protobuf-triple
   ```
   
   ### 2. service discovery 类样例
   
   ```bash
   ./integrate_test.sh java_interop/service_discovery/interface
   ./integrate_test.sh java_interop/service_discovery/service
   ```
   
   ## 实际结果
   
   ### 1. non-protobuf-dubbo
   
   - `Go client -> Go server`:成功
   - `Java client -> Go server`:失败
   
   关键错误:
   
   ```text
   No provider available for the service 
org.apache.dubbo.hessian2.api.GreetingsService
   ```
   
   ### 2. non-protobuf-triple
   
   - `Go client -> Go server`:成功
   - `Java client -> Go server`:失败
   
   关键错误:
   
   ```text
   Failed to invoke the method greet
   Timeout after 3000ms waiting for result
   ```
   
   ### 3. protobuf-triple
   
   - `Go client -> Go server`:成功
   - `Java client -> Go server`:失败
   
   关键错误:
   
   ```text
   Failed to invoke the method SayHello
   Invoke remote method timeout
   ```
   
   或:
   
   ```text
   UNAVAILABLE : upstream localhost:20000 is unavailable
   ```
   
   ### 4. service_discovery/interface
   
   - `Go client -> Go server`:成功
   - `Java client -> Go server`:成功,返回:
   
   ```text
   Greeting:Mamba!!!!!!!!!!!!
   ```
   
   但随后出现:
   
   ```text
   java.lang.NoClassDefFoundError: 
org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy
   ```
   
   并且:
   
   ```text
   Java server is running but not ready on 127.0.0.1:20000 after 60s
   Java server phase skipped
   ```
   
   ### 5. service_discovery/service
   
   - `Go client -> Go server`:成功
   - `Java client -> Go server`:成功,返回:
   
   ```text
   Greeting:Mamba!!!!!!!!!!!!
   ```
   
   但随后出现:
   
   ```text
   java.lang.NoClassDefFoundError: 
org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy
   ```
   
   并且:
   
   ```text
   Java server is running but not ready on 127.0.0.1:20000 after 60s
   Java server phase skipped
   ```
   
   ## 预期结果
   
   这些 `java_interop` 子样例按官方脚本执行时,Go 和 Java 的互通都应能完整通过,不应出现:
   
   - `Java -> Go` 超时 / provider unavailable
   - Java 进程收尾异常
   - Java server 阶段未 ready 被跳过
   
   ## 当前现象总结
   
   - 直连类样例:
     - `Java -> Go` 失败
   - service discovery 类样例:
     - `Java -> Go` 已经能返回结果
     - 但 Java 进程和 Java server 阶段仍不完整
   
   ## 建议排查方向
   
   - Java client 与 Go server 在不同协议/序列化模式下的兼容性
   - 旧版或 beta 版 dubbo-java 依赖在这些样例中的影响
   - service discovery 样例中 Java 侧日志依赖与 server readiness 问题
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to