Skip to content

[BUG] Enviroments, when importing environment enable_native_execution_engine is skipped #129

Description

Bug Description

when importing environment the option in the sparkcompute.yml enable_native_execution_engine is skipped or ignored. We can't programmatically enable this right now for customers

fabric-cli version

1.3.1

Python version

3.11

Operating System

Windows

CLI Mode

Interactive mode

Authentication Method

Interactive browser login

Steps to Reproduce

Import environment with the following setting in the sparkcompute.yml

enable_native_execution_engine: true
driver_cores: 8
driver_memory: 56g
executor_cores: 8
executor_memory: 56g
dynamic_executor_allocation:
enabled: true
min_executors: 1
max_executors: 2
runtime_version: 1.3

After importing you will see that the enable_native_execution_engine is still on False

Expected Behavior

enable_native_execution_engine is on true

Actual Behavior

enable_native_execution_engine staus on False

Additional Context

No response

Possible Solution

No response

Activity

  1. ayeshurun commented on Jan 22, 2026

    @ayeshurun
    Collaborator

    Hi Erwin de Kreuk (@edkreuk),

    Thank you for raising this.

    We acknowledge this is currently a functional gap. The CLI currently relies on spark compute update and publish environment APIs rather than utilizing the standard Create Item with Definition API. Consequently, full support for Environment definitions is not yet available.

    We will address this limitation in the upcoming releases to ensure full alignment with the ci-cd definition model.

  2. added
    bugSomething isn't working
    tech debtInternally used to clean code and best practices
    and removed
    bugSomething isn't working
    on Jan 22, 2026
  3. ayeshurun commented on Jun 24, 2026

    @ayeshurun
    Collaborator

    Verdict: Likely fabric-cli bug — a known functional gap: environment import does not apply enable_native_execution_engine (or other Sparkcompute.yml compute settings) to the published environment.

    Evidence

    • Import path sends the exported folder as a definition payload and then publishes, but performs no explicit Spark-compute settings update. See src/fabric_cli/utils/fab_cmd_import_utils.py get_payload_for_item_type / _build_definition (L18–73) and src/fabric_cli/commands/fs/impor/fab_fs_import_item.py _import_update_item (L78–106) / _import_create_item (L109–130): the only environment-specific steps are check_environment_publish_ready → update_item_definition/create_item → trigger_environment_publish → wait_for_environment_publish. There is no call to a /sparkcompute (or /staging/sparkcompute) update API.
    • By contrast, export explicitly reads sparkCompute settings via src/fabric_cli/utils/fab_cmd_get_utils.py L73–95 (ext_uri = "/sparkcompute" and "/staging/sparkcompute"). The asymmetry (read on export, not written on import) is consistent with the reported "ignored on import" behavior.
    • MS Learn confirms enable native execution engine is an environment-level Spark compute → Acceleration setting that must be saved and published to take effect: https://learn.microsoft.com/en-us/fabric/data-engineering/native-execution-engine-overview#enable-at-the-environment-level
    • This matches the maintainer's prior acknowledgement on this issue (2026-01-22) that the CLI relies on spark-compute update + publish APIs rather than full Environment definition support.
    • No Fabric-APIs/MWC product change was investigated — the evidence points to a CLI-side gap, not an API regression.

    Suggested next step: During environment import, parse Setting/Sparkcompute.yml and issue an explicit PATCH .../environments/{id}/staging/sparkcompute (mirroring the export read in fab_cmd_get_utils.py) before triggering publish, so compute settings such as enable_native_execution_engine are applied.

    Automated triage by Microsoft Scout — please verify before acting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions