mayankshriv opened a new pull request #6761:
URL: https://github.com/apache/incubator-pinot/pull/6761
- Added pinot-segment-local module that contains all the segment related
implementations for the existing local Pinot segment.
- Modules that pinot-segment-local depends on:
- pinot-spi
- pinot-segment-spi
- pinot-common: This is temporary and needed as a lot of common utilities
are within pinot-common.
- External libraries: Datasketches,TDigest, HLL, Lucene, larray.
- Modules dependent on pinot-segment-local:
- pinot-core
- pinot-server, pinot-perf: Only in test-scope
Most moves/refactors done via IDE. Manual changes listed below:
- Fix typo in Logger for RealtimeLuceneIndexReaderRefreshThread.
- Moved builder specific util methods from StarTreeUtils to
StarTreeBuilderUtils.
- `shouldRemove()`
- `remove()`
- Made local copy of MAX_DOC_PER_CALL inside of PinotDataBitSetV2, as it is
currently
defined in DocIdSetPlanNode, but segment related code depends on it.
- Made local copy of DEFAULT_TDIGEST_COMPRESSION in
PercentileTDigestValueAggregator,
originally defined in PercentileTDigestAggregationFunction.
- Made local copy of DEFAULT_MAX_ERROR in PercentileEstValueAggregator,
originally defined in
PercentileEstAggregationFunction.
- Split QueryContextRequestUtils into two files, the new one calle
RequestContextConverterUtils
is in pinot-common, as it has utility methods related to classes in
pinot-common.
- Created CustomSerDeUtils class, that has code from ObjectSerDeUtils
related to ValueAggregator.
This is again to avoid pulling in dependencies from pinot-core into
pinot-segment-local.
- Removed reference of Operator in javadoc of EarlyTerminationException, as
it is
was causing reference dependency to pinot-core.
- Renamed SegmentGenerationWithNullValueTest to SegmentWithNullValueTest as
it has test for segment
generation as well as querying, and can only be housed in pinot-core atm.
Moves done to resolve cross dependency issues:
- Following moved to pinot-segment-local utils package:
- IngestionUtils
- TableConfigUtils
- SchemaUtils
- SegmentTestUtils: This depends on AvroSchemaUtil, added dependency on
pinot-avro in test-scope.
- Following moved to pinot-common:
- FilterContext
- ExpressionContext
- FunctionContext
- Predicate
- Following moved to pinot-spi
- ReadMode
- CommonConstants
- ArrayCopyUtils
- BadQueryException moved
- EarlyTerminationException
## Description
Add a description of your PR here.
A good description should include pointers to an issue or design document,
etc.
## Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order:
Controller, Broker, Server, Minion)
* [ ] Yes (Please label as **<code>backward-incompat</code>**, and complete
the section below on Release Notes)
Does this PR fix a zero-downtime upgrade introduced earlier?
* [ ] Yes (Please label this as **<code>backward-incompat</code>**, and
complete the section below on Release Notes)
Does this PR otherwise need attention when creating release notes? Things to
consider:
- New configuration options
- Deprecation of configurations
- Signature changes to public methods/interfaces
- New plugins added or old plugins removed
* [ ] Yes (Please label this PR as **<code>release-notes</code>** and
complete the section on Release Notes)
## Release Notes
If you have tagged this as either backward-incompat or release-notes,
you MUST add text here that you would like to see appear in release notes of
the
next release.
If you have a series of commits adding or enabling a feature, then
add this section only in final commit that marks the feature completed.
Refer to earlier release notes to see examples of text
## Documentation
If you have introduced a new feature or configuration, please add it to the
documentation as well.
See
https://docs.pinot.apache.org/developers/developers-and-contributors/update-document
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]