py-questdb-client icon indicating copy to clipboard operation
py-questdb-client copied to clipboard

Sticky Ingress Cast Error

Open nicholas-a-guerra opened this issue 8 months ago • 0 comments

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

nicholas-a-guerra avatar Jun 07 '24 17:06 nicholas-a-guerra