Hi,

                

In my Java application,I want to provide support for Avro, Thrift and
Protobuf. I am using java classes generated by avro schema and  avro idl.
When I use ProtoBufDatumReader and ProtoBufDatumWriter classes to support
encode and decode Protobuf content. I get following exception:

java.lang.RuntimeException: java.lang.NoSuchMethodException:
org.openrtb.common.api.BidRequest.getDescriptor()

      at
org.apache.avro.protobuf.ProtobufData.getSchema(ProtobufData.java:181)

      at
org.apache.avro.protobuf.ProtobufDatumWriter.<init>(ProtobufDatumWriter.java
:36)

      at
org.openrtb.dsp.core.DemandSideServerTest.writeBidRequest(DemandSideServerTe
st.java:293)

      at
org.openrtb.dsp.core.DemandSideServerTest.protobufRespondTest(DemandSideServ
erTest.java:263)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)

      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)

      at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.
java:44)

      at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.j
ava:15)

      at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.ja
va:41)

      at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.jav
a:20)

      at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28
)

      at
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunne
r.java:79)

      at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.jav
a:71)

      at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.jav
a:49)

      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

 

Similarly Thrift content type is also not working for me. Following is the
exception:

java.lang.NullPointerException: null of org.openrtb.common.api.BidRequest

      at
org.apache.avro.generic.GenericDatumWriter.npe(GenericDatumWriter.java:93)

      at
org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:87)

      at
org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:58)

      at
org.openrtb.dsp.core.DemandSideServerTest.writeBidRequest(DemandSideServerTe
st.java:295)

      at
org.openrtb.dsp.core.DemandSideServerTest.thriftRespondTest(DemandSideServer
Test.java:275)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)

      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)

      at java.lang.reflect.Method.invoke(Method.java:597)

 

pls find the attachment to complete stack trace for  Protobuf & Thirft issue


Can you pls advice and help me to resolve this issue.

 

Regards

Shlok Thakur

org.openrtb.dsp.intf.model.DSPException: 
org.openrtb.dsp.intf.model.DSPException: java.lang.RuntimeException: 
java.lang.NoSuchMethodException: 
org.openrtb.common.api.BidRequest.getDescriptor()
        at 
org.openrtb.dsp.core.DemandSideServer.respond(DemandSideServer.java:142)
        at 
org.openrtb.dsp.core.DemandSideServerTest.protobufRespondTest(DemandSideServerTest.java:265)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.openrtb.dsp.intf.model.DSPException: java.lang.RuntimeException: 
java.lang.NoSuchMethodException: 
org.openrtb.common.api.BidRequest.getDescriptor()
        at 
org.openrtb.dsp.core.DemandSideServer.readRequest(DemandSideServer.java:214)
        at 
org.openrtb.dsp.core.DemandSideServer.respond(DemandSideServer.java:123)
        ... 25 more
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: 
org.openrtb.common.api.BidRequest.getDescriptor()
        at 
org.apache.avro.protobuf.ProtobufData.getSchema(ProtobufData.java:181)
        at 
org.apache.avro.protobuf.ProtobufDatumReader.<init>(ProtobufDatumReader.java:40)
        at 
org.openrtb.dsp.core.DemandSideServer.getDatumReader(DemandSideServer.java:170)
        at 
org.openrtb.dsp.core.DemandSideServer.readRequest(DemandSideServer.java:205)
        ... 26 more
Caused by: java.lang.NoSuchMethodException: 
org.openrtb.common.api.BidRequest.getDescriptor()
        at java.lang.Class.getMethod(Class.java:1605)
        at 
org.apache.avro.protobuf.ProtobufData.getSchema(ProtobufData.java:179)
        ... 29 more

org.openrtb.dsp.intf.model.DSPException: 
org.openrtb.dsp.intf.model.DSPException: java.lang.NullPointerException
        at 
org.openrtb.dsp.core.DemandSideServer.respond(DemandSideServer.java:142)
        at 
org.openrtb.dsp.core.DemandSideServerTest.thriftRespondTest(DemandSideServerTest.java:277)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.openrtb.dsp.intf.model.DSPException: 
java.lang.NullPointerException
        at 
org.openrtb.dsp.core.DemandSideServer.readRequest(DemandSideServer.java:214)
        at 
org.openrtb.dsp.core.DemandSideServer.respond(DemandSideServer.java:123)
        ... 25 more
Caused by: java.lang.NullPointerException
        at org.apache.avro.thrift.ThriftData.getRecordState(ThriftData.java:98)
        at 
org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:171)
        at 
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:148)
        at 
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:139)
        at 
org.openrtb.dsp.core.DemandSideServer.readRequest(DemandSideServer.java:207)
        ... 26 more

Reply via email to