# DBeaver to Elasticsearch connectivity is OK but fails on listing tables

**URL:** <https://discuss.elastic.co/t/dbeaver-to-elasticsearch-connectivity-is-ok-but-fails-on-listing-tables/338444>\
**Category:** Elasticsearch\
**Tags:** docker, jdbc\
**Created:** [July 14, 2023, 9:51pm UTC](https://discuss.elastic.co/t/dbeaver-to-elasticsearch-connectivity-is-ok-but-fails-on-listing-tables/338444 "2023-07-14T21:51:02Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mike\_Z](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mike_z/32/122216_2.png) [@Mike\_Z](https://discuss.elastic.co/u/Mike_Z)\
**Post date:** [July 14, 2023, 9:51pm UTC](https://discuss.elastic.co/t/dbeaver-to-elasticsearch-connectivity-is-ok-but-fails-on-listing-tables/338444/1 "2023-07-14T21:51:02Z")

</div>

On DBeaver v23.1.0, we created a connection to an instance of Elasticsearch v8.6.1.

The connectivity test, and logging in are OK. However, when clicking on the icons to expand the "Tables", it got an error saying, `... The [8.8.2] version of the [jdbc] client is not compatible with Elasticsearch version [8.6.1] ...`.

**Our Question:**

We wonder how to fix this error and start using DBeaver as a GUI client of Elasticsearch.

And we are still on a learning curve of Elasticsearch, so we highly appreciate any hints and suggestions.

**Technical Details:**

- The full trace of error:

```plaintext
Server sent bad type [action_request_validation_exception]. Original type was [Validation Failed: 1: The [8.8.2] version of the [jdbc] client is not compatible with Elasticsearch version [8.6.1];]. [org.elasticsearch.action.ActionRequestValidationException: Validation Failed: 1: The [8.8.2] version of the [jdbc] client is not compatible with Elasticsearch version [8.6.1];
	at org.elasticsearch.server@8.6.1/org.elasticsearch.action.ValidateActions.addValidationError(ValidateActions.java:15)
	at org.elasticsearch.xpack.sql.action.AbstractSqlQueryRequest.validate(AbstractSqlQueryRequest.java:291)
	at org.elasticsearch.xpack.sql.action.SqlQueryRequest.validate(SqlQueryRequest.java:149)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:45)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.tasks.TaskManager.registerAndExecute(TaskManager.java:202)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.client.internal.node.NodeClient.executeLocally(NodeClient.java:112)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.rest.action.RestCancellableNodeClient.doExecute(RestCancellableNodeClient.java:81)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.client.internal.support.AbstractClient.execute(AbstractClient.java:380)
	at org.elasticsearch.xpack.sql.plugin.RestSqlQueryAction.lambda$prepareRequest$0(RestSqlQueryAction.java:52)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.rest.BaseRestHandler.handleRequest(BaseRestHandler.java:103)
	at org.elasticsearch.security@8.6.1/org.elasticsearch.xpack.security.rest.SecurityRestFilter.doHandleRequest(SecurityRestFilter.java:123)
	at org.elasticsearch.security@8.6.1/org.elasticsearch.xpack.security.rest.SecurityRestFilter.handleRequest(SecurityRestFilter.java:92)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:398)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.rest.RestController.tryAllHandlers(RestController.java:532)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:313)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.http.AbstractHttpServerTransport.dispatchRequest(AbstractHttpServerTransport.java:379)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.http.AbstractHttpServerTransport.handleIncomingRequest(AbstractHttpServerTransport.java:460)
	at org.elasticsearch.server@8.6.1/org.elasticsearch.http.AbstractHttpServerTransport.incomingRequest(AbstractHttpServerTransport.java:353)
	at org.elasticsearch.transport.netty4@8.6.1/org.elasticsearch.http.netty4.Netty4HttpPipeliningHandler.handlePipelinedRequest(Netty4HttpPipeliningHandler.java:128)
...

```

- The Elasticsearch version information:

```plaintext
{
  "name": "65f14b77e170",
  "cluster_name": "docker-cluster",
  "cluster_uuid": "vP93cWe0QvqCN8-dEaowsA",
  "version": {
    "number": "8.6.1",
    "build_flavor": "default",
    "build_type": "docker",
    "build_hash": "180c9830da956993e59e2cd70eb32b5e383ea42c",
    "build_date": "2023-01-24T21:35:11.506992272Z",
    "build_snapshot": false,
    "lucene_version": "9.4.2",
    "minimum_wire_compatibility_version": "7.17.0",
    "minimum_index_compatibility_version": "7.0.0"
  },
  "tagline": "You Know, for Search"
}

```

---

<div class="post-metadata">

**Author:** ![stephenb](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/stephenb/32/40856_2.png) [@stephenb](https://discuss.elastic.co/u/stephenb)\
**Post date:** [July 14, 2023, 10:15pm UTC](https://discuss.elastic.co/t/dbeaver-to-elasticsearch-connectivity-is-ok-but-fails-on-listing-tables/338444/2 "2023-07-14T22:15:16Z")

</div>

Pretty sure You need to download the correct / compatible version of the driver as the error states

Navigate here  
[https://www.elastic.co/downloads/past-releases#jdbc-client](https://www.elastic.co/downloads/past-releases#jdbc-client)

Then pick the 8.6.1 Version

Always best to match versions of Clients and Servers!

---

<div class="post-metadata">

**Author:** ![Mike\_Z](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mike_z/32/122216_2.png) [@Mike\_Z](https://discuss.elastic.co/u/Mike_Z)\
**Post date:** [July 14, 2023, 11:02pm UTC](https://discuss.elastic.co/t/dbeaver-to-elasticsearch-connectivity-is-ok-but-fails-on-listing-tables/338444/3 "2023-07-14T23:02:09Z")

</div>

Thank you, @stephenb.

After replacing the JDBC driver in the context of "Connection \> Driver Settings \> Libraries", we are encountering another error now saying, `current license is non-compliant for [jdbc]`.

A quick search led me to [this post](https://github.com/elastic/elasticsearch/issues/31418#issuecomment-398261712), saying the JDBC driver requires certain licenses. And the command `GET /_license` shows the current license information as below:

```plaintext
{
  "license": {
    "status": "active",
    "uid": "b4c33bd2-c123-4171-937f-4a2e6feac74c",
    "type": "basic",
    "issue_date": "2023-02-17T22:30:41.285Z",
    "issue_date_in_millis": 1676673041285,
    "max_nodes": 1000,
    "max_resource_units": null,
    "issued_to": "docker-cluster",
    "issuer": "elasticsearch",
    "start_date_in_millis": -1
  }
}

```

The [official document](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/start-trial.html) provides a way to start a 30-day trial by the command `POST /_license/start_trial?acknowledge=true`.

So, I wonder if this project takes longer than 30 days, can we get an extension? Or is there something like a free developer license?

---

<div class="post-metadata">

**Author:** ![xeraa](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/xeraa/32/48181_2.png) [@xeraa](https://discuss.elastic.co/u/xeraa)\
**Post date:** [July 16, 2023, 12:50am UTC](https://discuss.elastic.co/t/dbeaver-to-elasticsearch-connectivity-is-ok-but-fails-on-listing-tables/338444/4 "2023-07-16T00:50:26Z")

</div>

The trial is bound to the data (directory). Could you start from scratch, reimport the necessary data for development, and then do another round of 30 days trial? That should generally be the easiest approach for development; when you don't need to keep production data around and available.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 13, 2023, 12:50am UTC](https://discuss.elastic.co/t/dbeaver-to-elasticsearch-connectivity-is-ok-but-fails-on-listing-tables/338444/5 "2023-08-13T00:50:28Z")

</div>

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