Bad segment created in Windows OS
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
setDirectoryPermissions() in SegmentV1V2ToV3FormatConverter ignores the exception as it is unable to set the permissions in Windows. This leaves the segment in bad state, while the job outputDir is still zipped and uploaded to Pinot by the ingestion job. Two fixes are required here -
1) Throw the exception when segment creation fails at any stage. This will at least ensure that ingestion job throws exception when it is run on non-Posix compliant systems.
2) Make this permission setting optional based on some configuration to make it compatible to Windows. Or preferrably use a platform independent way of setting permissions on the directory.
Contributor guide
Research direction
Start with setDirectoryPermissions() in SegmentV1V2ToV3FormatConverter and trace how segment creation failures reach the ingestion job that zips and uploads the output directory. Done means failures are propagated and directory permission handling is configurable or platform-independent for Windows, without leaving a bad segment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data-engineering
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100