temporalio / temporalio/ui

web-UI mistakenly shows workflow as COMPLETED in case there are issues with search attribute upsert-ion from server's end

Open
#1,859 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
431
Forks
179
Avg merge
2d 9h
Merged PRs (30d)
71

Description

Describe the bug
If there is any error in temporal server while upserting search attribute - webUI mistakenly shows the workflow as COMPLETED while we are inside it, wherease from outside i.e. main workflows list page - it is shown correctly i.e. still in RUNNING state

To Reproduce
Steps to reproduce the behavior:

  1. upsert a stringified json as a value using operator service into a search attribute of type IndexedValueType.INDEXED_VALUE_TYPE_TEXT
  2. this will likely generate an error on temporal server: "error":"pq: syntax error in tsvector:
  3. goto webUI and track the concerned workflow with its relevant workflowID
  4. Click on the workflow - inside it will show that it's COMPLETED
  5. navigate out to main workflows listing page - there it is still aptly shown as - RUNNING

Expected behavior
There should not be a mis-match between workflow status inside and outside i.e. on its own event history page and on workflows listing page

Screenshots
image (2)
image (1)

Desktop (please complete the following information):

  • OS: macOS
  • Browser: brave
  • Version : not sure

Additional context
We should also look into why temporal server is not able to upsert stringfied json into search attributes which are of TEXT type

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

No files or tests are named. Start by reproducing the mismatch using the listed search-attribute upsert failure, then compare the workflow detail event-history status with the main workflows listing status. Done means both views consistently show the workflow as RUNNING when the server-side upsert error occurs.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.