secretflow/yacl

两方纵向woe任务中,brpc报method not found的错误

SeaCSKY opened this issue · 5 comments

我在两方纵向woe任务中,我用两方的spu与自己一侧的grpc代理连接,然后两方代理之间通信,进而实现隔离网络下的通信问题。但是yacl中报错“Method not found”。grpc代理转发给spu的报文头信息是“content-type=application/grpc,accept=/,user-agent=brpc/1.0 curl/7.0”。这是什么原因了?

我的GPRC代理访问的接口是org.interconnection.link.ReceiverService/Push

可否提供一些demo代码

private ManagedChannelBuilder builder(String targetAddress){
ManagedChannelBuilder channelBuilder = null;
if(configProperties.isExternalNetworksTls()){
InputStream inputStream = ChannelCredentials.class.getClassLoader().getResourceAsStream("cert/root.crt");
if(Objects.isNull(inputStream)){
throw new ProxyRuntimeException(ResultCode.PROGRAM_EXCEPTION,"找不到根证书");
}
try {
ChannelCredentials security = TlsChannelCredentials.newBuilder()
.trustManager(inputStream)
.build();
channelBuilder = NettyChannelBuilder.forTarget(targetAddress,security);
}catch (Exception e){
throw new RuntimeException(e);
}
}else{
channelBuilder = NettyChannelBuilder.forTarget(targetAddress, InsecureChannelCredentials.create());
}
channelBuilder.maxRetryAttempts(configProperties.getMaxRetryAttempts());
return channelBuilder;
}

这个我们grpc代理中与spu中的brpc服务建立连接的代码,是基于NettyChannelBuilder做的。

您好,
Method not found ,是grpc的报错信息格式,brpc报错格式是 Fail to find method=x
可以再提供下启动woe任务的详细代码和配置吗
可以画下网络拓扑吗,是谁在连接谁,给谁转发的
(from @warriorpaw )

This issue is going to be closed since there's no activity for a while.