# How to understand the error of reindex (request body is required)?

**URL:** <https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278>\
**Category:** Elasticsearch\
**Tags:** reindex\
**Created:** [March 22, 2022, 6:58am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278 "2022-03-22T06:58:40Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![wajika](https://avatars.discourse-cdn.com/v4/letter/w/977dab/32.png) [@wajika](https://discuss.elastic.co/u/wajika)\
**Post date:** [March 22, 2022, 6:58am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/1 "2022-03-22T06:58:40Z")

</div>

use reindex and want to rename iotmessages-000001 to iot\_prd\_iotmessage-000001.

There are so many raw data.

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/0/1/01662115cee301493032d5503cca948b7e49fe40.png)

```auto
POST _reindex?slices=5&refresh
{
  "conflicts": "proceed",
  "source": {
    "index": "iotmessages-000001"
  },
  "dest": {
    "index": "iot_prd_iotmessage-000001"
  }
}

```

But the task executes for a while and an error occurs. It prompts me that I need a request body, but I don't know what body to give. Why can't this error be smarter?

```auto
{
  "error" : {
    "root_cause" : [
      {
        "type" : "parse_exception",
        "reason" : "request body is required"
      }
    ],
    "type" : "parse_exception",
    "reason" : "request body is required"
  },
  "status" : 400
}

```

Some data have already been generated.

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/7/7/77b6b03d9c97aa26f3a5532ac412e7f0c5f57abd.png)

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 22, 2022, 12:25pm UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/2 "2022-03-22T12:25:38Z")

</div>

Is there anything in the Elasticsearch logfiles? Also, which version are you using?

Can you add the parameter to show full stack traces and share the output as well? See [Common options | Elasticsearch Guide [8.1] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/8.1/common-options.html#common-options-error-options)

---

<div class="post-metadata">

**Author:** ![wajika](https://avatars.discourse-cdn.com/v4/letter/w/977dab/32.png) [@wajika](https://discuss.elastic.co/u/wajika)\
**Post date:** [March 23, 2022, 3:07am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/3 "2022-03-23T03:07:16Z")

</div>

I changed the name of dest, ran it again, and got the result of the stack.

elastic stack : 7.16.3

```auto
{
  "error" : {
    "root_cause" : [
      {
        "type" : "parse_exception",
        "reason" : "request body is required",
        "stack_trace" : "ElasticsearchParseException[request body is required]\n\tat org.elasticsearch.rest.RestRequest.requiredContent(RestRequest.java:263)\n\tat org.elasticsearch.rest.RestRequest.contentParser(RestRequest.java:466)\n\tat org.elasticsearch.reindex.RestReindexAction.buildRequest(RestReindexAction.java:62)\n\tat org.elasticsearch.reindex.RestReindexAction.buildRequest(RestReindexAction.java:32)\n\tat org.elasticsearch.reindex.AbstractBaseReindexRestHandler.doPrepareRequest(AbstractBaseReindexRestHandler.java:44)\n\tat org.elasticsearch.reindex.RestReindexAction.prepareRequest(RestReindexAction.java:50)\n\tat org.elasticsearch.rest.BaseRestHandler.handleRequest(BaseRestHandler.java:86)\n\tat org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:327)\n\tat org.elasticsearch.rest.RestController.tryAllHandlers(RestController.java:393)\n\tat org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:245)\n\tat org.elasticsearch.http.AbstractHttpServerTransport.dispatchRequest(AbstractHttpServerTransport.java:382)\n\tat org.elasticsearch.http.AbstractHttpServerTransport.handleIncomingRequest(AbstractHttpServerTransport.java:461)\n\tat org.elasticsearch.http.AbstractHttpServerTransport.incomingRequest(AbstractHttpServerTransport.java:357)\n\tat org.elasticsearch.http.netty4.Netty4HttpRequestHandler.channelRead0(Netty4HttpRequestHandler.java:32)\n\tat org.elasticsearch.http.netty4.Netty4HttpRequestHandler.channelRead0(Netty4HttpRequestHandler.java:18)\n\tat io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat org.elasticsearch.http.netty4.Netty4HttpPipeliningHandler.channelRead(Netty4HttpPipeliningHandler.java:48)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)\n\tat io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)\n\tat io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:620)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:583)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat java.base/java.lang.Thread.run(Thread.java:833)\n"
      }
    ],
    "type" : "parse_exception",
    "reason" : "request body is required",
    "stack_trace" : "ElasticsearchParseException[request body is required]\n\tat org.elasticsearch.rest.RestRequest.requiredContent(RestRequest.java:263)\n\tat org.elasticsearch.rest.RestRequest.contentParser(RestRequest.java:466)\n\tat org.elasticsearch.reindex.RestReindexAction.buildRequest(RestReindexAction.java:62)\n\tat org.elasticsearch.reindex.RestReindexAction.buildRequest(RestReindexAction.java:32)\n\tat org.elasticsearch.reindex.AbstractBaseReindexRestHandler.doPrepareRequest(AbstractBaseReindexRestHandler.java:44)\n\tat org.elasticsearch.reindex.RestReindexAction.prepareRequest(RestReindexAction.java:50)\n\tat org.elasticsearch.rest.BaseRestHandler.handleRequest(BaseRestHandler.java:86)\n\tat org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:327)\n\tat org.elasticsearch.rest.RestController.tryAllHandlers(RestController.java:393)\n\tat org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:245)\n\tat org.elasticsearch.http.AbstractHttpServerTransport.dispatchRequest(AbstractHttpServerTransport.java:382)\n\tat org.elasticsearch.http.AbstractHttpServerTransport.handleIncomingRequest(AbstractHttpServerTransport.java:461)\n\tat org.elasticsearch.http.AbstractHttpServerTransport.incomingRequest(AbstractHttpServerTransport.java:357)\n\tat org.elasticsearch.http.netty4.Netty4HttpRequestHandler.channelRead0(Netty4HttpRequestHandler.java:32)\n\tat org.elasticsearch.http.netty4.Netty4HttpRequestHandler.channelRead0(Netty4HttpRequestHandler.java:18)\n\tat io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat org.elasticsearch.http.netty4.Netty4HttpPipeliningHandler.channelRead(Netty4HttpPipeliningHandler.java:48)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)\n\tat io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)\n\tat io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:620)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:583)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat java.base/java.lang.Thread.run(Thread.java:833)\n"
  },
  "status" : 400
}

```

---

<div class="post-metadata">

**Author:** ![wajika](https://avatars.discourse-cdn.com/v4/letter/w/977dab/32.png) [@wajika](https://discuss.elastic.co/u/wajika)\
**Post date:** [March 23, 2022, 6:06am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/4 "2022-03-23T06:06:59Z")

</div>

![image 690x107](https://us1.discourse-cdn.com/elastic/original/3X/2/0/2021e180dfc77058c22f1b0b49b550e4b2ad7746.png)

By the way, another question, why after reindex, the volume of indices is bigger than before?

I will iot\_prd\_iotmessage \>\> reindex \>\> iot\_prd\_iotmessage-00000001, although the reindex has not been completed, but the size seen has exceeded the original.

update. it has been completed, and the new volume is nearly doubled

 ![image 690x142](https://us1.discourse-cdn.com/elastic/original/3X/1/9/19382e5abd8c811f234105d03a595d08d012d6ea.png)

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 23, 2022, 9:15am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/5 "2022-03-23T09:15:42Z")

</div>

So, judging from the error message and the stack trace it seems, that there is a HTTP body missing. Your sample above looks good

```auto
POST _reindex?slices=5&refresh
{
  "conflicts": "proceed",
  "source": {
    "index": "iotmessages-000001"
  },
  "dest": {
    "index": "iot_prd_iotmessage-000001"
  }
}

```

Just to make sure this is a not a possible error. Did you remove any newlines between the first `POST` and following lines, so this is treated properly by the Kibana console?

If that does not work for whatever reasons, can you try running this as a request using curl?

---

<div class="post-metadata">

**Author:** ![wajika](https://avatars.discourse-cdn.com/v4/letter/w/977dab/32.png) [@wajika](https://discuss.elastic.co/u/wajika)\
**Post date:** [March 24, 2022, 2:21am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/6 "2022-03-24T02:21:25Z")

</div>

```auto
Did you remove any newlines between the first `POST` and following lines, so this is treated properly by the Kibana console?

```

I have formatted the DSL statement, there should be no other errors.  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/c/8/c8c7cfdfb3a1280276c2977f69cddadc43b4d76d.png)

```auto
can you try running this as a request using curl?

```

I'll try to use curl next time, but can Elasticsearch be smarter about the error here?

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 24, 2022, 8:08am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/7 "2022-03-24T08:08:12Z")

</div>

Yes, this looks good in Kibana Dev Tools. I do not understand why that error occurs in that case. Just would like to see if the curl version works, of if the error is somewhere else again.

There is one minor glitch with the two `&&`, but I do not think that has any effect, just an empty parameter.

---

<div class="post-metadata">

**Author:** ![wajika](https://avatars.discourse-cdn.com/v4/letter/w/977dab/32.png) [@wajika](https://discuss.elastic.co/u/wajika)\
**Post date:** [March 24, 2022, 9:02am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/8 "2022-03-24T09:02:05Z")

</div>

Oh thanks for pointing out, I wrote an extra &, but at first it looked like this, without adding &&error\_trace=true.

```auto
POST _reindex?slices=5&refresh
{
  "conflicts": "proceed",
  "source": {
    "index": "iot_prd_iotmessage"
  },
  "dest": {
    "index": "iot_prd_iotmessage-00000001"
  }
}

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 21, 2022, 9:02am UTC](https://discuss.elastic.co/t/how-to-understand-the-error-of-reindex-request-body-is-required/300278/9 "2022-04-21T09:02:55Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
