---
title: "Unlocking Data Portability: Preventing Catalog Lock-in with REGISTER and UNREGISTER APIs"
description: "The post explains how the REGISTER and UNREGISTER APIs in the Apache Iceberg REST catalog specification enable table portability between catalogs without copying or moving data files. REGISTER attaches an existing table to a new catalog by providing the metadata location, but using it alone creates a split-brain scenario where two catalogs both think they own the table, leading to inconsistent writes and data loss. The UNREGISTER endpoint, contributed to the specification, cleanly removes the table from the old catalog and returns the latest metadata pointer needed by the next catalog. The handoff process combines unregister, receiving the location, and register to ensure exactly one managing catalog at all times. Unity Catalog supports these endpoints in private preview, allowing organizations to move tables between catalogs as their architecture evolves."
---

# Unlocking Data Portability: Preventing Catalog Lock-in with REGISTER and UNREGISTER APIs

[Databricks](https://yomu.fyi/company/databricks) · Ryan Blue, Marco Kroll · Oct 4, 2026

**Type:** Explainer

## Summary

The post explains how the REGISTER and UNREGISTER APIs in the Apache Iceberg REST catalog specification enable table portability between catalogs without copying or moving data files. REGISTER attaches an existing table to a new catalog by providing the metadata location, but using it alone creates a split-brain scenario where two catalogs both think they own the table, leading to inconsistent writes and data loss. The UNREGISTER endpoint, contributed to the specification, cleanly removes the table from the old catalog and returns the latest metadata pointer needed by the next catalog. The handoff process combines unregister, receiving the location, and register to ensure exactly one managing catalog at all times. Unity Catalog supports these endpoints in private preview, allowing organizations to move tables between catalogs as their architecture evolves.

## Context

The post describes the REGISTER and UNREGISTER endpoints in the Apache Iceberg REST catalog specification, contributed by the Unity Catalog team, to enable table portability between catalogs without data copying.

## Approach / What changed

The REGISTER endpoint attaches an existing table to a new catalog by providing the metadata location. The UNREGISTER endpoint removes the table from the old catalog and returns the latest metadata pointer, enabling a clean handoff to the new catalog without data file modification.

## Takeaways

- REGISTER alone creates a split-brain scenario where two catalogs both think they own the table, leading to inconsistent writes and data loss.
- UNREGISTER removes the table from the old catalog without deleting data files and returns the metadata location needed by the next catalog.
- The handoff process involves three steps: unregister from old catalog, receive the metadata location, and register in the new catalog, ensuring a single managing catalog.

## FAQ

### What problem does REGISTER alone cause?

Using REGISTER alone creates a split-brain scenario where two catalogs both think they own the table, leading to inconsistent writes and silent data loss because the catalogs do not communicate.

### How does UNREGISTER prevent data loss?

UNREGISTER removes the table entry from the old catalog without touching data files and returns the latest metadata pointer, allowing the new catalog to assume commit coordination and preventing split-brain.

### What is the handoff process for moving a table between catalogs?

The handoff involves three steps: UNREGISTER the table from the old catalog, receive the metadata location, and REGISTER it in the new catalog, ensuring exactly one managing catalog at all times.

**Tags:** [Apache Iceberg](https://yomu.fyi/topic/apache-iceberg), [API](https://yomu.fyi/topic/api), [Lakehouse](https://yomu.fyi/topic/lakehouse), [Open Source](https://yomu.fyi/topic/open-source)

- Source: [Databricks](https://www.databricks.com/blog/unlocking-data-portability-preventing-catalog-lock-register-and-unregister-apis)
- Source URL: https://www.databricks.com/blog/unlocking-data-portability-preventing-catalog-lock-register-and-unregister-apis
- Ingested by Yomu: 2026-10-04T21:00:07.949Z

[Read original post](https://www.databricks.com/blog/unlocking-data-portability-preventing-catalog-lock-register-and-unregister-apis)
