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

Fix split package org.elasticsearch.client #81984

Closed
ChrisHegarty opened this issue Dec 21, 2021 · 3 comments · Fixed by #82010
Closed

Fix split package org.elasticsearch.client #81984

ChrisHegarty opened this issue Dec 21, 2021 · 3 comments · Fixed by #82010
Labels
>bug :Clients/Java Low Level REST Client Minimal dependencies Java Client for Elasticsearch :Core/Infra/Core Core issues without another label modularization Java Modules related Team:Core/Infra Meta label for core/infra team Team:Data Management Meta label for data/management team

Comments

@ChrisHegarty
Copy link
Contributor

ChrisHegarty commented Dec 21, 2021

REST Clients - split package issue:

  1. High Level Rest Client (HLRC) - contains org.elasticsearch.client
  2. Low Level Rest Client (LLRC) - contains org.elasticsearch.client
  3. Elasticsearch Java Client (EJC) - contains co.elastic.clients.XXX
  4. Server - contains org.elasticsearch.client

1 , 2 and 4 above contain, and have types in, org.elasticsearch.client - leading to a split package.

The HLRC is has been replaced by no.3 EJC. There is no planned 8.x artifact of the HLRC, and the only thing holding us back from deleting it from the codebase in master is the use in tests.

The LLRC is still active and will continue on. Ultimately the LLRC code base might move to the elastisearch-java repo.

LLRC does not have any dependency on server. And in fact is its own thing. Never loaded into the same classloader, etc. It's a separate distribution.

HLRC however depends on both server and LLRC. (the HLRC dependence on the server was a large motivation for the EJC)

Long story short, we can move things around as we like in 8.x since there won't be HLRC releases anymore with 8.0. But we much avoid doing so in 7.x as it may lead to breaking changes in applications using HLRC. With LLRC some consideration for the package name should be applied to help avoid/document breaking changes - ultimately, we should NOT change the package name.

If we need to, we can rename the package in server, from org.elasticserarch.client to something more appropriate and relevant to its purpose “internal client”.

see #78166

@ChrisHegarty ChrisHegarty added >bug needs:triage Requires assignment of a team area label labels Dec 21, 2021
@ChrisHegarty
Copy link
Contributor Author

ChrisHegarty commented Dec 21, 2021

The current thought is to move server org.elasticsearch.client to org.elasticsearch.client.internal, since this package contains the internal client.

@ChrisHegarty ChrisHegarty changed the title Fix split package with org.elasticsearch.client Fix split package org.elasticsearch.client Dec 21, 2021
@astefan astefan added :Clients/Java Low Level REST Client Minimal dependencies Java Client for Elasticsearch :Data Management/Java High Level REST Client and removed needs:triage Requires assignment of a team area label labels Dec 22, 2021
@elasticmachine elasticmachine added the Team:Data Management Meta label for data/management team label Dec 22, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-data-management (Team:Data Management)

@ChrisHegarty ChrisHegarty added the :Core/Infra/Core Core issues without another label label Dec 22, 2021
@elasticmachine elasticmachine added the Team:Core/Infra Meta label for core/infra team label Dec 22, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (Team:Core/Infra)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug :Clients/Java Low Level REST Client Minimal dependencies Java Client for Elasticsearch :Core/Infra/Core Core issues without another label modularization Java Modules related Team:Core/Infra Meta label for core/infra team Team:Data Management Meta label for data/management team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants