Skip to content

Kusto emulator tests fail on Linux CI because kustainer-linux requires SSE4.2/AVX2 #15463

@sebastienros

Description

@sebastienros

Problem

The Kusto emulator-backed tests in tests/Aspire.Hosting.Azure.Kusto.Tests/KustoFunctionalTests.cs are currently failing on Linux CI.

The emulator container image currently used by Aspire is mcr.microsoft.com/azuredataexplorer/kustainer-linux:latest. That image now exits at startup with an unsupported instruction set error indicating that the Kusto engine requires SSE4.2/AVX2.

Observed failure

Instructions set on Linux workers

  • The container starts, becomes briefly reachable, then exits
  • The health check fails with The response ended prematurely
  • The container log shows: E_UNSUPPORTED_INSTRUCTION_SET: The Kusto engine can only run on processors that support SSE4.2/AVX2
  • This might be a transient issue, I can't see these repeatedly on all PRs.

Invalid test assertions

  • The test verifies duplicate and invalid database names should not log errors, but it does
Aspire.Hosting.Azure.Kusto.Tests.KustoFunctionalTests.KustoEmulator_WithInvalidDatabase_LogsErrorAndContinues

Assert.Single() Failure: The collection contained 3 items
Collection: 
  [[39:12.870, error] 25: 2026-03-21T00:39:12.7343894Z *** DI cell 'dyn(::services::QueryPlanner)': attempt to set an instance twice ***, 
  [39:12.870, error] 26: 2026-03-21T00:39:12.7344851Z *** DI cell 'dyn(::services::QueryRuntime)': attempt to set an instance twice ***, 
  [39:14.157, error] 2: 2026-03-21T00:39:14.1548118Z Failed to create database '__invalid'
Aspire.Hosting.Azure.Kusto.Tests.KustoFunctionalTests.KustoEmulator_WithDatabaseThatAlreadyExists_ErrorIsIgnored

Assert.Empty() Failure: Collection was not empty
Collection: 
  [[39:48.992, error] 4: 2026-03-21T00:39:48.8207073Z *** DI cell 'dyn(::services::QueryPlanner)': attempt to set an instance twice ***, 
  [39:48.992, error] 5: 2026-03-21T00:39:48.8208098Z *** DI cell 'dyn(::services::QueryRuntime)': attempt to set an instance twice ***]   

It also looks like the log is not cleared and impacts the other tests assertions.

Affected tests

  • KustoEmulator_Starts
  • KustoEmulator_WithDatabase_CanReadIngestedData
  • KustoEmulator_WithDatabaseThatAlreadyExists_ErrorIsIgnored
  • KustoEmulator_WithInvalidDatabase_LogsErrorAndContinues
  • KustoEmulator_WithBindMount_IsUsedForPersistence

Notes

This looks like external image drift rather than a repo-side logic regression, since the tests depend on :latest. We should either pin the emulator to a known-good image or digest, or update the test strategy for Linux CI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-integrationsIssues pertaining to Aspire Integrations packagesazureIssues associated specifically with scenarios tied to using Azurequarantined-testQuarantined tests that run only in the Outerloop Tests workflow

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions