Skip to content
Lakehouse Catalogs & Governance Last updated: May 29, 2026

Nessie Merging

The operation in Project Nessie that merges commits from an isolated staging branch back into the main production branch, checking for conflicts.

nessie mergingmerge catalogcatalog version controlconflict resolution nessie

Nessie Merging

Nessie Merging is the version-control operation that applies commits from one catalog branch (e.g. a staging or feature branch) to another branch (usually the main production branch). This action publishes staged changes to production in a single transaction. Nessie handles the merge at the catalog metadata layer, checking for conflicts across tables to ensure catalog consistency.

Conflict Detection and Resolution

During a merge operation, Nessie checks for concurrent modifications. A conflict occurs if the same catalog resource (such as a table or view) was modified on both the target branch (e.g. main) and the source branch (e.g. staging) since the branches diverged.

There are two primary merge strategies:

Merging via CLI or SQL

Merging is typically executed via the Nessie CLI or within query environments:

/* Merge changes from the etl_dev branch into the production main branch */
MERGE BRANCH etl_dev INTO main IN nessie_catalog;

This command performs the merge atomically. The tables updated on etl_dev become visible to users querying main at the exact same instant, preventing the partial read issues common in legacy data lakes.

๐Ÿ“š Go Deeper on Apache Iceberg

Alex Merced has authored three hands-on books covering Apache Iceberg, the Agentic Lakehouse, and modern data architecture. Pick up a copy to master the full ecosystem.

โ† Back to Iceberg Knowledge Base