Hi Dev@Ratis, 

I am trying to use jetty as a proxy server, so I could let the ratis server 
talk to another ratis server through jetty server instead of a ratis server 
talking directly to another ratis server. But right now have some issues.

Ratis-9000 ->  Jetty-8090 ->Ratis-9001
Ratis-9001 ->  Jetty-8091 ->Ratis-9000


1. I now have an error message when they are at the stage of leader election 
when starting. Seems due to this issue after upgrading netty 
https://github.com/grpc/grpc-java/issues/7953 
<https://github.com/grpc/grpc-java/issues/7953> 
java.lang.UnsupportedOperationException
        at 
io.grpc.netty.AbstractHttp2Headers.setLong(AbstractHttp2Headers.java:465)
        at 
io.grpc.netty.AbstractHttp2Headers.setLong(AbstractHttp2Headers.java:26)
        at 
io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onHeadersRead(DefaultHttp2ConnectionDecoder.java:403)
        at 
io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onHeadersRead(DefaultHttp2ConnectionDecoder.java:347)
        at 
io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$PrefaceFrameListener.onHeadersRead(DefaultHttp2ConnectionDecoder.java:707)

I guess there are 2 approaches that I could try, one is downgrading netty 
locally, the other one is modify over jetty(which I have no clue on how to fix 
at this moment)
So I tried to downgrade netty locally on the ratis-thirdparty code first. But 
there is a thing, I tried building the ratis-thirdparty code first before any 
changes, but I won’t be able to build locally, and the documentation of how to 
build this code is not much information. I ran “mvn clean install -DskipTests” 
at the root dir of ratis-thridparty project. But it has been having the below 
issue:

[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) 
on project ratis-thirdparty-test: Compilation failure
[ERROR] 
/Users/dhu/Desktop/ratis-thirdparty/test/target/generated-sources/org/apache/ratis/thirdparty/demo/GreeterGrpc.java:[7,18]
 cannot find symbol
[ERROR]   symbol:   class Generated
[ERROR]   location: package javax.annotation


2. In addition, I use google’s protoc to generate java files from my custom 
.proto file. But I then have to manually change ‘com.google.protobuf’ to 
‘org.ratis.thirdparty.com.google.protobuf’ since it could not detect 
com.google.protobuf is the same as the ratis third party one. Is there a way to 
make this convenient? Like a ratis.thirdparty.protoc ? Or how did ratis build 
those proto java files?


Sincerely,
Danielle Hu

Reply via email to