[Iceberg] Bump Iceberg Version to 1.12
Los mantenedores suelen responder en 1 día
@polyzos ya está trabajando en esto.
Desde el 14/10/2026.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- java
Línea de trabajo
Start by reading the linked FIP-31 proposal and tracing the current Iceberg plugin, build and packaging setup, and union-read savepoint handling. The community must first resolve the plugin transition, savepoint migration, and REST scan-planning decisions. Done means the chosen upgrade builds and passes the stated compatibility, migration, integration, packaging, and documentation checks.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Search before asking
- I searched in the issues and found nothing similar.
Description
Iceberg 1.12 was just released I'm Fluss can upgrade to it.
Upgrading to the latest iceberg, will allow Fluss users to use Iceberg with Flink 2.2 and Flink 2.3 because the current Iceberg 1.10 only supports up to Flink 2.1, which Fluss doesn't.
However Iceberg 1.12 requires Java 17.
The upgrade should preserve Fluss's existing Java requirements outside the new Iceberg plugin. Every JVM loading that plugin, including Fluss servers and Flink jobs, must use Java 17+.
Scope
- Update the dependency and replace the removed
GenericAppenderFactoryAPI. - Use a JDK 17 toolchain to build and test the new plugin while keeping the main build and release process on JDK 11.
- Provide a migration path for union-read savepoints. The current state embeds Java-serialized Iceberg objects that are incompatible across these versions; the proposed replacement is a versioned JSON format.
- Close catalogs after use, verify plugin classloading, align dependencies, and update packaging and license notices.
- Document supported Java/Flink versions, matching Iceberg jars, and upgrade steps.
Decisions Needed
Agree on these in the community discussion before finalizing the implementation:
- Keep a Java 11-compatible Iceberg 1.10 plugin during a transition, or replace it immediately? If retained, choose the default plugin and support window.
- Require savepoints for plugin switches, with a migration release before switching existing state to 1.12?
- Support REST server-side scan planning in this upgrade, or reject it with a clear error until supported?
Acceptance Criteria
- The new plugin builds and runs on Java 17 without raising Java requirements for other Fluss users.
- Unit and integration tests pass for the documented engine versions and packaged plugin.
- Savepoint migration is tested with partially consumed data; rollback is tested if both plugins are retained.
- REST catalog and S3 integration tests pass, and catalogs close without leaking resources.
- Release packaging, notices, and compatibility documentation are updated.
Iceberg v3 features and deletion vectors are separate follow-up work.
Willingness to contribute
- I'm willing to submit a PR!
- Lenguaje dominante
- Java
- Estrellas
- 2.2k
- Forks
- 656
- Merge medio
- 2 d 14 h
- PR fusionados (30 d)
- 108
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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/fluss
-
[CI] NettyClientTest.testServerDisconnection may fail with DisconnectExceptionPosiblemente ocupada @yangshangqing95 la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
[lake/iceberg] Reserved write-mode properties can be set and reset through their `iceberg.` keyPosiblemente ocupada @aphenix-r7 la tomó hace 3 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apache/fluss#4658 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[common] Decimal#hashCode is inconsistent with Decimal#equalsPosiblemente ocupada @firasbouzazi la tomó hace 15 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/fluss#4538 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[security] PlainSaslServerProvider conflicts with Hadoop SASL provider causing authentication failurePosiblemente ocupada @xinzhang-hello la tomó hace 20 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
[server] KV snapshot scheduling stops permanently after a transient snapshot-init failurePosiblemente ocupada @zhang-arvin la tomó hace 20 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
apache/fluss#4489 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de apache/fluss
Issues similares
-
[Bug] Lock owned by another client (e.g. Text app) cannot be unlocked from the appPosiblemente ocupada @falkloewert la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
oracle/graalvm-reachability-metadata#11026 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
checkstyle/checkstyle#22050 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement Improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
zowe/zowe-client-java-sdk#647 ·
-
RRX SAX: </rdf:RDF> inside rdf:parseType="Literal" ends the document ("Inconsistent parserMode:TOP")Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
apache/jena#4334 · 1 comentario ·
Los mantenedores suelen responder en 1 día