[java] Compile time processing of row format codecs
Los mantenedores suelen responder en 1 día
@alisha-1000 ya está trabajando en esto.
Desde el 14/9/2026.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- java
- Área
- build-system, devtools
Línea de trabajo
Comienza investigando la generación actual en tiempo de ejecución de clases de codificación de filas de Fory Java y los problemas relacionados con el compilador foryc y el plugin de Maven mencionados en la solicitud. Determina si un enfoque basado en un procesador de anotaciones encaja con esas líneas de trabajo existentes; se consideraría completado cuando exista un diseño acordado para la generación en tiempo de compilación y un prototipo validado durante la compilación con javac.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
💡Feature Request
Currently, Fory Java will generate all row codec classes at runtime. You can see it print in the application startup logs - generate source code, compile, load class.
Java supports compiler hooks in the form of annotation processors. This allows you to inspect code under compilation, generate new code, and then have javac continue to compile that.
Would it make sense to add support to Fory to pre-generate codec classes during compile time? Then your deployable application already has all classes available, potentially pre-verified and pre-linked using class data sharing, without bringing a compile step into runtime.
I note some open issues about foryc compiler with a Maven plugin, but this seems to be a different issue, more related to IDL compilation.
The generated code will be less flexible - not possible to dynamically link in an updated version of Fory, you must inline any runtime Fory deps.
Is this an interesting approach? If it would not conflict with any other project future directions, I might attempt a prototype at some point.
- Lenguaje dominante
- Java
- Estrellas
- 4.6k
- Forks
- 470
- Merge medio
- 9 h 28 min
- PR fusionados (30 d)
- 33
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la 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/fory
-
[Python] Compatible xlang read silently drops fields when the peer writes camelCase/PascalCase namesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
[Build] Add ASF license headers to config files that allow commentsQuizá libre de nuevo @Swatantra-66 la tomó hace 29 días y no hay ningún pull request abierto. Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/fory#4124 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
xlang: the snake_case conversion of field names is not specified, and the runtimes do not agreeQuizá libre de nuevo @dhruv-dagar la tomó hace 16 días y no hay ningún pull request abierto. Abiertobug
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
apache/fory#4187 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Rust] Add an option to use Rust native enumPosiblemente ocupada @BaldDemian la tomó hace 20 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
apache/fory#4177 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Untyped read collapses a number literal that does not fit a doublePosiblemente ocupada @mohitjoshi-hey la tomó hace 22 días. Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
apache/fory#4170 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de apache/fory
Issues similares
-
maintenance
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
apache/maven-resources-plugin#569 ·
Los mantenedores suelen responder en 1 día
-
Data Sources visit drilldown returns an empty visitDurationByType for Achilles 1.7+ results (query still reads analysis 211)Posiblemente ocupada @DG47 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día
-
BUG
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
camel-tooling/camel-language-server#1482 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
micronaut-projects/micronaut-redis#844 ·
Los mantenedores suelen responder en 4 días