Skylm808 opened a new issue, #1073: URL: https://github.com/apache/dubbo-go-samples/issues/1073
# generic 样例中 Java client -> Go server 失败,而 Go->Go / Go->Java 正常 ## 问题描述 在 `dubbo-go-samples/generic` 中,按当前 README 的官方方式测试时: - `Go client -> Go server` 可以正常通过 - `Go client -> Java server` 可以正常通过 - 但 `Java client -> Go server` 失败 因此 `generic` 不能记为整体通过。 ## 测试环境 - `dubbo-go-samples` 的 Go 依赖通过 `go.mod replace` 指向本地 `dubbo-go-3.3.2` - Java 环境:JDK 17 ## 复现步骤 ### 1. 启动 Go server ```bash cd generic/go-server/cmd go run . ``` ### 2. 验证 Go client -> Go server ```bash cd generic/go-client/cmd go run . ``` 结果: ```text All generic call tests passed ``` ### 3. 验证 Java client -> Go server ```bash cd generic/java-client mvn clean compile exec:java -Dexec.mainClass="org.apache.dubbo.samples.ApiTripleConsumer" ``` ## 实际结果 Java client 调 Go server 失败,关键表现为: ```text [FAIL] GetUser1(String): DEADLINE_EXCEEDED [FAIL] GetUser2(String, String): DEADLINE_EXCEEDED [FAIL] GetUser3(int): DEADLINE_EXCEEDED [FAIL] GetUser4(int, String): DEADLINE_EXCEEDED [FAIL] GetOneUser(): DEADLINE_EXCEEDED [FAIL] GetUsers(String[]): DEADLINE_EXCEEDED [FAIL] GetUsersMap(String[]): DEADLINE_EXCEEDED [FAIL] QueryAll(): DEADLINE_EXCEEDED [FAIL] QueryUser(User): DEADLINE_EXCEEDED [FAIL] QueryUsers(User[]): DEADLINE_EXCEEDED ``` 在较新的 JDK 下,还会先看到 Java 侧异常: ```text java.lang.reflect.InaccessibleObjectException ``` 或: ```text WARNING: Illegal reflective access by ... hessian-lite ... ``` ## 预期结果 按 README 的说明,`generic` 样例中的 Go/Java 泛化调用都应能正常完成,不应只通过 `Go -> Go` 和 `Go -> Java`。 ## 补充说明 ### Go -> Java 正常 启动 Java server 后: ```bash cd generic/java-server mvn clean compile exec:java -Dexec.mainClass="org.apache.dubbo.samples.ApiProvider" ``` 再运行: ```bash cd generic/go-client/cmd go run . ``` 结果仍然是: ```text All generic call tests passed ``` 说明: - Go client -> Java server 是正常的 ### 当前现象更像是定向问题 当前只在 `Java client -> Go server` 这条链路上稳定失败。 ## 建议排查方向 - Java generic client 与 Go generic server 的兼容性 - Hessian2 / generic invocation 在 Java -> Go 路径上的序列化与解码 - `User` 结构中 `time.Time` 等字段的跨语言兼容性 -- 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]
