Azure / durabletask

Durable Task Framework allows users to write long running persistent workflows in C# using the async/await capabilities.
Apache License 2.0
1.47k stars 287 forks source link

Migrate DurableTask.ServiceBus ServiceBus SDK from Microsoft.Azure.ServiceBus to Azure.Messaging.ServiceBus #1014

Closed NateLehman closed 2 months ago

NateLehman commented 6 months ago

Validation strategies for .NET Core version

It has come to my attention that the .NET Core version of this library needs additional validation. This section describes validations performed manually.  

Leveraging a real world prod service

Without revealing much about our internal design, my team uses DTF ServiceBus for running workflows in a .NET Core project. I've locally sideloaded this new version into a worker service running in a dev environment that consumes real world application orchestrations.

The tasks and orchestrations consumed by the worker running with the sideloaded library did not produce unhandled exceptions and did not behave in any way that suggested issues. Additionally, the worker was running in concert with other worker instances that were running the current stable version without Azure.Messaging.ServiceBus; I consider this a testament to its compatibility.

Running DurableTask.ServiceBus.Tests project

I also set up live ServiceBus and AzureStorage resources in my own Azure subscription and added their connections strings to the project. This allowed me to run the DurableTask.ServiceBus.Tests(netcoreapp3.1) project against real world resources and validate those scenarios. I am attaching a VSTest overview screenshot as proof of these results: image

NOTE: All of the failing tests in this image are ALSO failing in the previous stable version (when I switch to main branch).

cgillum commented 6 months ago

/azp run

azure-pipelines[bot] commented 6 months ago
EDIT: Azure Pipelines run triggered successfully.
NateLehman commented 6 months ago

/azp run

azure-pipelines[bot] commented 6 months ago
Commenter does not have sufficient privileges for PR 1014 in repo Azure/durabletask
davidmrdavid commented 6 months ago

/azp run

azure-pipelines[bot] commented 6 months ago
Azure Pipelines could not run because the pipeline triggers exclude this branch/path.
davidmrdavid commented 6 months ago

/azp run

azure-pipelines[bot] commented 6 months ago
Azure Pipelines could not run because the pipeline triggers exclude this branch/path.
davidmrdavid commented 6 months ago

/azp run

azure-pipelines[bot] commented 6 months ago
Azure Pipelines could not run because the pipeline triggers exclude this branch/path.
NateLehman commented 5 months ago

There's now a successful pipeline run associated with this PR.

image

I think there are some details about the GitHub<->Azure DevOps integration that I'm not familiar with. It looks like this is being blocked from merging based on a previous run.

cgillum commented 3 months ago

/azp run

azure-pipelines[bot] commented 3 months ago
EDIT: Azure Pipelines run created successfully.
cgillum commented 2 months ago

/azp run

azure-pipelines[bot] commented 2 months ago
EDIT: Azure Pipelines run created successfully.
cgillum commented 2 months ago

I manually ran the DTFx Build & Run Tests (ServiceBus) pipeline and confirmed that it's also green. Merging.