qubole / qds-sdk-java

A Java library that provides the tools you need to authenticate with, and use the Qubole Data Service API.

Home Page:https://api.qubole.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JsonParseException: Numeric value (2393972736.0) out of range of int (-2147483648 - 2147483647)

tisenhart opened this issue · comments

Hello,
I have encountered a use case where the report API is not returning the results from an allCommandsReport, using the Java api, it is throwing a JsonParseException: Numeric value (2393972736.0) out of range of int (-2147483648 - 2147483647). In some cases, for different time frames , it returns all the results.
Any ideas how to debug or fix this?
Thanks in advance, Tim

My code follows
AllCommandsReportBuilder thisReport = client.report().allCommandsReport();
// set params {limit=30, end_date=2016-02-02 17:29:07, sort_column=time,
// by_user=false, offset=150, start_date=2016-02-02 18:29:07}
reportCommandResponseFuture = thisReport.invoke();
AllCommandsReport response = reportCommandResponseFuture.get();

The exception
java.util.concurrent.ExecutionException: javax.ws.rs.ProcessingException: Error reading entity from input stream.
at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
at ... a unit test...

Caused by: javax.ws.rs.ProcessingException: Error reading entity from input stream.
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:868)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:785)
at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:267)
at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:761)
at org.glassfish.jersey.client.JerseyInvocation.access$500(JerseyInvocation.java:90)
at org.glassfish.jersey.client.JerseyInvocation$5.completed(JerseyInvocation.java:734)
at org.glassfish.jersey.client.ClientRuntime.processResponse(ClientRuntime.java:172)
at org.glassfish.jersey.client.ClientRuntime.access$300(ClientRuntime.java:72)
at org.glassfish.jersey.client.ClientRuntime$1.run(ClientRuntime.java:154)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:318)
at org.glassfish.jersey.client.ClientRuntime$2.run(ClientRuntime.java:184)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
Caused by: org.codehaus.jackson.JsonParseException: Numeric value (2393972736.0) out of range of int (-2147483648 - 2147483647)
at [Source: org.glassfish.jersey.message.internal.EntityInputStream@3b4d679; line: 1, column: 1460]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1433)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:521)
at org.codehaus.jackson.impl.JsonParserBase.reportOverflowInt(JsonParserBase.java:981)
at org.codehaus.jackson.impl.JsonParserBase.convertNumberToInt(JsonParserBase.java:841)
at org.codehaus.jackson.impl.JsonParserBase.getIntValue(JsonParserBase.java:625)
at org.codehaus.jackson.map.deser.std.StdDeserializer._parseInteger(StdDeserializer.java:303)
at org.codehaus.jackson.map.deser.std.StdDeserializer$IntegerDeserializer.deserialize(StdDeserializer.java:819)
at org.codehaus.jackson.map.deser.std.StdDeserializer$IntegerDeserializer.deserialize(StdDeserializer.java:806)
at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)
at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:217)
at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:194)
at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:30)
at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)
at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2704)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1315)
at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:419)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:239)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:211)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:139)
at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1109)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:853)
... 21 more

hi tim,
the cpu value is defined as int, and looks like the numeric value for cpu: 2393972736.0 which is greater than int range caused this.
will be changing it to long to accommodate larger value set.
can you confirm your largest cpu usage value for a query?

yes, we have some very long queries running on big clusters, i am not surprised the cpu is very large

Thanks for looking at this issue, when are you planning to release a new artifact?

Sent from my iPhone

On Feb 7, 2016, at 9:36 PM, Rohit Agarwal notifications@github.com wrote:

Closed #60 via b4e50f8.


Reply to this email directly or view it on GitHub.

Hi Tim,

We just released 0.7.0. The release notes are here: https://github.com/qubole/qds-sdk-java/releases/tag/0.7.0

thank you very much , 0.7.0 solves my issue.