Skip to content

Wangbill/serverless private preview op1#734

Draft
YunchuWang wants to merge 30 commits into
mainfrom
wangbill/serverless-private-preview-op1
Draft

Wangbill/serverless private preview op1#734
YunchuWang wants to merge 30 commits into
mainfrom
wangbill/serverless-private-preview-op1

Conversation

@YunchuWang
Copy link
Copy Markdown
Member

Summary

What changed?

Why is this change needed?

Issues / work items

  • Resolves #
  • Related #

Project checklist

  • Release notes are not required for the next release
    • Otherwise: Notes added to release_notes.md
  • Backport is not required
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • All required tests have been added/updated (unit tests, E2E tests)
  • Breaking change?
    • If yes:
      • Impact:
      • Migration guidance:

AI-assisted code disclosure (required)

Was an AI tool used? (select one)

  • No
  • Yes, AI helped write parts of this PR (e.g., GitHub Copilot)
  • Yes, an AI agent generated most of this PR

If AI was used:

  • Tool(s):
  • AI-assisted areas/files:
  • What you changed after AI output:

AI verification (required if AI was used):

  • I understand the code and can explain it
  • I verified referenced APIs/types exist and are correct
  • I reviewed edge cases/failure paths (timeouts, retries, cancellation, exceptions)
  • I reviewed concurrency/async behavior
  • I checked for unintended breaking or behavior changes

Testing

Automated tests

  • Result: Passed / Failed (link logs if failed)

Manual validation (only if runtime/behavior changed)

  • Environment (OS, .NET version, components):
  • Steps + observed results:
    1.
    2.
    3.
  • Evidence (optional):

Notes for reviewers

  • N/A

YunchuWang added 30 commits May 13, 2026 19:29
ServerlessActivitiesClientAdapter now takes an attachTaskHubMetadata flag (default true). The Azure-managed channel already injects the taskhub header via CallCredentials, so the AddDurableTaskScheduler* path constructs the adapter with attachTaskHubMetadata: false to avoid sending duplicate headers on DeclareServerlessActivities and ConnectServerlessActivityWorker. Added two unit tests with a recording CallInvoker covering both modes.
This reverts commit 18c8e02.
- Updated README.md to clarify remote worker image settings.
- Simplified task hub retrieval in Program.cs.
- Removed unnecessary endpoint configuration in remote worker.
- Added Azure.Identity package reference in csproj.
- Refined serverless worker extensions for environment configuration.
- Updated serverless activity configuration to handle registered activities.
- Modified tests to reflect changes in activity registration and filtering.
Comment on lines +246 to +252
foreach (DurableTaskWorkerWorkItemFilters.ActivityFilter filter in existingFilters)
{
if (!string.IsNullOrWhiteSpace(filter.Name))
{
merged[filter.Name] = filter;
}
}
Comment on lines +224 to +230
foreach (string? value in values)
{
if (!string.IsNullOrWhiteSpace(value))
{
return value.Trim();
}
}
Comment on lines +224 to +229
catch (Exception ex)
{
Logs.ServerlessActivityWorkerRegistrationFailed(this.logger, ex, this.options.TaskHub);
await this.DelayBeforeReconnectAsync(retryDelay, cancellationToken).ConfigureAwait(false);
retryDelay = this.GetNextRetryDelay(retryDelay);
}
Comment on lines +260 to +263
catch (Exception)
{
// The server response is authoritative once the response task wins the race.
}
Comment on lines +109 to +111
catch (Exception ex) when (ex is OperationCanceledException or ObjectDisposedException or RpcException)
{
}
Comment on lines +120 to +122
catch (OperationCanceledException) when (cancellationToken.IsCancellationRequested)
{
}
Comment on lines +123 to +125
catch (Exception ex) when (ex is OperationCanceledException or ObjectDisposedException or RpcException)
{
}
Comment on lines +176 to +178
catch (Exception ex) when (ex is OperationCanceledException or ObjectDisposedException or RpcException)
{
}
Comment on lines +257 to +259
catch (OperationCanceledException) when (heartbeatCts.IsCancellationRequested)
{
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant