apache/pinot

Add sanity check to the output of Realtime Provisioning Tool

Open

#8,339 opened on Mar 11, 2022

View on GitHub
 (8 comments) (0 reactions) (0 assignees)Java (1,234 forks)batch import
good first issue

Repository metrics

Stars
 (4,937 stars)
PR merge metrics
 (Avg merge 6d 7h) (186 merged PRs in 30d)

Description

Currently RTP tool generates a mutable segments based on the given schema characteristics (or a given sample segment) and then linearly extrapolates the required memory, segment size, etc for different combinations of the input parameters. We've recently seen people have used 5GB segments because of the tool's suggestion. It's fine if the tool outputs 5GB because of the chosen input parameters, but it should give some warnings about potential problematic values. Here are some suggestions:

  • Change the output data structure to include an array of warnings
  • If a suggested segment size is > 500MB, add a warning message that the desired segment size should be < 500MB.
  • If number of segments is greater than a threshold (maybe 5K?), then the tools add a warning for that.
  • Sometimes tools outputs NA if the memory goes above the provided availableHostMemory parameter. Instead of NA, we should output the actual value, but add a warning that memory for some combinations goes above available host memory

Contributor guide