apache / apache/pinot

Better UX for data ingestion quick-start

Open
#9,016 2 comments 0 reactions 0 assignees View on GitHub
good first issue help wanted ingestion
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

- search for ingestion file is hard-coded to recursive, no option to do non-recursive scan
- glob setting is matching absolute path, which should obviously exclude part from the root directory
- ingestion config is sometimes required to be escape but sometimes it is not - depending on the plugin it is using
- ingestion job returns empty list of segments being pushed when segment generation fails - it should error out if # of files is different from # of segment generated.
- some of the 2-stage segment generation job doesn't populate exception/throwable back to the main thread and thus executions like SEGMENT_CREATE --> SEGMENT_UPLOAD will end up in a success state with an empty TAR file upload result;

TODO:
- [ ] provide recursive flag in commandline utils
- [ ] remove glob matcher prefix for inputFileDir
- [ ] unifies plugin config parsing
- [ ] pipe-back segment job runner / task runner exception back to main thread.

see: https://apache-pinot.slack.com/archives/C011C9JHN7R/p1657017844688329?thread_ts=1656941781.724149&cid=C011C9JHN7R

Contributor guide

Open the contributing guide

Research direction

Start with the commandline utils and ingestion job paths described in the issue, then trace SEGMENT_CREATE to SEGMENT_UPLOAD and the two-stage segment task runner. The work is complete when recursive scanning, inputFileDir glob handling, plugin config parsing, and exception propagation behave consistently, including an error when files and generated segments differ.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.