temporalio / sdk-core

Core Temporal SDK that can be used as a base for language specific Temporal SDKs
MIT License
266 stars 70 forks source link

[Bug] Queries may still sometimes be dropped when buffering tasks #672

Closed Sushisource closed 7 months ago

Sushisource commented 7 months ago

What are you really trying to do?

Describe the bug

As uncovered while fuzzing .NET. A query was definitely not delivered to lang although Core did receive it.

The attached log demonstrates we drop query 49. The sequence of events appears to be something like:

  1. Get a query (48)
  2. Get another query task (49), buffer it
  3. Dispatch the first query to lang as an activation
  4. Get another task (in this case, an update), buffer it
  5. Update is dispatched to lang and somehow query 49 is lost