--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CALt0%2Bo8GG4kCfz9k1zBX6T3%2B3uVQyAGJXhaLunNSt1Xef1hXbQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CAMmsnJigAfA00iKiBPbTxrHOqPwPPZaAR7LnpuqO3vx1gRbb_w%40mail.gmail.com.
Sounds reasonable to me.
Just for due diligence - Do we know of anything actually using the high-level client ?
/max
--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CALt0%2Bo8GG4kCfz9k1zBX6T3%2B3uVQyAGJXhaLunNSt1Xef1hXbQ%40mail.gmail.com.
/max
https://xam.dk/about
Sounds reasonable to me.
Just for due diligence - Do we know of anything actually using the high-level client ?
wait - so maybe I misunderstood your ask - we only can make it easy to move to quarkiverse
when staying in platform. I thought the ask here is to move to quarkiverse AND outside the platform ?
> Also note that the High Level
> client is gone from Elasticsearch 7.16 and it's very tied to Elasticsearch
> versions so people will have to move to the new client.
>
> We can't really keep it around.
I'm not asking to keep it around - just trying to grok where the move have impact and if need to make it more visible.
If its just to quarkiverse it doesn't matter much - its only if out of platform it becomes a more impactful thing;
again in this specific case if you don't know of much usage and with the annoying elasticsearch license + possible upgrade issue its better it moves out ASAP.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CAJLxjVFqmA6W2Z_MDJMbD-rBhSsCpkn1A6VazSQD-3LygE_K%3Dw%40mail.gmail.com.
hmm - I didn't realise we kept these in quarkus core bom - how is that not creating
some weird funky cyclic dependency preventing us from releasing one without the other ?
The original idea was to remove them from Quarkus core repo (and Quarkus core bom) and
add them both in the Quarkus Platform not the Quarkus Core BOM as otherwise it create a funky cyclic dependency.
If we don't remove them from core bom we don't really move closer to be able to split/rearrange
Quarkus core more freely.
How does keeping it in core actually work release wise ? :)
> Again, we cannot keep it. It's dead from an Elastic POV. So I'm not
> proposing to move it to the Platform. I'm proposing to move it out to the
> Quarkiverse Hub in case some users need it until they can migrate to the
> new one, that we might support one day.
But if they are still in the platform they aren't moved out and still need to as compatible.
Thats what I don't get - if you want it out to upgrade to higher version without bumping elastic high level
you need to remove it from the BOM (both core and platform).
This is not a case where keeping the relocations in place is useful as the platform publishing
will force align dependencies of extensions in the platform.
I don't think moving to Quarkiverse an extension to then deprecate it and archive the repository a few weeks after is a good thing, it gives a false sense of what is the Quarkiverse, this is not a cemetery of dead extensions.
If we don't want to support the high level client, and I agree we shouldn't, we must deprecate it and remove it in a few release cycles where it is (so in the core).
Speaking of who uses the high level client: me and my team (in production) and I assume almost all applications that connect to Elasticsearch directly as using the low level client is not convenient and the high level client is the recommended way by Elastic since a long time.There is at least one extension that use it: the reactive elasticsearch client: https://github.com/quarkiverse/quarkus-elasticsearch-reactiveMoreover, the low level and the high level client are tightly coupled: they share the same version, the same dependencies, the same config options, the same config class, the same health check, the same native support, ... The high level extension is just a simple CDI producer that constructs a high level client based on a low level one. So if you move one to the quarkiverse you should move the other or the maintenance would be way more complex and risky. Both versions will always need to be aligned.
What I propose is to :- Move to Elasticsearch 7.16- Mark the high level client as deprecated with a notice that it will be removed on a subsequent release and that the Java client is the way to go
- Create an extension for the Java client in core, it'll be trivial to build as it can be created with a low level client (see https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/connecting.html), I can have a look later (next week).- Create an extension for Opensearch (it can be in the Quarkiverse): it's easy to build based on the one for Elasticsearch (copy/paste and change the packages), it doesn't need to be there for 2.7. I can work on it (I use an Opensearch cluster so I can easily test it).- I'll also discuss with the Vert.x team to have a wrapper based on the Java client but this can wait a little.
Keep in mind that the 7.16 Elasticsearch client will not allow you to communicate with an Opensearch server, to mitigate the issue while sorting things out we can use the 7.13.4 instead as it'll work with both (but is not Apache 2 licensed), or users would need to do this themselves, we can document it or not as it'll be a transient situation while waiting for the missing clients.
On 21 Dec 2021, at 13:19, Guillaume Smet wrote:
Also, please, folks, try to understand the big picture here and the problem
we are trying to solve.I'm not proposing this for fun, I will be the one doing the work and it's
definitely not fun work. I know it's not ideal but, unfortunately, I don't
see any other solutions that would be acceptable given the constraints we
have:
- update the low level client to the latest version for 2.7
- do NOT put companies using the high level client at risk of legal issues
-> we can't upgrade the high level client
- do NOT break the Core release when the new low level client will break
the old high level client - which might or might not happen but I really
don't want to take this risk
...for that last item to work don't we need to remove the high-level client extension from the POM ?
It might not break the core release but it will mean the core bom and the platform released is inconsistent.
/max
https://xam.dk/about
I'm talking about the original idea of listing relocations and the new ones in the same platform
to allow warnings + use of new one.
Anyhow I hadn't expected relocations to show up in core bom (even if only via relocations) but
thats the reality now so thats where we are :)
> We don't add the Quarkiverse extensions in the BOM. We keep the artifacts
> created by the relocations in the BOM - exactly as we did for
> the extensions we already moved:
> https://github.com/quarkusio/quarkus/blob/main/bom/application/pom.xml#L5309
>
> This way, if you have in your application pom:
> io.quarkus:quarkus-tika
> it's resolved to:
> io.quarkus:quarkus-tika:2.6.0.Final because of the BOM
> which is a relocation artifact
> which then gets redirected to:
> io.quarkiverse.tika:quarkus-tika:1.0.2 because of the relocation.
>
> These elements are in a special section of the BOM and will be removed when
> we drop the relocations.
Yeah - I just expected that to have been done in the Quarkus Platform not core.
Yeah - that would work. I just hoped we started to "break" extensions relying on quarkus core bom
and just keep users that should be using published quarkus platform would get the benefit
of friendly handholding.
Advantage is more will get the warnings - but does mean we haven't seen the actual impact
yet.
Yes I get that - I'm just not seeing how that avoids the issue you are trying
to avoid - that the high level client won't work with the aligned dependency for the
low level client and thus break the quarkus high level extension.
If its not used and it is known liability just seems clearer/better to remove it
and move it to be truly external for the platform?
Loic - you are right in saying the high level client is referenced in https://github.com/quarkiverse/quarkus-elasticsearch-reactive/blob/main/deployment/pom.xml#L14 which it would be interesting to understand how we upgrade that if quarkus core still lock in versions of the high level client dependencies.
quarkus-elasticsearch-reactive should start using quarkiverse high level client or being moved to the lower one directly ?
https://github.com/spring-projects/spring-data-elasticsearch/pull/2036Both use the high level rest client.