apache / apache/pinot

Bad segment created in Windows OS

Open
#6,868 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.