# Elasticsearch java.lang.NullPointerException: null

**URL:** <https://discuss.elastic.co/t/elasticsearch-java-lang-nullpointerexception-null/373318>\
**Category:** Logstash\
**Created:** [January 17, 2025, 9:25am UTC](https://discuss.elastic.co/t/elasticsearch-java-lang-nullpointerexception-null/373318 "2025-01-17T09:25:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mendiu](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@Mendiu](https://discuss.elastic.co/u/Mendiu)\
**Post date:** [January 17, 2025, 9:25am UTC](https://discuss.elastic.co/t/elasticsearch-java-lang-nullpointerexception-null/373318/1 "2025-01-17T09:25:32Z")

</div>

Hi  
after update from 7.17.13 -\> 7.17.18

Elastic v 7.17.18  
Logstash 7.17.18  
Java 11.0.18

I have err from logstash:  
`logstash[12445]: [2025-01-17T13:14:53,148][ERROR][logstash.outputs.elasticsearch][main][id] Encountered a retryable error (will retry with exponential backoff) {:code=>500, :url=>"https://1:9122/_bulk", :content_length=>30935, :body=>"{\"error\":{\"root_cause\":[{\"type\":\"null_pointer_exception\",\"reason\":null}],\"type\":\"null_pointer_exception\",\"reason\":null,\"suppressed\":[{\"type\":\"illegal_state_exception\",\"reason\":\"Failed to close the XContentBuilder\",\"caused_by\":{\"type\":\"i_o_exception\",\"reason\":\"\"}}]},\"status\":500}"}`

Elastic Logs:

```auto
[WARN][r.suppressed] [elk-node1] path: /_bulk, params: {}
java.lang.NullPointerException: null
        at org.elasticsearch.action.bulk.BulkResponse.hasFailures(BulkResponse.java:91) ~[elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.bulk.BulkResponse.toXContent(BulkResponse.java:151) ~[elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.rest.action.RestStatusToXContentListener.buildResponse(RestStatusToXContentListener.java:46) ~[elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.rest.action.RestStatusToXContentListener.buildResponse(RestStatusToXContentListener.java:22) ~[elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.rest.action.RestBuilderListener.buildResponse(RestBuilderListener.java:27) ~[elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.rest.action.RestResponseListener.processResponse(RestResponseListener.java:26) ~[elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.rest.action.RestActionListener.onResponse(RestActionListener.java:38) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:88) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:82) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:31) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$2(SecurityActionFilter.java:192) [x-pack-security-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.ActionListener$DelegatingFailureActionListener.onResponse(ActionListener.java:219) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.ActionListener$RunBeforeActionListener.onResponse(ActionListener.java:389) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.ActionListener$MappedActionListener.onResponse(ActionListener.java:101) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:627) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onResponse(TransportBulkAction.java:603) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onResponse(TransportBulkAction.java:592) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:88) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:82) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:31) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$2(SecurityActionFilter.java:192) [x-pack-security-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.ActionListener$DelegatingFailureActionListener.onResponse(ActionListener.java:219) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishOnSuccess(TransportReplicationAction.java:1070) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase$1.handleResponse(TransportReplicationAction.java:978) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase$1.handleResponse(TransportReplicationAction.java:969) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.TransportService$4.handleResponse(TransportService.java:847) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleResponse(TransportService.java:1471) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.InboundHandler.doHandleResponse(InboundHandler.java:352) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.InboundHandler.handleResponse(InboundHandler.java:336) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.InboundHandler.messageReceived(InboundHandler.java:136) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.InboundHandler.inboundMessage(InboundHandler.java:88) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.TcpTransport.inboundMessage(TcpTransport.java:746) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.InboundPipeline.forwardFragments(InboundPipeline.java:147) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.InboundPipeline.doHandleBytes(InboundPipeline.java:119) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.InboundPipeline.handleBytes(InboundPipeline.java:84) [elasticsearch-7.17.18.jar:7.17.18]
        at org.elasticsearch.transport.netty4.Netty4MessageChannelHandler.channelRead(Netty4MessageChannelHandler.java:71) [transport-netty4-client-7.17.18.jar:7.17.18]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) [netty-transport-4.1.94.Final.jar:4.1.94.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.94.Final.jar:4.1.94.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) [netty-transport-4.1.94.Final.jar:4.1.94.Final]
        at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280) [netty-handler-4.1.94.Final.jar:4.1.94.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) [netty-transport-4.1.94.Final.jar:4.1.94.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.94.Final.jar:4.1.94.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) [netty-transport-4.1.94.Final.jar:4.1.94.Final]
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [netty-codec-4.1.94.Final.jar:4.1.94.Final]
Suppressed: java.lang.IllegalStateException: Failed to close the XContentBuilder
                at org.elasticsearch.xcontent.XContentBuilder.close(XContentBuilder.java:1131) ~[elasticsearch-x-content-7.17.18.jar:7.17.18]
                at org.elasticsearch.rest.action.RestBuilderListener.buildResponse(RestBuilderListener.java:26) ~[elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.rest.action.RestResponseListener.processResponse(RestResponseListener.java:26) ~[elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.rest.action.RestActionListener.onResponse(RestActionListener.java:38) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:88) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:82) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:31) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$2(SecurityActionFilter.java:192) [x-pack-security-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.ActionListener$DelegatingFailureActionListener.onResponse(ActionListener.java:219) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.ActionListener$RunBeforeActionListener.onResponse(ActionListener.java:389) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.ActionListener$MappedActionListener.onResponse(ActionListener.java:101) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:627) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onResponse(TransportBulkAction.java:603) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onResponse(TransportBulkAction.java:592) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:88) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:82) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:31) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$2(SecurityActionFilter.java:192) [x-pack-security-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.ActionListener$DelegatingFailureActionListener.onResponse(ActionListener.java:219) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishOnSuccess(TransportReplicationAction.java:1070) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase$1.handleResponse(TransportReplicationAction.java:978) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase$1.handleResponse(TransportReplicationAction.java:969) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.transport.TransportService$4.handleResponse(TransportService.java:847) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleResponse(TransportService.java:1471) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.transport.InboundHandler.doHandleResponse(InboundHandler.java:352) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.transport.InboundHandler.handleResponse(InboundHandler.java:336) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.transport.InboundHandler.messageReceived(InboundHandler.java:136) [elasticsearch-7.17.18.jar:7.17.18]
                at org.elasticsearch.transport.InboundHandler.inboundMessage(InboundHandler.java:88) [elasticsearch-7.17.18.jar:7.17.18]

```

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [January 17, 2025, 2:46pm UTC](https://discuss.elastic.co/t/elasticsearch-java-lang-nullpointerexception-null/373318/2 "2025-01-17T14:46:38Z")

</div>

Welcome!

The latest 7.17 version is **7.17.27**. So I'd not upgrade to a minor version which is not the latest.

Not sure this will fix your problem but that's the first thing I'd do.

Then, you probably need to check if one of the documents you are sending from LS to ES has actually a body. Not sure if this is what this error message means but I'd check that (using the [stdout plugin](https://www.elastic.co/guide/en/logstash/current/plugins-outputs-stdout.html))...

---

<div class="post-metadata">

**Author:** ![Mendiu](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@Mendiu](https://discuss.elastic.co/u/Mendiu)\
**Post date:** [January 21, 2025, 6:53am UTC](https://discuss.elastic.co/t/elasticsearch-java-lang-nullpointerexception-null/373318/3 "2025-01-21T06:53:03Z")

</div>

Thanks for answer  
I have a problem with my Ingest Pipeline.  
Why does the enterprise Elastic solution drop all incoming logs if one of the ingest pipelines fails?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [January 21, 2025, 9:06pm UTC](https://discuss.elastic.co/t/elasticsearch-java-lang-nullpointerexception-null/373318/4 "2025-01-21T21:06:16Z")

</div>

If you want to manage failures, you need to use on\_failure. See

> **[Ingest pipelines | Elasticsearch Guide \[8.17\] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html#handling-pipeline-failures)**
