question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Elasticsearch connector documentation inconsistencies

See original GitHub issue

While trying to connect Presto to an Elasticsearch index we have found a few errors / inconsistencies / rooms for improvement in the documentation (version 0.220 at this point). In some cases I believe they are actually bugs (i.e. the code needs fixing) but I’m new to this and not always positive.

  1. In table definition files we have found that the schemaName is not optional. If not defined Presto fails to start with [...] java.lang.IllegalArgumentException: schemaName is null or empty [...]. (Since there is a default definition section for this at the connector level and even that is supposedly optional I guess this is a bug.)

  2. The example table definition has a hostAddress property in it; the description below the table uses host (and the running code also expects host). We first copy-pasted the example to fill in and couldn’t understand for a while what might have gone wrong.

  3. When the columns are not defined (note: they are marked optional) Presto will start but queries on the table fail with ‘Internal error’. (SELECT * ... type queries as well as SHOW COLUMNS IN ... query.) They work fine if columns are defined.

  4. Field descriptions are not really helpful, especially at Column Metadata. (Some of this may be because we have not been very deep in Elastic either, though.) It took us quite a while to figure what to use for type at table definition. The JSONPath is still a bit of a mystery to us (what is it for and how is it used). Also we found most of the column metadata to be required in practice in spite of being marked as optional.

  5. The type in the column definitions looks outright wrong: for example it requires to be defined as varchar for Elastic’s string. Maybe it is right, though, just the description is misleading?

And last but not least: there is an open issue about the connector being able to process only all-lowercase Elastic field names at this point. It took us nearly a day to figure why Presto did not return rows for a table while properly reporting its size. (I.e. SELECT COUNT(1) FROM table reported 13407, SELECT COUNT(Id) FROM table reported NULL and we knew that the Id field was filled in for each row…) I suggest the until this gets resolved there should be an emphasized note in the docs about it.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:11 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
rschlusselcommented, May 31, 2019

@fastcatch We’d love a pr to improve the documentation! Would you like to work on this? cc: @zhenxiao

0reactions
stale[bot]commented, Jul 2, 2021

This issue has been automatically marked as stale because it has not had any activity in the last 2 years. If you feel that this issue is important, just comment and the stale tag will be removed; otherwise it will be closed in 7 days. This is an attempt to ensure that our open issues remain valuable and relevant so that we can keep track of what needs to be done and prioritize the right things.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Fix common cluster issues | Elasticsearch Guide [8.5] | Elastic
Fix common cluster issuesedit​​ This guide describes how to fix common errors and problems with Elasticsearch clusters. This error indicates a data node...
Read more >
Elasticsearch Connector | Confluent Platform 4.0.2
The Elasticsearch connector writes data from different topics in Kafka to different indices. All data for a topic will have the same type...
Read more >
Not able to Update document Elastic search - Google Groups
Hi All, I have installed confluent. In kafka-connect-jdbc/quickstart-postgres.properties name=task_2 connector.class=io.confluent.connect.jdbc.
Read more >
Getting Started | Couchbase Docs
Learn how to install the Elasticsearch Connector.
Read more >
Apache Flink 1.3 Documentation: Elasticsearch Connector
Elasticsearch action requests may fail due to a variety of reasons, including temporarily saturated node queue capacity or malformed documents to be indexed....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found