microsoft / microsoft/finops-toolkit

Costs_final_v1_2 loses extents when PropagateIngestionProperties=true

Open
#2,180 2 comments 0 reactions 1 assignee View on GitHub

@Hardik29 is already working on this.

Since Jun 16, 2026.

Needs: Attention 👋 Skill: Data factory Tool: FinOps hubs
Dominant language
PowerShell
Stars
603
Forks
248
Avg merge
7d 11h
Merged PRs (30d)
11

Description

Description

Environment
  • FinOps Toolkit version: 12.0

  • ADX update policy:

    • Source: Costs_raw
    • Query: Costs_transform_v1_2()
    • IsTransactional: true
    • PropagateIngestionProperties: true
Problem

After ingesting multiple parquet files into Costs_raw, only some extents appear in Costs_final_v1_2.

Example:

Costs_raw

March export:

  • part_0_0001 – 270 rows
  • part_1_0001 – 329,262 rows
  • part_2_0001 – 355,983 rows
  • part_3_0001 – 356,014 rows
  • part_4_0001 – 196,431 rows

Total rows:

1,237,960

Costs_final_v1_2

Only the last extent was present:

  • part_4_0001 – 196,431 rows

The same behavior occurred for another export where only the last part survived.

No update policy failures or ingestion failures were reported.

Investigation performed
  • Verified Costs_raw extents were healthy.
  • Verified Costs_transform_v1_2() returns correct results when executed manually.
  • Verified row counts and total cost values.
  • Verified there were no update policy failures.
  • Verified there were no ingestion failures.
  • Tables were recreated from scratch.
Root cause

The issue appears to be caused by:

"PropagateIngestionProperties": true

with propagated drop-by: tags.

Workaround

Changing the update policy to:

{
  "IsEnabled": true,
  "Source": "Costs_raw",
  "Query": "Costs_transform_v1_2()",
  "IsTransactional": true,
  "PropagateIngestionProperties": false
}

resolved the issue.

After changing the setting:

  • Costs_raw row count = 1,237,960
  • Costs_final_v1_2 row count = 1,237,960

Total cost values also matched.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.