Trying to compile RpcBus source file in Drill which expects both shaded drill-protocol-0.7.0-rebuffed.jar and protobuf-java-2.5.0.jar, fails with below error.

emprstw@66WQ7R1:~/DRILL/apache-drill-0.7.0/jars$ javac -cp "/home/emprstw/DRILL/apache-drill-0.7.0/jars/3rdparty/*:/home/emprstw/DRILL/apache-drill-0.7.0/jars/*:/home/emprstw/DRILL/apache-drill-0.7.0/PROTOBUF/*" RpcBus.java RpcBus.java:88: error: method checkSend in class RpcConfig cannot be applied to given types;
      assert rpcConfig.checkSend(rpcType, protobufBody.getClass(), clazz);
                      ^
  required: 250.com.google.protobuf.Internal.EnumLite,Class<?>,Class<?>
  found: T,Class<CAP#1>,Class<RECEIVE>
reason: actual argument T cannot be converted to 250.com.google.protobuf.Internal.EnumLite by method invocation conversion
  where T,RECEIVE,SEND,C are type-variables:
T extends com.google.protobuf.Internal.EnumLite declared in class RpcBus RECEIVE extends MessageLite declared in method <SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...) SEND extends MessageLite declared in method <SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
    C extends RemoteConnection declared in class RpcBus
  where CAP#1 is a fresh type-variable:
    CAP#1 extends MessageLite from capture of ? extends MessageLite
RpcBus.java:92: error: no suitable constructor found for OutboundRpcMessage(RpcMode,T,int,SEND,ByteBuf[]) OutboundRpcMessage m = new OutboundRpcMessage(RpcMode.REQUEST, rpcType, futureListener.getCoordinationId(), protobufBody, dataBodies);
                             ^
constructor OutboundRpcMessage.OutboundRpcMessage(RpcMode,int,int,250.com.google.protobuf.MessageLite,ByteBuf...) is not applicable (actual argument T cannot be converted to int by method invocation conversion) constructor OutboundRpcMessage.OutboundRpcMessage(RpcMode,250.com.google.protobuf.Internal.EnumLite,int,250.com.google.protobuf.MessageLite,ByteBuf...) is not applicable (actual argument T cannot be converted to 250.com.google.protobuf.Internal.EnumLite by method invocation conversion)
  where T,SEND,RECEIVE,C are type-variables:
T extends com.google.protobuf.Internal.EnumLite declared in class RpcBus SEND extends com.google.protobuf.MessageLite declared in method <SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...) RECEIVE extends com.google.protobuf.MessageLite declared in method <SEND,RECEIVE>send(RpcOutcomeListener<RECEIVE>,C,T,SEND,Class<RECEIVE>,boolean,ByteBuf...)
    C extends RemoteConnection declared in class RpcBus
2 errors



Can anyone help me to solve this.





Reply via email to