Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewind support seems broken #2652

Open
kaibocai opened this issue Nov 1, 2023 · 2 comments
Open

Rewind support seems broken #2652

kaibocai opened this issue Nov 1, 2023 · 2 comments
Labels
bug P2 Priority 2

Comments

@kaibocai
Copy link
Member

kaibocai commented Nov 1, 2023

Description

A clear and concise description of what the bug is. Please make an effort to fill in all the sections below; the information will help us investigate your issue.

We are working out the rewind support on durabletask-java, at microsoft/durabletask-java#123. In our end-to-end test, we found an exception thrown out (more details are microsoft/durabletask-java#123 (review)), to me this comes from the extension. Note that this exception is thrown out both using the POST HTTP request or using the client.rewind method.

Already had a quick chat with @jviau, it seems the extension drops the value that needed to be set in the grpc message somewhere.
I spent sometime look into the extension but with no luck on this due to lack of knowledge in extension, so open a issue here to track it.

I am open to have a session on this if it is preferred.

cc @davidmrdavid as well.

NOTE: JavaScript issues should be reported here: https://github.com/Azure/azure-functions-durable-js

Expected behavior

A clear and concise description of what you expected to happen.

Actual behavior

A clear and concise description of what happened.

Relevant source code snippets

// insert code snippet here

Known workarounds

Provide a description of any known workarounds you used.

App Details

  • Durable Functions extension version (e.g. v1.8.3):
  • Azure Functions runtime version (1.0 or 2.0):
  • Programming language used:

Screenshots

If applicable, add screenshots to help explain your problem.

If deployed to Azure

We have access to a lot of telemetry that can help with investigations. Please provide as much of the following information as you can to help us investigate!

  • Timeframe issue observed:
  • Function App name:
  • Function name(s):
  • Azure region:
  • Orchestration instance ID(s):
  • Azure storage account name:

If you don't want to share your Function App or storage account name GitHub, please at least share the orchestration instance ID. Otherwise it's extremely difficult to look up information.

@kaibocai
Copy link
Member Author

kaibocai commented Nov 1, 2023

Related update on proto microsoft/durabletask-protobuf#18. Though, still need to find why reason is dropped.

@kaibocai
Copy link
Member Author

kaibocai commented Nov 2, 2023

With @davidmrdavid 's help, we debug into the extension and I found here

PastEvents = { remoteContext.PastEvents.Select(ProtobufUtils.ToHistoryEventProto) },
NewEvents = { remoteContext.NewEvents.Select(ProtobufUtils.ToHistoryEventProto) },
theremoteContext.PastEvents already contains a few GenericEvents that have null as value of Data, and that causing the exception in ProtobufUtils.ToHistoryEventProto. I am not quite sure where are those GenericEvents come from.
image

The GenericEvent created by rewind API seems in the remoteContext.newEvents and has the correct data set to rewind reason.
image

Also, I am told the logic for handling HTTP requests for java is totally different from js and python, java is using grpc while js and python is using HTTP. That may explain why I can run rewind successfully using js.

Hopefully the PR here microsoft/durabletask-protobuf#18 will have the issue resolved

cc @cgillum , @davidmrdavid , @jviau

@kaibocai kaibocai changed the title Rewind support seems broke Rewind support seems broken Nov 3, 2023
@lilyjma lilyjma added the P2 Priority 2 label Jan 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug P2 Priority 2
Projects
None yet
Development

No branches or pull requests

3 participants