Search before asking
What would you like to be improved?
PR #4116 extracted TableProcessStore from AmoroProcess and PR #4107 migrated SnapshotsExpiring to the new Process architecture. However, three table maintenance Executors still run on the legacy PeriodicTableScheduler infrastructure:
- OrphanFilesCleaningExecutor — cleans orphan files via TableMaintainer.cleanOrphanFiles()
- DataExpiringExecutor — expires data via TableMaintainer.expireData()
- DanglingDeleteFilesCleaningExecutor — cleans dangling delete files via TableMaintainer.cleanDanglingDeleteFiles()
These Executors suffer from the same limitations that SnapshotsExpiringExecutor had before migration:
- No failure retry : exceptions are caught and logged only, never retried
- Dual scheduling logic : legacy InlineTableExecutors + new ActionCoordinatorScheduler coexist, increasing maintenance cost
How should we improve?
Migrate the four Executors to TableProcess implementations under IcebergProcessFactory,
following the pattern established by SnapshotsExpiringProcess.
Are you willing to submit PR?
Subtasks
Code of Conduct
Search before asking
What would you like to be improved?
PR #4116 extracted TableProcessStore from AmoroProcess and PR #4107 migrated SnapshotsExpiring to the new Process architecture. However, three table maintenance Executors still run on the legacy PeriodicTableScheduler infrastructure:
These Executors suffer from the same limitations that SnapshotsExpiringExecutor had before migration:
How should we improve?
Migrate the four Executors to TableProcess implementations under IcebergProcessFactory,
following the pattern established by SnapshotsExpiringProcess.
Are you willing to submit PR?
Subtasks
Code of Conduct