Hey guys, I’m getting NullPointerException while using a significant_terms
aggregation. It happens in this line:
org.elasticsearch.search.aggregations.bucket.significant.heuristics.SignificanceHeuristicStreams.read(SignificanceHeuristicStreams.java:38)
The error is in the deserialization: Failed to deserialize response of
type [org.elasticsearch.action.search.SearchResponse]
I’m using the Java API. I just printed the request and manually did it
through the REST API and everything went fine. It happens only when using
the Java API.
I'm using ES 1.3.2.
The printed search request:
{
"from" : 0,
"size" : 6,
"timeout" : 30000,
"query" : {
"filtered" : {
"query" : {
"query_string" : {
"query" : "ayrton senna",
"fields" : [ "title^2.0", "description" ],
"default_operator" : "and"
}
},
"filter" : {
"bool" : {
"must" : [ {
"range" : {
"created_at" : {
"from" : null,
"to" : "2014-09-19T20:28:30.000Z",
"include_lower" : true,
"include_upper" : true
},
"_cache" : true
}
}, {
"range" : {
"published_at" : {
"from" : null,
"to" : "2014-09-19T20:28:30.000Z",
"include_lower" : true,
"include_upper" : true
},
"_cache" : true
}
}, {
"range" : {
"published_at" : {
"from" : "2014-08-20T20:28:30.000Z",
"to" : "2014-09-19T20:28:30.000Z",
"include_lower" : true,
"include_upper" : true
},
"_cache" : false
}
} ]
}
}
}
},
"fields" : ,
"aggregations" : {
"topics" : {
"significant_terms" : {
"field" : "topic_ids",
"size" : 20
}
}
}
}
The complete error stacktrace:
[ERROR] 2014-09-19 20:29:13.177 c.b.s.SearchServlet -
org.elasticsearch.transport.TransportSerializationException: Failed to
deserialize response of type
[org.elasticsearch.action.search.SearchResponse]
org.elasticsearch.transport.TransportSerializationException: Failed to
deserialize response of type
[org.elasticsearch.action.search.SearchResponse]
at
org.elasticsearch.transport.netty.MessageChannelHandler.handleResponse(MessageChannelHandler.java:152)
at
org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:127)
at
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at
org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
at
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
at
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
at
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
at
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
at
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
at
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)
at
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
at
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at
org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at
org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at
org.elasticsearch.search.aggregations.bucket.significant.heuristics.SignificanceHeuristicStreams.read(SignificanceHeuristicStreams.java:38)
at
org.elasticsearch.search.aggregations.bucket.significant.SignificantLongTerms.readFrom(SignificantLongTerms.java:126)
at
org.elasticsearch.search.aggregations.bucket.significant.SignificantLongTerms$1.readResult(SignificantLongTerms.java:50)
at
org.elasticsearch.search.aggregations.bucket.significant.SignificantLongTerms$1.readResult(SignificantLongTerms.java:46)
at
org.elasticsearch.search.aggregations.InternalAggregations.readFrom(InternalAggregations.java:190)
at
org.elasticsearch.search.aggregations.InternalAggregations.readAggregations(InternalAggregations.java:172)
at
org.elasticsearch.search.internal.InternalSearchResponse.readFrom(InternalSearchResponse.java:116)
at
org.elasticsearch.search.internal.InternalSearchResponse.readInternalSearchResponse(InternalSearchResponse.java:105)
at
org.elasticsearch.action.search.SearchResponse.readFrom(SearchResponse.java:227)
at
org.elasticsearch.transport.netty.MessageChannelHandler.handleResponse(MessageChannelHandler.java:150)
... 23 more
The (Scala) code I used to generate the request :
val request = ....
val topicsAggregation =
significantTerms("topics").field("topic_ids").size(20)
request.addAggregation(topicsAggregation)
The code to retrieve the aggregation (although it seems it never reaches
here):
val terms: SignificantTerms = response.getAggregations.get("topics")
Any ideas?
Thanks!
Felipe Hummel
--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/5a511b6b-a9bc-47dd-b3bd-84f9a7ac5a7f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.