Breaking change in cluster check in 5.x?


(weibin.wu) #1

Hi Elasticsearch:

We were using ES 2.4 in our production. We are now testing 5.x and planning on migration.

However, we found that our SDK is using [cluster_endpoint]/?timeout=1000 to check whether the cluster is existed or not. But when we use the same SDK on 5.x, the HTTP respond is 400 instead of 200.

I believe there are some breaking changes on 5.x right?

Please help to advice. Thanks


(Daniel Mitterdorfer) #2

Hi @weibin.wu,

the response should tell you what's wrong. If I issue this request against Elasticsearch 5.5.0, I get:

{
  "error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "request [/] contains unrecognized parameter: [timeout]"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "request [/] contains unrecognized parameter: [timeout]"
  },
  "status" : 400
}

So Elasticsearch tells you that it does not know about the request parameter timeout. So all you have to do is to remove this request parameter and it works fine.

Btw, we have documented breaking changes, also document how to upgrade in general and provide a migration helper plugin which should help you spot most problems upfront. I hope that helps. :slight_smile:

Daniel


(system) #3

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