druid/extensions-contrib
Gian Merlino e40b96e026
Reverse lookup fixes and enhancements. (#15611)
* Reverse lookup fixes and enhancements.

1) Add a "mayIncludeUnknown" parameter to DimFilter#optimize. This is important
   because otherwise the reverse-lookup optimization is done improperly when
   the "in" filter appears under a "not", and the lookup extractionFn may return
   null for some possible values of the filtered column. The "includeUnknown" test
   cases in InDimFilterTest illustrate the difference in behavior.

2) Enhance InDimFilter#optimizeLookup to handle "mayIncludeUnknown", and to be able
   to do a reverse lookup in a wider variety of cases.

3) Make "unapply" protected in LookupExtractor, and move callers to "unapplyAll".
   The main reason is that MapLookupExtractor, a common implementation, lacks a
   reverse mapping and therefore does a scan of the map for each call to "unapply".
   For performance sake these calls need to be batched.

* Remove optimize call from BloomDimFilter.

* Follow the law.

* Fix tests.

* Fix imports.

* Switch function.

* Fix tests.

* More tests.
2024-01-03 13:28:44 -08:00
..
aliyun-oss-extensions Add system fields to input sources. (#15276) 2023-11-02 10:31:28 -07:00
ambari-metrics-emitter Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
cassandra-storage unpin snakeyaml, add suppressions and licenses (#15549) 2023-12-15 10:33:14 -08:00
cloudfiles-extensions Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
compressed-bigdecimal Relocating Table Schema Building: Shifting from Brokers to Coordinator for Improved Efficiency (#14985) 2023-11-04 19:33:25 +05:30
distinctcount simplify IncrementalIndex since group-by v1 has been removed (#15448) 2023-11-29 14:46:16 -08:00
dropwizard-emitter Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
druid-iceberg-extensions Add support for ingesting older iceberg snapshots (#15348) 2023-11-17 12:32:28 +05:30
gce-extensions Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
graphite-emitter Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
influx-extensions Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
influxdb-emitter Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
kafka-emitter Allow for kafka emitter producer secrets to be masked in logs (#15485) 2023-12-15 12:21:21 -05:00
kubernetes-overlord-extensions Reverse lookup fixes and enhancements. (#15611) 2024-01-03 13:28:44 -08:00
materialized-view-maintenance Fixing failing compaction/parallel index jobs during upgrade due to new actions being available on the overlord. (#15430) 2023-11-25 13:50:29 +05:30
materialized-view-selection Relocating Table Schema Building: Shifting from Brokers to Coordinator for Improved Efficiency (#14985) 2023-11-04 19:33:25 +05:30
momentsketch Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
moving-average-query Use StubServiceEmitter in tests (#15426) 2023-11-28 09:43:09 +05:30
opentelemetry-emitter Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
opentsdb-emitter Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
prometheus-emitter Optional removal of metrics from Prometheus PushGateway on shutdown (#14935) 2023-12-13 11:58:53 -05:00
redis-cache Bump Jedis version to 5.0.2 (#15344) 2023-11-08 20:22:41 +05:30
sqlserver-metadata-storage Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
statsd-emitter Fix for segment/count Metric Not Emitting with Statsd-emitter (#15347) 2023-11-10 08:08:58 -08:00
tdigestsketch Relocating Table Schema Building: Shifting from Brokers to Coordinator for Improved Efficiency (#14985) 2023-11-04 19:33:25 +05:30
thrift-extensions Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
time-min-max Prepare master for Druid 29 (#15121) 2023-10-11 10:33:45 +05:30
virtual-columns sql compatible three-valued logic native filters (#15058) 2023-10-12 00:06:23 -07:00
README.md fix broken links (#9537) 2020-03-22 17:41:18 -07:00

README.md

Community Extensions

Please contribute all community extensions in this directory and include a doc of how your extension can be used under docs/development/extensions-contrib/.

Please note that community extensions are maintained by their original contributors and are not packaged with the core Druid distribution. If you'd like to take on maintenance for a community extension, please post on dev@druid.apache.org to let us know!