-
Notifications
You must be signed in to change notification settings - Fork 1.4k
#4317 Feature/variable length bytes offline dictionary #4318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#4317 Feature/variable length bytes offline dictionary #4318
Conversation
* Support Bytes type in sorted column * Fixing type casting issue for BYTES type values during realtime segment persistence (apache#3992) * Adding BYTES support for sorted column from query side with predicate.
Reducing the number of objects created during sorting and removing bo…
* Fixing byte[] as groupby value * Default PinotAdmin Commands to not use System.exit(...). (apache#4110) * Default PinotAdmin Commands to not use System.exit(...). * Adding comments for pinot-admin cmd
#11) * Adding map reader writer for batch and realtime. Supports map<int,int> * Fixing license header
* Adding pinot query to broker request converter * Addressing review comments and fixing bug in handling filter expression * Adding license header
* Adding AST parser to PinotQuery insider BrokerRequest * Fixing Predicate implementation
… is not set by config (#10) * Adding config to use hostname over ip as part of pinot default instancd id * Exit 1 when caught exception in Pinot Admin command. (apache#4065) * Exit 1 when caught exception in Pinot Admin command. * Only exit(1) for failure requets * Infer hostname for controller in possible
* Adding validation mode to compare broker request and pinot query * Fixing the logic to assign ids to sub filter in the current code * Logging PQL when conversion fails * Adding SelectionSort and make standardizeExpression to take one more paramter to single quote non-string literal inside functions * ignore test of having queries * Minor clean. Warning on mismatch instead of throwing exception * Adding license header * Addressing review comments
* Adding support for udfs in Selection * Addressing review comments * Adding license headers * Adding support for bytes type in order by
variable length byte dictionary. In the next iteration, we'll be deciding dynamically whether to use fixed or variable length impl.
Also fixed other review comments from Kishore.
for a column configurable through TableConfig.
- IndexLoadingConfig - RealtimeSegmentConfig
causing a race condition and unit test failure.
|
@buchireddy Can you rebase the code from |
|
@buchireddy did you consider the use of MutableOffheapByteArrayStore? I am not able to readily say whether your implementation is based on that or is something parallel. |
|
@mcvsubbu I did look at
So, it's a trade-off b/w simple code vs avoiding the code duplication (though we anyways need a new class for variable length dictionary class implementation). I'm open for debate and for further brainstorming. P.S: This is my first time going through Pinot code so please let me know if I'm missing any aspects here. |
|
Mutable byte array store can be modified to have a header, no problem. It is currently used as a volatile store for comsuming segments, so changing it to include a header is not backward incompatible. Why not modify it to have the header and also derive an unmutable class from it to be used during segment generation? |
|
Let’s move the discussion to the issue #4317. |
PR for the feature mentioned in #4317