[Improvement]: Solve High Memory Usage in Planning Phase Caused by Massive Deleted Files
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- java
- Área
- data-engineering, performance
Línea de trabajo
Comienza localizando el índice de planificación y su asociación DeleteFile-to-DataFile; después, sigue cómo la fase de planificación construye y conserva esas relaciones. Se considera terminado cuando la asociación utiliza la representación comprimida propuesta, mientras la planificación sigue siendo correcta y se reduce el consumo excesivo de memoria para tablas con muchos archivos pequeños eliminados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Search before asking
- I have searched in the issues and found no similar issues.
What would you like to be improved?
Currently, the planning phase suffers from excessive memory consumption when dealing with tables containing massive deleted small files. The root cause lies in the inefficient storage of file relationships: a single DeleteFile is often associated with multiple DataFiles.
In the current implementation, these associations are likely stored as explicit lists or object references. When a table has a large volume of data files referencing the same delete files, the memory overhead for maintaining these references grows unboundedly. This redundancy causes the planning index to consume significantly more heap memory than necessary, leading to potential Out-Of-Memory (OOM) errors and degraded performance during query planning.
How should we improve?
I propose optimizing the memory layout of the planning index by introducing RoaringBitmap to compress the association between DeleteFile and DataFile. Instead of storing explicit lists of file IDs or object references, we can use RoaringBitmaps to represent the set of DataFile IDs associated with each DeleteFile. RoaringBitmap provides highly efficient compression for integer sets (file IDs), significantly reducing the memory footprint required to store these many-to-many relationships.
Are you willing to submit PR?
- Yes I am willing to submit a PR!
Subtasks
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
- Lenguaje dominante
- Java
- Estrellas
- 1.2k
- Forks
- 399
- Merge medio
- 4 d 8 h
- PR fusionados (30 d)
- 24
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/amoro
-
[Doc]: Clarify that catalog-level table properties should be added via the "Table properties" interface, and the "table." prefix is only required when using the raw "Properties" interfacePosiblemente ocupada @Akeron-Zhu la tomó hace 1 día. Abiertotype:improvement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 2 días
-
[Bug]: Failed to run './dev/dependencies.sh --replace' on Windows Git BashPosiblemente ocupada @smallyao la tomó hace 6 días. Abiertotype:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 2 días
-
[CI] Core CI doesn't run for changes to amoro-format-lance (and amoro-web)Posiblemente ocupada @MarkAlex1234 la tomó hace 28 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 2 días
-
[Bug]: Lance-Hive catalog lists databases and tables of other warehouses sharing the same HMSPosiblemente ocupada @zhangwl9 la tomó hace 6 días. Abiertotype:bug
Dificultad 4/5 1-2 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 2 días
-
[Bug]: Overview top-table cache is not published atomicallyPosiblemente ocupada @sivakumar-mahalingam la tomó hace 11 días. Abiertotype:bug
apache/amoro#4462 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
Todos los issues de apache/amoro
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
a2aproject/a2a-java#1275 ·
Los mantenedores suelen responder en 1 día
-
module/ftp Type/Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ballerina-platform/ballerina-library#9476 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
anwilli5/coin-collection-android-US#515 ·
Los mantenedores suelen responder en 1 día
-
status: waiting-for-triage type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
spring-projects/spring-integration#11654 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Menos de una hora Aptitud para principiantes 70/100
Vakore/ZappierGames#248 ·