Skip to content

Fix split package org.elasticsearch.client #81984

@ChrisHegarty

Description

@ChrisHegarty

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions