[Tracking] datalake_fdw: Iceberg data path and the metadata agent
@MisterRaindrop ya está trabajando en esto.
Desde el 16/9/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Everything between the DDL skeleton (#1842) and a lake table that can be written and read from SQL. Design: #1683. This issue is the execution view.
Landed: #1842, the skeleton (AM, catalog/volume FDWs, stub engine, DDL guards); #1951, the Parquet format layer (Arrow, field ids, tracked memory pool, type rules).
Twelve PRs, three waves
wave 1 wave 2 wave 3
A S3 storage ────────────────────────────────────────┐
B0 proto ─┬► B1 agent framework ─┬► B3 Iceberg ops ─► B4 Builtin ─┼► C write ─┬► E merge-on-read + DML
└► B2 engine client ───┘ ├► B5 Polaris ├► D read ──┘
├► B6 Hive Metastore
└► B7 Hadoop
C and D need A, B2 and B4; with the Builtin catalog they run in CI against MinIO and the agent alone. B5–B7 need B3 and run alongside C and D.
- A #2009 Storage I/O over object storage (S3) — first
- B0 #2010 The gRPC contract: proto files
- B1 #2011 datalake_agent: service framework (Java)
- B2 #2012 datalake_fdw: the agent engine client
- B3 #2013 datalake_agent: Iceberg operations by metadata location
- B4 #2014 datalake_fdw: Builtin catalog
- B5 #2015 datalake_agent: Polaris (REST) catalog
- B6 #2016 datalake_agent: Hive Metastore catalog
- B7 #2017 datalake_agent: Hadoop (filesystem) catalog
- C #2018 Write path: INSERT to data files and a committed snapshot
- D #2019 Read path: planned fragments, CustomScan, projection and pruning
- E #2020 Merge-on-read and DML
Attached to the PR they belong with: #1988 NUMERIC (C), #1990 timestamp units (C), #1989 name mapping (D). Later, blocking nothing: the optional datalake_proxy bgworker (#1683 §5.4).
Rules
- PRs target
mainand are squash-merged; the description is the commit message (#1951 layout). - Every PR leaves both components shippable: an unfinished path refuses with a clear error. The agent answers UNIMPLEMENTED for RPCs it does not carry yet, as the stub engine does.
- The proto files and the shared headers (
format/format.h,meta/iceberg_meta_engine.h,common/*.h) change only in their own small PR. - Nothing generated is committed; protoc runs at build time on both sides.
- At most two PRs in review at once; the next stays a draft.
- Each PR brings its tests: a smoke category on the C side,
mvn -B verifyon the Java side, a CI job for any service it needs. - Milestone
datalake_fdw: Iceberg read/write MVP, labeldatalake.
Out of scope: the FDW raw-file path (#1683 §2.3), the CI build image (devops repo), HDFS storage, execution-engine work.
- Lenguaje dominante
- C
- Estrellas
- 1.4k
- Forks
- 248
- Merge medio
- 4 d 10 h
- PR fusionados (30 d)
- 40
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/cloudberry
-
type: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
apache/cloudberry#1885 · 2 reacciones ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
apache/cloudberry#1825 ·
-
type: Bug
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
apache/cloudberry#2048 · 1 reacción ·
-
type: Bug
Dificultad 4/5 3-5 días Aptitud para principiantes 40/100
apache/cloudberry#2047 ·
-
type: Bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
apache/cloudberry#2046 · 1 comentario ·
Todos los issues de apache/cloudberry
Issues similares
-
task
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
vsanthanam/JBird#429 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
bug documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
es-ude/OnDeviceTraining#459 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
bilelmoussaoui/gobject-linter#199 · 1 comentario ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
bradcypert/plum#53 ·