questdb / questdb/py-questdb-client

Sticky Ingress Cast Error

Open
#89 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
71
Forks
14
Avg merge
1h 7m
Merged PRs (30d)
1

Description

Whenever a cast error is correctly detected like below:

questdb.ingress.IngressError: Could not flush buffer: failed to parse line protocol:errors encountered on line(s):
error in line 5: table: ems, column: Inverters_Grid_Form_Count; cast error from protocol type: INTEGER to column type: STRING [id: a534380fdebc-58, code: invalid, line: 5]

then no correction to the data type within the database is able to recover the client.

To reproduce follow these steps:

  • Create a table with one int type column
  • Have the python client send an int to the db at any interval (1 second is good just to see the bug quickly)
  • While the client is still running, within the gui change the column type to string
  • This will correctly result in a cast error within the client
  • Change the column type back to an int

At this point, the same cast error will continue to prevent ingestion and won't recover even though the column type is now corrected. Once the client is completely restarted then the cast error will no longer get raised.

QuestDB Version: 8.0.0:
QuestDB Python Client Version: 2.0.3

Contributor guide

No contributing guide indexed for this repository

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 Python client 2.0.3 against QuestDB 8.0.0, following the schema-change sequence in the report. Trace the client's ingestion behavior after the column is changed back to an integer; done means ingestion recovers without restarting the client.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.