druid/extensions-contrib
AmatyaAvadhanula f970757efc
Optimize overlord GET /tasks memory usage (#12404)
The web-console (indirectly) calls the Overlord’s GET tasks API to fetch the tasks' summary which in turn queries the metadata tasks table. This query tries to fetch several columns, including payload, of all the rows at once. This introduces a significant memory overhead and can cause unresponsiveness or overlord failure when the ingestion tab is opened multiple times (due to several parallel calls to this API)

Another thing to note is that the task table (the payload column in particular) can be very large. Extracting large payloads from such tables can be very slow, leading to slow UI. While we are fixing the memory pressure in the overlord, we can also fix the slowness in UI caused by fetching large payloads from the table. Fetching large payloads also puts pressure on the metadata store as reported in the community (Metadata store query performance degrades as the tasks in druid_tasks table grows · Issue #12318 · apache/druid )

The task summaries returned as a response for the API are several times smaller and can fit comfortably in memory. So, there is an opportunity here to fix the memory usage, slow ingestion, and under-pressure metadata store by removing the need to handle large payloads in every layer we can. Of course, the solution becomes complex as we try to fix more layers. With that in mind, this page captures two approaches. They vary in complexity and also in the degree to which they fix the aforementioned problems.
2022-06-16 22:30:37 +05:30
..
aliyun-oss-extensions Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
ambari-metrics-emitter Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
cassandra-storage Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
cloudfiles-extensions Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
distinctcount Free ByteBuffers in tests and fix some bugs. (#12521) 2022-05-19 07:42:29 -07:00
dropwizard-emitter Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
gce-extensions Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
graphite-emitter Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
influx-extensions Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
influxdb-emitter Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
kafka-emitter Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
materialized-view-maintenance Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
materialized-view-selection Add remedial information in error message when type is unknown (#12612) 2022-06-07 20:22:45 +05:30
momentsketch Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
moving-average-query Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
opentelemetry-emitter Bump opentelemetry-instrumentation-bom-alpha (#12531) 2022-06-01 13:51:39 -07:00
opentsdb-emitter Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
prometheus-emitter Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
redis-cache Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
sqlserver-metadata-storage Optimize overlord GET /tasks memory usage (#12404) 2022-06-16 22:30:37 +05:30
statsd-emitter Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
tdigestsketch Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
thrift-extensions Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
time-min-max Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
virtual-columns Bump up the versions (#12480) 2022-04-27 14:28:20 +05:30
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!