tursodatabase/libsql

Recover client from server restarts when handling batons?

Open

#1,856 opened on Nov 29, 2024

View on GitHub
 (2 comments) (0 reactions) (0 assignees)C (16,744 stars) (490 forks)batch import
enhancementhelp wantedquestionremote protocol

Description

Currently, I think that when a client holds a server-issued baton and attempts to send it back after a server restart, the request fails with a BatonInvalid error. This error breaks the client's workflow and requires manual intervention.

If this turns out to be the case, let's fix that so thatif a BatonInvalid error occurs and no transaction is in progress, the client should:

  • Automatically restart the stream
  • Obtain a new baton from the server
  • Continue normal operation

Contributor guide