opensearch-project / opensearch-project/sql-cli

[BUG] CLI yields wrong results on a query

Open
#2 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
9
Forks
24
PR merge metrics
No merged PRs in 30d

Description

What is the bug?
opensearchsqlcli tool yields wrong results for a query. Perhaps, it shows results from a previous query.

How can one reproduce the bug?

  1. Load this data using curl:
curl -s -XPOST localhost:9200/_bulk -H 'Content-Type: application/x-ndjson' --data-binary @beer.stackexchange3.txt

beer.stackexchange3.txt

  1. Run query
select * from beer.stackexchange where Tags like '% % %' and Title like '%' LIMIT 10;
  1. Type y to see results vertically
    OK there are 10 entries
  2. Run the same query and hit Enter to see the results table
    There are 25 lines !
    Pay attention to mismatch on the first row and on the row count. There is no row wrap.
      1 fetched rows / total rows = 10/10
      2 +------------+-------------------------+----------------------+---------------------------------------------------------------------------------------+-------------+------->
      3 | ParentId   | CreationDate            | CommunityOwnedDate   | Title                                                                                 | ViewCount   | LastEd>
      4 |------------+-------------------------+----------------------+---------------------------------------------------------------------------------------+-------------+------->
      5 | null       | 2014-01-21 20:37:12.143 | null                 | What is the difference between an ale and a lager?                                    | 40787       | null  >
      6 | null       | 2014-01-21 20:45:28.747 | null                 | Why doesn't bottled beer taste as good as draught beer?                               | 3867        | null  >
      7 |            |                         |                      |                                                                                       |             |       >
      8 |            |                         |                      |                                                                                       |             |       >
      9 |            |                         |                      |                                                                                       |             |       >
     10 |            |                         |                      |                                                                                       |             |       >
     11 | null       | 2014-01-21 20:48:46.88  | null                 | Can one pilsener cause a hangover when another doesn't?                               | 875         | null  >
     12 |            |                         |                      |                                                                                       |             |       >
     13 |            |                         |                      |                                                                                       |             |       >
     14 | null       | 2014-01-21 20:50:01.62  | null                 | Do different beer glass shapes really make a difference in taste?                     | 5270        | null  >
     15 |            |                         |                      |                                                                                       |             |       >
     16 |            |                         |                      |                                                                                       |             |       >
     17 | null       | 2014-01-21 20:59:16.81  | null                 | How can I prolong the life of beer in a growler?                                      | 996         | 73    >
     18 | null       | 2014-01-21 21:00:23.103 | null                 | What's the difference between a porter and a stout?                                   | 2887        | 73    >
     19 |            |                         |                      |                                                                                       |             |       >
     20 |            |                         |                      |                                                                                       |             |       >
     21 | null       | 2014-01-21 21:05:17.293 | null                 | Why is it called "porter"?                                                            | 764         | 407   >
     22 | null       | 2014-01-21 21:17:49.747 | null                 | How much of an impact does the water have on a beer?                                  | 1870        | 52    >
     23 | null       | 2014-01-21 21:22:24.927 | null                 | Why does Guinness have a special pouring process / bottle, while other stouts do not? | 1804        | null  >
     24 | null       | 2014-01-21 21:55:27.83  | null                 | Where can I buy Czech beers in Bavaria?                                               | 86          | 43    >
     25 |            |                         |                      |                                                                                       |             |       >
     26 |            |                         |                      |                                                                                       |             |       >
     27 |            |                         |                      |                                                                                       |             |       >
     28 |            |                         |                      |                                                                                       |             |       >
     29 +------------+-------------------------+----------------------+---------------------------------------------------------------------------------------+-------------+------->
(END)

What is the expected behavior?
A clear and concise description of what you expected to happen.

What is your host/environment?
Server: OpenSearch 2.0.0-rc1-SNAPSHOT
CLI Version: 1.0.0
OS: WSL 2.0 on Win 11
Python: 3.8.10
env vars: env.txt
The most interesting i guess are:

LESS=-RSNF
LESSOPEN='|~/.lessfilter %s'

Additional information
Process core dump:
cli_full.zip
Network traffic dump:
dump.zip
CLI log:
cli.log
CURL returns valid output:
curl.log

Note: I didn't execute a query that returns 25 lines.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the provided curl command and SQL query, then compare vertical output with the table output on the second run. Review cli.log, curl.log, the network dump, and the attached environment details, especially LESS settings. Done means the repeated query shows the same 10 rows without blank lines or stale results.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, sql
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.