Skip to content

test: use InProcessTestClusterBuilder in Azure stream reliability tests - #10222

Merged
ReubenBond merged 3 commits into
dotnet:mainfrom
ReubenBond:reubenbond/investigate-silo-port-flake
Jul 31, 2026
Merged

ReubenBond merged 3 commits into
dotnet:mainfrom
ReubenBond:reubenbond/investigate-silo-port-flake

Conversation

@ReubenBond

@ReubenBond ReubenBond commented Jun 12, 2026 •

Copy link
Copy Markdown
Member

This fixes Azure stream reliability test flakiness caused by standalone silo processes binding real TCP ports during silo joins.

The Azure stream reliability fixture now uses InProcessTestClusterBuilder with test cluster membership and removes incidental Azure Storage clustering/gateway discovery configuration. It still exercises Azure Queue streaming and Azure-backed storage/pubsub behavior while avoiding process-hosted silo startup port collisions.

Microsoft Reviewers: Open in CodeFlow

@ReubenBond ReubenBond changed the title test: use in-process azure stream reliability cluster test: use InProcessTestClusterBuilder in Azure stream reliability tests Jun 12, 2026
@ReubenBond
ReubenBond force-pushed the reubenbond/investigate-silo-port-flake branch 3 times, most recently from a20c3f6 to 98c073b Compare June 15, 2026 22:17
ReubenBond and others added 3 commits July 31, 2026 09:32
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 31, 2026 16:33
@ReubenBond
ReubenBond force-pushed the reubenbond/investigate-silo-port-flake branch from 98c073b to c816a38 Compare July 31, 2026 16:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Azure stream reliability test fixture to run using InProcessTestClusterBuilder/test-cluster membership instead of process-hosted silos, aiming to reduce flakiness from real TCP port binding collisions during silo joins while still exercising Azure Queue streaming and Azure-backed storage/pubsub behavior.

Changes:

  • Migrates StreamReliabilityTests to BaseInProcessTestClusterFixture and updates cluster/client/silo configuration accordingly.
  • Updates test logging calls to use the fixture-provided Logger and HostedCluster in-process cluster.
  • Extends StreamTestUtils.LogStartTest to support InProcessTestCluster by logging active silo addresses.
Show a summary per file
File Description
test/Orleans.Streaming.Tests/StreamingTests/StreamTestUtils.cs Adds an InProcessTestCluster overload for LogStartTest to support the in-process test cluster.
test/Extensions/Orleans.Azure.Tests/Streaming/StreamReliabilityTests.cs Switches the reliability tests to BaseInProcessTestClusterFixture and removes incidental Azure Storage clustering/gateway discovery setup.

Copilot's findings

Suppressed comments (1)

test/Extensions/Orleans.Azure.Tests/Streaming/StreamReliabilityTests.cs:964

  • In StopSilo(), the action string includes "Kill and restart" when (restart, kill) is (true, true), but the current restart path always uses RestartSiloAsync() (a graceful stop + restart) and does not perform a hard kill. This log message is misleading when diagnosing test failures.
            var action = (restart, kill) switch
            {
                (true, true) => "Kill and restart",
                (true, false) => "Stop and restart",
                (false, true) => "Kill",
  • Files reviewed: 2/2 changed files
  • Comments generated: 1

Comment on lines 991 to +992
// WaitForLivenessToStabilize(!kill);
this.HostedCluster.WaitForLivenessToStabilizeAsync(kill).Wait();
await this.HostedCluster.WaitForLivenessToStabilizeAsync(kill);
@ReubenBond
ReubenBond merged commit b8712ee into dotnet:main Jul 31, 2026
65 of 67 checks passed
@ReubenBond
ReubenBond deleted the reubenbond/investigate-silo-port-flake branch July 31, 2026 17:33
This was referenced Aug 28, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants