[qa][e2e] QA Indexing/Reindexing in the Playground and Webview

Problem to Solve

For the upcoming internal release, we need to validate:

  • The lifecycle of the KG HTTP "daemon"
    • robust against race-conditions when modifying .gkg/
    • ensuring that Kuzu .lock errors do not get triggered if multiple instances of the axum server are running
    • gracefully shuts down in a variety of conditions
      • includes file watcher thread shutdown, and job queue flushing
    • handling new workspaces in the watcher
    • preventing re-indexing jobs from running while indexing jobs are running for a workspace
    • strictly defined behavior when indexing and re-indexing jobs fail
      • this includes rollbacks and enforced transactions for kuzu writes
    • strictly defined behavior on when to trigger force index

Proposed Solution

Edited by Michael Usachenko