temporalio / sdk-java

Temporal Java SDK
https://temporal.io
Apache License 2.0
213 stars 144 forks source link

[Bug] Query page broken after upgrading to 1.6.3 server #357

Closed madhukkc closed 3 years ago

madhukkc commented 3 years ago

Describe the bug When i go to query page i see blank page with "no querires registered" message but my workfow as Query methods

To Reproduce Steps to reproduce the behavior:

  1. use 1.6.3 server and 1.6.1/1.6,2/1.7.0 ui and use temporal hava sdk 1.0.5/1.0.5-snapshot
  2. submit a qorklfow and go to query tab

Expected behavior queries should be shown Actual behavior i see no queries registerd message Screenshots

Additional context The query names are pased by triggering an expception and parsing exception log , refer enhancment request and forum thread

between 1.6.1 and 1.6.3 the excption logging has possibly changed and hence the queries are appearing blank

Previously ,i used to see this exception in server side when i go to query tab

"level":"error","ts":"2021-02-06T14:01:06.842Z","msg":"Uncategorized error","service":"history","wf-namespace-id":"493f72d9-4de5-4e0f-b113-3e37449990fa","wf-id":"feb20210607-worflow","error":"java.lang.IllegalArgumentException: Unknown query type: __cadence_web_list, knownTypes=[getData, getState]

Now i see

"level":"error","ts":"2021-02-18T07:42:13.879Z","msg":"query directly though matching on sticky failed, will not attempt query on non-sticky","service":"history","shard-id":4,"address":"x.y.0.z:7234","shard-item":"0xc0008db680","component":"history-engine","wf-namespace":"dev-cloud","wf-id":"feb20210607-worflow","wf-run-id":"f6786da3-086a-4945-b5c2-f76934731516","wf-query-type":"cadence_web_list","error":"java.lang.IllegalStateException: Unknown query type: cadence_web_list\n\tat io.temporal.internal.sync.QueryDispatcher.handleQuery(QueryDispatcher.java:78)\n\tat io.temporal.internal.sync.SyncWorkflowContext.handleQuery(SyncWorkflowContext.java:181)\n\tat io.temporal.internal.sync.WorkflowExecuteRunnable.handleQuery(WorkflowExecuteRunnable.java:76)\n\tat io.temporal.internal.sync.SyncWorkflow.query(SyncWorkflow.java:175)\n\tat io.temporal.internal.replay.ReplayWorkflowExecutor.query(ReplayWorkflowExecutor.java:137)\n\tat io.temporal.internal.replay.ReplayWorkflow

Possibly thats why my query page is broken this is happening in 1.6.3

refer https://github.com/temporalio/web/issues/258

feedmeapples commented 3 years ago

Likely was caused by changes in sdk-java. Working with the sdk team to pinpoint to the issue and address it

feedmeapples commented 3 years ago

As per discussion with SDK team, moving this to sdk-java and assigning to @vkoby

feedmeapples commented 3 years ago

@vkoby sdk-java used to return an error message that would contain registered queries. For example sdk-go may return the following error message '3 INVALID_ARGUMENT: unknown queryType __cadence_web_list. KnownQueryTypes=[__stack_trace __open_sessions state]'

sdk-java was returning a similar error. Please see an example in this old issue https://github.com/temporalio/web/issues/54 . Please find what caused the change and make it return the old error message again

feedmeapples commented 3 years ago

p.s this is also tracked to be added into the frontend API