Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

See if we can update to Elasticsearch 8.0 #2913

Closed
humphd opened this issue Feb 13, 2022 · 14 comments · Fixed by #3684
Closed

See if we can update to Elasticsearch 8.0 #2913

humphd opened this issue Feb 13, 2022 · 14 comments · Fixed by #3684
Assignees
Labels
area: elasticsearch Elasticsearch Related issues and pull requests Blocked Can't do this, until something else is done type: enhancement New feature or request

Comments

@humphd
Copy link
Contributor

humphd commented Feb 13, 2022

Elasticsearch 8.0 was recently released: https://www.elastic.co/blog/whats-new-elastic-8-0-0. It just made it to Docker Hub too: https://hub.docker.com/_/elasticsearch.

@manekenpix tells me that every time we update Elasticsearch it breaks, so we can't do this without testing. Luckily, @rclee91 and @JiaHua-Zou are landing tests for Elasticsearch in 2.7, so soon we can try this.

@humphd humphd added type: enhancement New feature or request area: elasticsearch Elasticsearch Related issues and pull requests labels Feb 13, 2022
@cindyorangis
Copy link
Contributor

It's either Elasticsearch or MDX that breaks Telescope, eh? 😂

@DukeManh
Copy link
Contributor

Once @rclee91 search PR goes in, we can trigger a Renovate PR for elasticsearch@v8 to see if it breaks.

@RC-Lee RC-Lee self-assigned this Feb 17, 2022
@menghif menghif added this to the 2.8 Release milestone Feb 17, 2022
@AmasiaNalbandian
Copy link
Contributor

@DukeManh does that mean it will automatically do it? I forget how we are triggering them.

@DukeManh
Copy link
Contributor

@AmasiaNalbandian, you can approve a major update to trigger the PR in Renovate dashboard here #2638

@humphd
Copy link
Contributor Author

humphd commented Feb 17, 2022

Please don't do this without testing. As I say, it's known to break our boxes.

@RC-Lee
Copy link
Contributor

RC-Lee commented Feb 18, 2022

Reading the release notes, here are some parts I know will already break Search and tests

Some other things to note in the API changes (will have to scroll down all the way to Search for the whole list). I've listed some that is obvious to me.

@manekenpix
Copy link
Member

Some more info:
I tried to run the parser with ES v8 (both image and client) and the first thing to deal with is this (the client can't connect to ES):

"log.level": "WARN", "message":"received plaintext http traffic on an https channel, closing connection"

It seems that some security features are now enabled by default. In the docs, they mention this to disable security:

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

So, what should we disable? I tested disabling the first option xpack.security.enabled: false, and the client can connect to ES (storing fails because of some of the issues mentioned in a previous comment).
Disabling the second option (which presumably means the first option is enabled), causes this:
xpack.security.transport.ssl.enabled: false

error: {
      "name": "ResponseError",
      "meta": {
        "body": {
          "error": {
            "root_cause": [
              {
                "type": "security_exception",
                "reason": "missing authentication credentials for REST request [/_cluster/health]",
                "header": {
                  "WWW-Authenticate": [
                    "Basic realm=\"security\" charset=\"UTF-8\"",
                    "ApiKey"
                  ]
                }
              }
            ]

My guess is that we can disable everything since we don't expose ES at all and supabse is going to take over soon.
Any suggestions?

cc: @rclee91 @AmasiaNalbandian @humphd

@RC-Lee
Copy link
Contributor

RC-Lee commented Feb 23, 2022

We're using ElasticSearch from Satellite in search and parser, so I'm guessing ES in Satellite will also have to be upgraded as well

@humphd
Copy link
Contributor Author

humphd commented Feb 23, 2022

I'm not sure that we'll dump ES any time soon, since Supabase doesn't provide the same capabilities. We might do that eventually, but not in 3.0.

I think that we should be able to avoid all the security to the ES instance because we don't expose it to the world. We'll have to figure out how to turn this stuff off, or how to satisfy it?

@humphd
Copy link
Contributor Author

humphd commented Feb 23, 2022

The eslint mock we use doesn't support 8.0 yet, so this is not happening until we get that. @rclee91 has details in #3026 (comment)

@RC-Lee
Copy link
Contributor

RC-Lee commented Feb 26, 2022

Unfortunate, but I think I'd be even more sad if we had to rip out the tests that I took so long to get in.
Should I close that PR for now then?

@humphd
Copy link
Contributor Author

humphd commented Feb 26, 2022

Let's leave it open, but block it on these issues being sorted.

@humphd humphd added Blocked Can't do this, until something else is done upstream labels Feb 26, 2022
@AmasiaNalbandian
Copy link
Contributor

I don't like this one at all.... :(

However, after seeing what @rclee91 detailed, this doesn't seem THAT bad (the documentation is really good for the migration). We can probably start a draft PR in 2.9 and prepare it for release 4.0 so we have a rough outline.

@AmasiaNalbandian AmasiaNalbandian removed this from the 2.8 Release milestone Feb 28, 2022
@tpmai22 tpmai22 added this to the 2.9 Release milestone Mar 8, 2022
@RC-Lee RC-Lee modified the milestones: 2.9 Release, 3.0-alpha Release Mar 15, 2022
@humphd humphd removed this from the 3.0-alpha Release milestone Mar 31, 2022
@humphd
Copy link
Contributor Author

humphd commented Mar 31, 2022

This can happen post-3.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: elasticsearch Elasticsearch Related issues and pull requests Blocked Can't do this, until something else is done type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants