You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by ca...@apache.org on 2025/07/28 22:31:24 UTC

(druid-website) 01/01: Revert "druid34-staging-website"

This is an automated email from the ASF dual-hosted git repository.

capistrant pushed a commit to branch revert-323-d34-staging
in repository https://gitbox.apache.org/repos/asf/druid-website.git

commit 7453a06cacb566cd2f59852785c025bf494a4dea
Author: Lucas Capistrant <ca...@users.noreply.github.com>
AuthorDate: Mon Jul 28 17:31:15 2025 -0500

    Revert "druid34-staging-website"
---
 404.html                                           |    4 +-
 assets/js/007c9cc1.08325bfa.js                     |    1 -
 assets/js/01019b7b.5bd61528.js                     |    1 -
 assets/js/017db198.7060e31e.js                     |    1 -
 assets/js/03264490.2e16ba05.js                     |    1 -
 assets/js/0508fa3f.d73c76e2.js                     |    1 -
 assets/js/059f804d.65e894e6.js                     |    1 -
 assets/js/05bce26a.25f2e79d.js                     |    1 -
 assets/js/06350a84.12469859.js                     |    1 -
 assets/js/06b436cb.0b83f720.js                     |    1 -
 assets/js/095bc5da.61c97254.js                     |    1 -
 assets/js/09859f8b.746f5a2f.js                     |    1 -
 assets/js/0c7e2db6.c0e5eb88.js                     |    1 -
 assets/js/0c83841d.0c1c944d.js                     |    1 -
 assets/js/0e14e28a.909fc480.js                     |    1 -
 assets/js/0eaa425e.1c7c75ac.js                     |    1 -
 assets/js/0f5aeb5e.51d4977e.js                     |    1 -
 assets/js/1043c8d0.4011f69e.js                     |    1 -
 assets/js/1077f66a.acd55762.js                     |    1 -
 assets/js/10ae3a7d.ee055f65.js                     |    1 -
 assets/js/11225d6d.c70cbb3d.js                     |    1 -
 assets/js/1217b0ed.28ca92eb.js                     |    1 -
 assets/js/137f9c06.8d58d136.js                     |    1 -
 assets/js/13ec796f.540a6d68.js                     |    1 -
 assets/js/147fd7c7.533b693d.js                     |    1 -
 assets/js/15db6988.1d5f9abe.js                     |    1 -
 assets/js/169d687d.f09187e2.js                     |    1 -
 assets/js/16a272ef.39720849.js                     |    1 -
 assets/js/1732408b.e528c88c.js                     |    1 -
 assets/js/176670b5.f4f11078.js                     |    1 -
 assets/js/176d2acf.6d16a9b6.js                     |    1 -
 assets/js/17ef25d0.2151feae.js                     |    1 -
 assets/js/187e2f08.50cf9a1d.js                     |    1 -
 assets/js/1981460b.af051e5b.js                     |    1 -
 assets/js/1a1ed744.a92f0a22.js                     |    1 -
 assets/js/1c03fecd.faf1b50e.js                     |    1 -
 assets/js/1c16eb11.7247aea8.js                     |    1 -
 assets/js/1c6ec3f0.4ab0e01b.js                     |    1 -
 assets/js/1cef86e1.35186ce8.js                     |    1 -
 assets/js/1d108719.6e38bf6a.js                     |    1 -
 assets/js/1de958e0.1f698ef1.js                     |    1 -
 assets/js/1e49463c.b551d0b0.js                     |    1 -
 assets/js/1f309abf.13521058.js                     |    1 -
 assets/js/2078bf5c.c04031e6.js                     |    1 -
 assets/js/2084eaa5.fdbeb720.js                     |    1 -
 assets/js/2204e9df.c17575ee.js                     |    1 -
 assets/js/22344833.cd9e43d3.js                     |    1 -
 assets/js/233bb120.f8bda5f3.js                     |    1 -
 assets/js/2507c9e7.c644e57e.js                     |    1 -
 assets/js/25878e6f.dd21cea2.js                     |    1 -
 assets/js/26451b19.1e3b41f7.js                     |    1 -
 assets/js/2677d7b8.8807fe76.js                     |    1 -
 assets/js/269898f6.78ceaf91.js                     |    1 -
 assets/js/26bbad45.bead206f.js                     |    1 -
 assets/js/274a38ba.7b42d78d.js                     |    1 -
 assets/js/277003a8.92f05df7.js                     |    1 -
 assets/js/28552fab.3c11ed80.js                     |    1 -
 assets/js/28f13cba.6e17691d.js                     |    1 -
 assets/js/29d09905.aaa80a6e.js                     |    1 -
 assets/js/2a1d07c8.e44ddde8.js                     |    1 -
 assets/js/2afea6d7.7c82d401.js                     |    1 -
 assets/js/2c02c0ba.b773ff3c.js                     |    1 -
 assets/js/2cdae230.ede37ddc.js                     |    1 -
 assets/js/2d37e253.50c89bdd.js                     |    1 -
 assets/js/2de98abf.dfd1f0f9.js                     |    1 -
 assets/js/2fb1cd9b.f0e505cf.js                     |    1 -
 assets/js/2fbe7d8e.c7fe0ef1.js                     |    1 -
 assets/js/2ff9ed30.1edc2c9a.js                     |    1 -
 assets/js/32b3613c.23e0db0d.js                     |    1 -
 assets/js/32eda40b.97f020f9.js                     |    1 -
 assets/js/32f6739f.2e685c5d.js                     |    1 -
 assets/js/33d88741.c87a9c1a.js                     |    1 -
 assets/js/340e6f98.f2f3bf59.js                     |    1 -
 assets/js/34fe466c.c20d42e7.js                     |    1 -
 assets/js/35888369.0f3a5885.js                     |    1 -
 assets/js/358d9403.a718af6a.js                     |    1 -
 assets/js/35958f72.b0901241.js                     |    1 -
 assets/js/35e92b1c.806fad5f.js                     |    1 -
 assets/js/36141a74.18c093fb.js                     |    1 -
 assets/js/39feb412.1130e155.js                     |    1 -
 assets/js/3a789a1b.1c9ead04.js                     |    1 -
 assets/js/3a7e9792.d8e9c878.js                     |    1 -
 assets/js/3b4d4d10.e74c90e4.js                     |    1 -
 assets/js/3ccbe206.21a1ed33.js                     |    1 -
 assets/js/3f8e7beb.9d186f87.js                     |    1 -
 assets/js/4073d44b.3bdaede6.js                     |    1 -
 assets/js/412ee224.757081eb.js                     |    1 -
 assets/js/4133cea9.b92ad3ca.js                     |    1 -
 assets/js/41e690b8.877d4530.js                     |    1 -
 assets/js/42fd476f.1a6c3dcf.js                     |    1 -
 assets/js/439570b5.9a1c085d.js                     |    1 -
 assets/js/43c5580d.2bba6395.js                     |    1 -
 assets/js/44995806.3131a8ac.js                     |    1 -
 assets/js/44d74c63.2f18e2a1.js                     |    1 -
 assets/js/45b208b3.397f7c28.js                     |    1 -
 assets/js/47148f71.f3fe3081.js                     |    1 -
 assets/js/47c6d1cc.e4dc5b23.js                     |    1 -
 assets/js/4970.d0034361.js                         |    1 -
 assets/js/4973d474.c03564be.js                     |    1 -
 assets/js/49cbf19b.da531eb7.js                     |    1 -
 assets/js/4a5ac7bf.74d83593.js                     |    1 -
 assets/js/4c730e87.ee3b262f.js                     |    1 -
 assets/js/4ce1467e.91e189a5.js                     |    1 -
 assets/js/4cf66254.68fa3b87.js                     |    1 -
 assets/js/4d8408b4.ea79a216.js                     |    1 -
 assets/js/4dc2a1b0.2e187f9c.js                     |    1 -
 assets/js/4eb80632.8ca9f039.js                     |    1 -
 assets/js/4f88c9e2.cea84c9c.js                     |    1 -
 assets/js/4f977194.f8001f4a.js                     |    1 -
 assets/js/4fae522f.0d5b8fa4.js                     |    1 -
 assets/js/4fbcb8e1.13251c8a.js                     |    1 -
 assets/js/505b888b.598bebb4.js                     |    1 -
 assets/js/532d52f3.9aa60715.js                     |    1 -
 assets/js/54c20511.3019acdd.js                     |    1 -
 assets/js/55b84d6c.cd812c6a.js                     |    1 -
 assets/js/55e202dc.d2edd9f4.js                     |    1 -
 assets/js/566201c1.098a547a.js                     |    1 -
 assets/js/567d9ed6.2ec51d52.js                     |    1 -
 assets/js/568a412e.05a1a443.js                     |    1 -
 assets/js/56b01be8.b164adb4.js                     |    1 -
 assets/js/5708.5e3a2ad5.js                         |    1 -
 assets/js/574f9863.bce27a17.js                     |    1 -
 assets/js/57d456a7.e44febe0.js                     |    1 -
 assets/js/57f98785.3e2afbc9.js                     |    1 -
 assets/js/586f3665.37978d89.js                     |    1 -
 assets/js/593f6488.e22f9be9.js                     |    1 -
 assets/js/5a08e3a4.5da5abeb.js                     |    1 -
 assets/js/5adada4a.247cbc7c.js                     |    1 -
 assets/js/5b599186.993517b9.js                     |    1 -
 assets/js/5bcd0a3f.9e3be588.js                     |    1 -
 assets/js/5cbdf55c.f09f9112.js                     |    1 -
 assets/js/5d9df06c.e40f1ad4.js                     |    1 -
 assets/js/5fb8df6e.7b66b859.js                     |    1 -
 assets/js/5ff9c08d.8c250623.js                     |    1 -
 assets/js/600b4155.37fb5cb5.js                     |    1 -
 assets/js/60453156.b65883df.js                     |    1 -
 assets/js/60b9c99e.1f85acf0.js                     |    1 -
 assets/js/6155cb7b.82ea7d65.js                     |    1 -
 assets/js/615c06f6.29a20b44.js                     |    1 -
 assets/js/62ce8058.8902dee4.js                     |    1 -
 assets/js/63a5d816.97bff6f3.js                     |    1 -
 assets/js/64a72051.71621346.js                     |    1 -
 assets/js/6571afa3.9d824013.js                     |    1 -
 assets/js/6584e9b3.c07059d6.js                     |    1 -
 assets/js/66b0e2d1.58153b1a.js                     |    1 -
 assets/js/6749.273c602d.js                         |    2 -
 assets/js/6749.273c602d.js.LICENSE.txt             |    9 -
 assets/js/6749.b8187a6a.js                         |    2 -
 assets/js/6749.b8187a6a.js.LICENSE.txt             |    9 -
 assets/js/67cae073.c5bc37ec.js                     |    1 -
 assets/js/67fbe555.99314deb.js                     |    1 -
 assets/js/6865240a.d6b4a6ad.js                     |    1 -
 assets/js/688a6cad.47d18dcd.js                     |    1 -
 assets/js/6bb9967c.ec827c34.js                     |    1 -
 assets/js/6c62c6c7.b558a009.js                     |    1 -
 assets/js/6cbe367d.3e07d96f.js                     |    1 -
 assets/js/6cf4efba.1215bdd8.js                     |    1 -
 assets/js/6dd47d75.5c3923a4.js                     |    1 -
 assets/js/6de78a57.f0d03fea.js                     |    1 -
 assets/js/6f53319e.0e4a2ff8.js                     |    1 -
 assets/js/6faceb40.91d9b8de.js                     |    1 -
 assets/js/704e9bb9.63ea3623.js                     |    1 -
 assets/js/7178b9b6.0d2c61db.js                     |    1 -
 assets/js/72198fb6.202dd0fb.js                     |    1 -
 assets/js/721b2481.9b0e9b53.js                     |    1 -
 assets/js/73cd2136.dca79b1a.js                     |    1 -
 assets/js/740ee517.c3733458.js                     |    1 -
 assets/js/741a2bd9.72e1b3e5.js                     |    1 -
 assets/js/75412b08.25db8b7c.js                     |    1 -
 assets/js/769d5196.f2aaa40e.js                     |    1 -
 assets/js/7766c5cb.3f039fde.js                     |    1 -
 assets/js/77f7adac.fab888bc.js                     |    1 -
 assets/js/78439ff4.3cb3f039.js                     |    1 -
 assets/js/787df9de.9207f9b3.js                     |    1 -
 assets/js/789a0686.074a6dbb.js                     |    1 -
 assets/js/78d5ebb8.99f7a49a.js                     |    1 -
 assets/js/7a0ffe1e.1aa10826.js                     |    1 -
 assets/js/7a1c0b36.e44a8c9e.js                     |    1 -
 assets/js/7c76ba32.0cd3c1d5.js                     |    1 -
 assets/js/7d5f28ce.8252ccf1.js                     |    1 -
 assets/js/7ef2feef.23e4b20e.js                     |    1 -
 assets/js/7ef358d2.8a95bb16.js                     |    1 -
 assets/js/7f61aae6.245f0273.js                     |    1 -
 assets/js/7fb5b8e4.e3c3aa91.js                     |    1 -
 assets/js/8094107d.7ef6c009.js                     |    1 -
 assets/js/814ae1dc.8e538bc2.js                     |    1 -
 assets/js/8171e985.dbc1a09c.js                     |    1 -
 assets/js/81b2ef5f.adb34217.js                     |    1 -
 assets/js/82439cd7.30d9407f.js                     |    1 -
 assets/js/836bc3d3.e956b727.js                     |    1 -
 assets/js/83a49702.cf8234bb.js                     |    1 -
 assets/js/85dd27cb.44f3abbd.js                     |    1 -
 assets/js/8603200e.cde71104.js                     |    1 -
 assets/js/8674f715.301be26f.js                     |    1 -
 assets/js/86d20240.c74f9a78.js                     |    1 -
 assets/js/86f78471.4d4cf1c6.js                     |    1 -
 assets/js/8762a85c.d13b14c8.js                     |    1 -
 assets/js/87f25154.ca0a7acf.js                     |    1 -
 assets/js/88501144.36641fcd.js                     |    1 -
 assets/js/8a9c99e5.5984dff5.js                     |    1 -
 assets/js/8d4becf1.c399c85a.js                     |    1 -
 assets/js/8dfcea7d.bcaef400.js                     |    1 -
 assets/js/8e692c83.30a8df43.js                     |    1 -
 assets/js/8f778d85.016e8d4a.js                     |    1 -
 assets/js/9046ac9e.384aa7ce.js                     |    1 -
 assets/js/9216ddc9.d7bb270b.js                     |    1 -
 assets/js/92594f97.522e62ef.js                     |    1 -
 assets/js/9557406b.03541e73.js                     |    1 -
 assets/js/95f72f0d.49bf0ba3.js                     |    1 -
 assets/js/9661201b.9a8e6fde.js                     |    1 -
 assets/js/98453339.4a44195f.js                     |    1 -
 assets/js/987d21e7.04a5a9ca.js                     |    1 -
 assets/js/98e627e0.bfd02497.js                     |    1 -
 assets/js/99d91b5a.b9af8608.js                     |    1 -
 assets/js/9ab3c40d.0f1ad03c.js                     |    1 -
 assets/js/9aea5069.8f618c61.js                     |    1 -
 assets/js/9c608ec3.8c80acee.js                     |    1 -
 assets/js/9d58a778.8eb0cdcc.js                     |    1 -
 assets/js/9dd30c58.ca5d90e2.js                     |    1 -
 assets/js/9df95d50.e8d3c461.js                     |    1 -
 assets/js/9ede9919.e403fd2a.js                     |    1 -
 assets/js/9fca01aa.de1b6723.js                     |    1 -
 assets/js/a01375de.06b1bde2.js                     |    1 -
 assets/js/a0c9993e.ca16a8d1.js                     |    1 -
 assets/js/a1d05d86.9de34c6e.js                     |    1 -
 assets/js/a293028b.a4a19293.js                     |    1 -
 assets/js/a305164a.c7fa71af.js                     |    1 -
 assets/js/a7b1bf42.e72f1fdc.js                     |    1 -
 assets/js/a8cc8574.ed5174ac.js                     |    1 -
 assets/js/a8f9299c.d94fe7d6.js                     |    1 -
 assets/js/aad827b4.2cb458f3.js                     |    1 -
 assets/js/abaf339c.a1f6d524.js                     |    1 -
 assets/js/ac06fb01.e4a88a04.js                     |    1 -
 assets/js/ad57d158.46d41512.js                     |    1 -
 assets/js/ad642817.a525b836.js                     |    1 -
 assets/js/adeefa03.4dc24158.js                     |    1 -
 assets/js/ae74e41c.c9728459.js                     |    1 -
 assets/js/aeca461e.9d2301b2.js                     |    1 -
 assets/js/af79f0c6.c4c6844f.js                     |    1 -
 assets/js/b03329aa.9585be9a.js                     |    1 -
 assets/js/b0c79e6c.e6ced527.js                     |    1 -
 assets/js/b20fe0a6.a7318038.js                     |    1 -
 assets/js/b2d41fa9.b0a95cd0.js                     |    1 -
 assets/js/b2f48f26.2b200a32.js                     |    1 -
 assets/js/b600e83f.7af877cd.js                     |    1 -
 assets/js/b6d922f1.68343db9.js                     |    1 -
 assets/js/b71a9ec5.2dfb68a5.js                     |    1 -
 assets/js/b83678bf.580294a9.js                     |    1 -
 assets/js/b964b515.2ad77303.js                     |    1 -
 assets/js/b9e10432.1c327393.js                     |    1 -
 assets/js/ba471ed5.85046ba2.js                     |    1 -
 assets/js/bb239c4c.4939a7d5.js                     |    1 -
 assets/js/bb43924b.7036b7fa.js                     |    1 -
 assets/js/bbbb2fd2.d78ec710.js                     |    1 -
 assets/js/bcc171e0.d4455e00.js                     |    1 -
 assets/js/bd8c7b4f.1e2e74dd.js                     |    1 -
 assets/js/bee5d326.aa53a7b3.js                     |    1 -
 assets/js/c0161e79.85a52a06.js                     |    1 -
 assets/js/c0b6aceb.3e791826.js                     |    1 -
 assets/js/c28eac04.2eb08bb2.js                     |    1 -
 assets/js/c3e3e424.7fd71538.js                     |    1 -
 assets/js/c48de5e1.1f3a82f1.js                     |    1 -
 assets/js/c4f5d8e4.4065eadd.js                     |    1 -
 assets/js/c53ada13.8f32d25a.js                     |    1 -
 assets/js/c53d2891.8c8a4296.js                     |    1 -
 assets/js/c5d5e9bb.593acd87.js                     |    1 -
 assets/js/c64bb127.0915ca91.js                     |    1 -
 assets/js/c673e4ff.239c52c0.js                     |    1 -
 assets/js/c67a4ff6.efa65f55.js                     |    1 -
 assets/js/c69709ce.59b44432.js                     |    1 -
 assets/js/c76c03a4.06051910.js                     |    1 -
 assets/js/c7ce599f.7301d4bf.js                     |    1 -
 assets/js/c9a3b7d7.1e01d461.js                     |    1 -
 assets/js/c9fa3e8f.e5309df3.js                     |    1 -
 assets/js/cb30a0f5.3e52ca2d.js                     |    1 -
 assets/js/cc822cea.d7e8e0ea.js                     |    1 -
 assets/js/cd1151c0.a40f27e8.js                     |    1 -
 assets/js/cd22c7ca.c6b2cdb0.js                     |    1 -
 assets/js/ce64c312.55d352da.js                     |    1 -
 assets/js/ce899a9a.445a5ba9.js                     |    1 -
 assets/js/cea8fd56.85691a6a.js                     |    1 -
 assets/js/cef60dd5.e6687af7.js                     |    1 -
 assets/js/cf2847a6.61a417dd.js                     |    1 -
 assets/js/cfafa723.12ac2321.js                     |    1 -
 assets/js/d0079074.27323a8d.js                     |    1 -
 assets/js/d05704bd.39d68a3c.js                     |    1 -
 assets/js/d1d4f029.61713b63.js                     |    1 -
 assets/js/d24799e9.a870fff1.js                     |    1 -
 assets/js/d2bc9669.41930e7a.js                     |    1 -
 assets/js/d4ccc9d3.b9e1badc.js                     |    1 -
 assets/js/d6226c05.6bc3cb37.js                     |    1 -
 assets/js/d6a8f8f9.04e00770.js                     |    1 -
 assets/js/d6bc9e72.c5e8a059.js                     |    1 -
 assets/js/d70d7a37.dfa2a0e2.js                     |    1 -
 assets/js/d792390c.ba7b4cc4.js                     |    1 -
 assets/js/d7b743bb.ab210478.js                     |    1 -
 assets/js/d8a03379.785d36c3.js                     |    1 -
 assets/js/d9090633.1dfe892a.js                     |    1 -
 assets/js/da4e7993.6ad6ef5b.js                     |    1 -
 assets/js/da7a03c2.f2a7432b.js                     |    1 -
 assets/js/dbea89cc.90ce0820.js                     |    1 -
 assets/js/dc86ecba.781ecc46.js                     |    1 -
 assets/js/dd1dce50.154c4ad4.js                     |    1 -
 assets/js/dd59fd53.9f978a89.js                     |    1 -
 assets/js/dd8d5fae.decc5c5c.js                     |    1 -
 assets/js/df701c77.583f4820.js                     |    1 -
 assets/js/e3f4ee09.c046b3fa.js                     |    1 -
 assets/js/e577ad77.44e4cb67.js                     |    1 -
 assets/js/e5b533f0.3dd0aa14.js                     |    1 -
 assets/js/e6ea7cb8.f082632b.js                     |    1 -
 assets/js/e74a7806.1194ce50.js                     |    1 -
 assets/js/e7e06f1d.5496eaea.js                     |    1 -
 assets/js/e93f2829.139d73c0.js                     |    1 -
 assets/js/e982aded.c4edbefd.js                     |    1 -
 assets/js/e988a960.af660997.js                     |    1 -
 assets/js/e9c39657.22ed35c5.js                     |    1 -
 assets/js/e9f8b574.8da28bb3.js                     |    1 -
 assets/js/ea02ee16.63d20fce.js                     |    1 -
 assets/js/ea816cfc.b3cbfc1c.js                     |    1 -
 assets/js/eb434dca.7f228b49.js                     |    1 -
 assets/js/ec2f3eed.d410c2d8.js                     |    1 -
 assets/js/ec3fbf2f.1c2e5268.js                     |    1 -
 assets/js/ec4db940.d1a9aa11.js                     |    1 -
 assets/js/ee513370.d6ff157f.js                     |    1 -
 assets/js/ef963abb.1af3d8f7.js                     |    1 -
 assets/js/efa71475.7c93b583.js                     |    1 -
 assets/js/f04833a0.893cd16b.js                     |    1 -
 assets/js/f0a1c229.81ce06d5.js                     |    1 -
 assets/js/f1cfb27d.967ee346.js                     |    1 -
 assets/js/f2b08aae.c1fdb32f.js                     |    1 -
 assets/js/f461ab4c.39d9f49f.js                     |    1 -
 assets/js/f475cb36.c7769923.js                     |    1 -
 assets/js/f50e9825.976a20d9.js                     |    1 -
 assets/js/f5acae74.e154b8da.js                     |    1 -
 assets/js/f6284e97.29d28272.js                     |    1 -
 assets/js/f7b190ec.c3da104c.js                     |    1 -
 assets/js/f86ff023.d4a12bf4.js                     |    1 -
 assets/js/f8edf111.2d9805ca.js                     |    1 -
 assets/js/f9398440.ccdff328.js                     |    1 -
 assets/js/f95a04e6.93f3379b.js                     |    1 -
 assets/js/fa2bda6a.c06fc9e1.js                     |    1 -
 assets/js/fa946d16.744960ed.js                     |    1 -
 assets/js/fb95c555.52b02145.js                     |    1 -
 assets/js/fc0003ca.77aee8e1.js                     |    1 -
 assets/js/fc6529ab.3cbe8d40.js                     |    1 -
 assets/js/fcb8805b.61cb1502.js                     |    1 -
 assets/js/fd068ea5.f6a19bee.js                     |    1 -
 assets/js/fdb07466.9f468fb2.js                     |    1 -
 assets/js/fef5691f.e464a744.js                     |    1 -
 assets/js/ff9b333f.115341be.js                     |    1 -
 assets/js/main.4054a563.js                         |    2 -
 assets/js/main.4054a563.js.LICENSE.txt             |   71 -
 assets/js/main.5b161358.js                         |    2 -
 assets/js/main.5b161358.js.LICENSE.txt             |   71 -
 assets/js/runtime~main.34793403.js                 |    1 -
 assets/js/runtime~main.ee6fe393.js                 |    1 -
 blog/index.html                                    |    4 +-
 community/cla/index.html                           |    4 +-
 community/index.html                               |    9 +-
 community/join-slack/index.html                    |    6 +-
 docs/34.0.0/api-reference.html/index.html          |   11 -
 .../automatic-compaction-api.html/index.html       |   11 -
 .../automatic-compaction-api/index.html            |  308 ----
 .../data-management-api.html/index.html            |   11 -
 .../api-reference/data-management-api/index.html   |  154 --
 .../dynamic-configuration-api.html/index.html      |   11 -
 .../dynamic-configuration-api/index.html           |  184 ---
 docs/34.0.0/api-reference/index.html               |   33 -
 .../json-querying-api.html/index.html              |   11 -
 .../api-reference/json-querying-api/index.html     |   72 -
 .../legacy-metadata-api.html/index.html            |   11 -
 .../api-reference/legacy-metadata-api/index.html   |  200 ---
 .../api-reference/lookups-api.html/index.html      |   11 -
 docs/34.0.0/api-reference/lookups-api/index.html   |   70 -
 .../retention-rules-api.html/index.html            |   11 -
 .../api-reference/retention-rules-api/index.html   |  146 --
 .../service-status-api.html/index.html             |   11 -
 .../api-reference/service-status-api/index.html    |  250 ---
 docs/34.0.0/api-reference/sql-api.html/index.html  |   11 -
 docs/34.0.0/api-reference/sql-api/index.html       |  253 ---
 .../sql-ingestion-api.html/index.html              |   11 -
 .../api-reference/sql-ingestion-api/index.html     |  102 --
 docs/34.0.0/api-reference/sql-jdbc.html/index.html |   11 -
 docs/34.0.0/api-reference/sql-jdbc/index.html      |   83 -
 .../api-reference/supervisor-api.html/index.html   |   11 -
 .../34.0.0/api-reference/supervisor-api/index.html |  273 ---
 .../34.0.0/api-reference/tasks-api.html/index.html |   11 -
 docs/34.0.0/api-reference/tasks-api/index.html     |  231 ---
 .../druid-vs-elasticsearch.html/index.html         |   11 -
 .../comparisons/druid-vs-elasticsearch/index.html  |   24 -
 .../comparisons/druid-vs-key-value.html/index.html |   11 -
 .../comparisons/druid-vs-key-value/index.html      |   32 -
 .../comparisons/druid-vs-kudu.html/index.html      |   11 -
 docs/34.0.0/comparisons/druid-vs-kudu/index.html   |   26 -
 .../comparisons/druid-vs-redshift.html/index.html  |   11 -
 .../comparisons/druid-vs-redshift/index.html       |   35 -
 .../comparisons/druid-vs-spark.html/index.html     |   11 -
 docs/34.0.0/comparisons/druid-vs-spark/index.html  |   26 -
 .../druid-vs-sql-on-hadoop.html/index.html         |   11 -
 .../comparisons/druid-vs-sql-on-hadoop/index.html  |   57 -
 docs/34.0.0/configuration.html/index.html          |   11 -
 docs/34.0.0/configuration/auth.html/index.html     |   11 -
 docs/34.0.0/configuration/broker.html/index.html   |   11 -
 docs/34.0.0/configuration/caching.html/index.html  |   11 -
 .../configuration/coordinator.html/index.html      |   11 -
 .../configuration/extensions.html/index.html       |   11 -
 docs/34.0.0/configuration/extensions/index.html    |   61 -
 docs/34.0.0/configuration/hadoop.html/index.html   |   11 -
 .../configuration/historical.html/index.html       |   11 -
 .../human-readable-byte.html/index.html            |   11 -
 .../configuration/human-readable-byte/index.html   |   37 -
 docs/34.0.0/configuration/index.html               |  778 ---------
 .../configuration/indexing-service.html/index.html |   11 -
 docs/34.0.0/configuration/logging.html/index.html  |   11 -
 docs/34.0.0/configuration/logging/index.html       |   47 -
 .../production-cluster.html/index.html             |   11 -
 docs/34.0.0/configuration/realtime.html/index.html |   11 -
 .../configuration/simple-cluster.html/index.html   |   11 -
 .../34.0.0/configuration/zookeeper.html/index.html |   11 -
 docs/34.0.0/data-management.html/index.html        |   11 -
 .../automatic-compaction.html/index.html           |   11 -
 .../automatic-compaction/index.html                |  207 ---
 .../data-management/compaction.html/index.html     |   11 -
 docs/34.0.0/data-management/compaction/index.html  |   71 -
 docs/34.0.0/data-management/delete.html/index.html |   11 -
 docs/34.0.0/data-management/delete/index.html      |   89 -
 docs/34.0.0/data-management/index.html             |   23 -
 .../manual-compaction.html/index.html              |   11 -
 .../data-management/manual-compaction/index.html   |   61 -
 .../data-management/schema-changes.html/index.html |   11 -
 .../data-management/schema-changes/index.html      |   24 -
 docs/34.0.0/data-management/update.html/index.html |   11 -
 docs/34.0.0/data-management/update/index.html      |   52 -
 .../cassandra-deep-storage.html/index.html         |   11 -
 docs/34.0.0/dependencies/zookeeper.html/index.html |   11 -
 docs/34.0.0/design.html/index.html                 |   11 -
 docs/34.0.0/design/architecture.html/index.html    |   11 -
 docs/34.0.0/design/architecture/index.html         |  112 --
 docs/34.0.0/design/auth.html/index.html            |   11 -
 docs/34.0.0/design/broker.html/index.html          |   11 -
 docs/34.0.0/design/broker/index.html               |   27 -
 .../concepts-and-terminology.html/index.html       |   11 -
 docs/34.0.0/design/coordinator.html/index.html     |   11 -
 docs/34.0.0/design/coordinator/index.html          |  131 --
 docs/34.0.0/design/deep-storage.html/index.html    |   11 -
 docs/34.0.0/design/deep-storage/index.html         |   46 -
 docs/34.0.0/design/design.html/index.html          |   11 -
 .../extensions-contrib/dropwizard.html/index.html  |   11 -
 .../extensions-contrib/dropwizard/index.html       |   44 -
 docs/34.0.0/design/historical.html/index.html      |   11 -
 docs/34.0.0/design/historical/index.html           |   38 -
 docs/34.0.0/design/index.html                      |   74 -
 docs/34.0.0/design/indexer.html/index.html         |   11 -
 docs/34.0.0/design/indexer/index.html              |   47 -
 .../34.0.0/design/indexing-service.html/index.html |   11 -
 docs/34.0.0/design/indexing-service/index.html     |   27 -
 .../34.0.0/design/metadata-storage.html/index.html |   11 -
 docs/34.0.0/design/metadata-storage/index.html     |  101 --
 docs/34.0.0/design/middlemanager.html/index.html   |   11 -
 docs/34.0.0/design/middlemanager/index.html        |   22 -
 docs/34.0.0/design/overlord.html/index.html        |   11 -
 docs/34.0.0/design/overlord/index.html             |   29 -
 docs/34.0.0/design/peons.html/index.html           |   11 -
 docs/34.0.0/design/peons/index.html                |   25 -
 docs/34.0.0/design/plumber.html/index.html         |   11 -
 docs/34.0.0/design/processes.html/index.html       |   11 -
 docs/34.0.0/design/realtime.html/index.html        |   11 -
 docs/34.0.0/design/router.html/index.html          |   11 -
 docs/34.0.0/design/router/index.html               |   90 -
 docs/34.0.0/design/segments.html/index.html        |   11 -
 docs/34.0.0/design/segments/index.html             |  106 --
 docs/34.0.0/design/storage.html/index.html         |   11 -
 docs/34.0.0/design/storage/index.html              |  104 --
 docs/34.0.0/design/zookeeper.html/index.html       |   11 -
 docs/34.0.0/design/zookeeper/index.html            |   38 -
 .../approximate-histograms.html/index.html         |   11 -
 docs/34.0.0/development/build.html/index.html      |   11 -
 docs/34.0.0/development/build/index.html           |   59 -
 .../community-extensions/azure.html/index.html     |   11 -
 .../community-extensions/cassandra.html/index.html |   11 -
 .../cloudfiles.html/index.html                     |   11 -
 .../community-extensions/graphite.html/index.html  |   11 -
 .../kafka-simple.html/index.html                   |   11 -
 .../community-extensions/rabbitmq.html/index.html  |   11 -
 .../development/contribute-to-docs.html/index.html |   11 -
 .../development/contribute-to-docs/index.html      |  128 --
 .../development/experimental.html/index.html       |   11 -
 docs/34.0.0/development/experimental/index.html    |   24 -
 .../extensions-contrib/aliyun-oss.html/index.html  |   11 -
 .../extensions-contrib/aliyun-oss/index.html       |   56 -
 .../ambari-metrics-emitter.html/index.html         |   11 -
 .../ambari-metrics-emitter/index.html              |   48 -
 .../extensions-contrib/cassandra.html/index.html   |   11 -
 .../extensions-contrib/cassandra/index.html        |   17 -
 .../extensions-contrib/cloudfiles.html/index.html  |   11 -
 .../extensions-contrib/cloudfiles/index.html       |   17 -
 .../compressed-big-decimal.html/index.html         |   11 -
 .../compressed-big-decimal/index.html              |   75 -
 .../ddsketch-quantiles.html/index.html             |   11 -
 .../ddsketch-quantiles/index.html                  |   36 -
 .../extensions-contrib/delta-lake.html/index.html  |   11 -
 .../extensions-contrib/delta-lake/index.html       |   27 -
 .../distinctcount.html/index.html                  |   11 -
 .../extensions-contrib/distinctcount/index.html    |   27 -
 .../druid-ranger-security.html/index.html          |   11 -
 .../druid-ranger-security/index.html               |   57 -
 .../gce-extensions.html/index.html                 |   11 -
 .../extensions-contrib/gce-extensions/index.html   |   60 -
 .../extensions-contrib/google.html/index.html      |   11 -
 .../extensions-contrib/graphite.html/index.html    |   11 -
 .../extensions-contrib/graphite/index.html         |   61 -
 .../extensions-contrib/iceberg.html/index.html     |   11 -
 .../extensions-contrib/iceberg/index.html          |   66 -
 .../extensions-contrib/influx.html/index.html      |   11 -
 .../extensions-contrib/influx/index.html           |   29 -
 .../influxdb-emitter.html/index.html               |   11 -
 .../extensions-contrib/influxdb-emitter/index.html |   38 -
 .../extensions-contrib/k8s-jobs/index.html         |   11 -
 .../kafka-emitter.html/index.html                  |   11 -
 .../extensions-contrib/kafka-emitter/index.html    |   24 -
 .../kafka-simple.html/index.html                   |   11 -
 .../materialized-view.html/index.html              |   11 -
 .../materialized-view/index.html                   |   31 -
 .../momentsketch-quantiles.html/index.html         |   11 -
 .../momentsketch-quantiles/index.html              |   31 -
 .../moving-average-query.html/index.html           |   11 -
 .../moving-average-query/index.html                |  119 --
 .../opentsdb-emitter.html/index.html               |   11 -
 .../extensions-contrib/opentsdb-emitter/index.html |   26 -
 .../extensions-contrib/orc.html/index.html         |   11 -
 .../extensions-contrib/parquet.html/index.html     |   11 -
 .../extensions-contrib/prometheus.html/index.html  |   11 -
 .../extensions-contrib/prometheus/index.html       |   47 -
 .../rabbit-super-stream-injestion.html/index.html  |   11 -
 .../rabbit-super-stream-injestion/index.html       |   54 -
 .../extensions-contrib/rabbitmq.html/index.html    |   11 -
 .../extensions-contrib/redis-cache.html/index.html |   11 -
 .../extensions-contrib/redis-cache/index.html      |   47 -
 .../extensions-contrib/rocketmq.html/index.html    |   11 -
 .../extensions-contrib/scan-query.html/index.html  |   11 -
 .../spectator-histogram.html/index.html            |   11 -
 .../spectator-histogram/index.html                 |  169 --
 .../extensions-contrib/sqlserver.html/index.html   |   11 -
 .../extensions-contrib/sqlserver/index.html        |   46 -
 .../extensions-contrib/statsd.html/index.html      |   11 -
 .../extensions-contrib/statsd/index.html           |   37 -
 .../tdigestsketch-quantiles.html/index.html        |   11 -
 .../tdigestsketch-quantiles/index.html             |   63 -
 .../extensions-contrib/thrift.html/index.html      |   11 -
 .../extensions-contrib/thrift/index.html           |   25 -
 .../time-min-max.html/index.html                   |   11 -
 .../extensions-contrib/time-min-max/index.html     |   27 -
 .../approximate-histograms.html/index.html         |   11 -
 .../approximate-histograms/index.html              |  139 --
 .../extensions-core/avro.html/index.html           |   11 -
 .../development/extensions-core/avro/index.html    |   43 -
 .../extensions-core/azure.html/index.html          |   11 -
 .../development/extensions-core/azure/index.html   |   42 -
 .../extensions-core/bloom-filter.html/index.html   |   11 -
 .../extensions-core/bloom-filter/index.html        |   67 -
 .../extensions-core/caffeine-cache.html/index.html |   11 -
 .../extensions-core/catalog.html/index.html        |   11 -
 .../development/extensions-core/catalog/index.html |   96 --
 .../datasketches-extension.html/index.html         |   11 -
 .../datasketches-extension/index.html              |   24 -
 .../datasketches-hll.html/index.html               |   11 -
 .../extensions-core/datasketches-hll/index.html    |   45 -
 .../datasketches-kll.html/index.html               |   11 -
 .../extensions-core/datasketches-kll/index.html    |   46 -
 .../datasketches-quantiles.html/index.html         |   11 -
 .../datasketches-quantiles/index.html              |   46 -
 .../datasketches-theta.html/index.html             |   11 -
 .../extensions-core/datasketches-theta/index.html  |   56 -
 .../datasketches-tuple.html/index.html             |   11 -
 .../extensions-core/datasketches-tuple/index.html  |   75 -
 .../extensions-core/druid-aws-rds.html/index.html  |   11 -
 .../extensions-core/druid-aws-rds/index.html       |   19 -
 .../druid-basic-security.html/index.html           |   11 -
 .../druid-basic-security/index.html                |  370 -----
 .../extensions-core/druid-kerberos.html/index.html |   11 -
 .../extensions-core/druid-kerberos/index.html      |   83 -
 .../extensions-core/druid-lookups.html/index.html  |   11 -
 .../extensions-core/druid-lookups/index.html       |   64 -
 .../extensions-core/druid-pac4j.html/index.html    |   11 -
 .../extensions-core/druid-pac4j/index.html         |   26 -
 .../druid-ranger-security/index.html               |   11 -
 .../extensions-core/examples.html/index.html       |   11 -
 .../extensions-core/examples/index.html            |   14 -
 .../extensions-core/google.html/index.html         |   11 -
 .../development/extensions-core/google/index.html  |   31 -
 .../extensions-core/hdfs.html/index.html           |   11 -
 .../development/extensions-core/hdfs/index.html    |   61 -
 .../extensions-core/k8s-jobs.html/index.html       |   11 -
 .../extensions-core/k8s-jobs/index.html            |  246 ---
 .../kafka-eight-firehose.html/index.html           |   11 -
 .../kafka-extraction-namespace/index.html          |   11 -
 .../kafka-ingestion.html/index.html                |   11 -
 .../extensions-core/kafka-ingestion/index.html     |   11 -
 .../kafka-supervisor-operations.html/index.html    |   11 -
 .../kafka-supervisor-operations/index.html         |   11 -
 .../kafka-supervisor-reference.html/index.html     |   11 -
 .../kafka-supervisor-reference/index.html          |   11 -
 .../kinesis-ingestion.html/index.html              |   11 -
 .../extensions-core/kinesis-ingestion/index.html   |   11 -
 .../extensions-core/kubernetes.html/index.html     |   11 -
 .../extensions-core/kubernetes/index.html          |   33 -
 .../lookups-cached-global/index.html               |   11 -
 .../extensions-core/mysql.html/index.html          |   11 -
 .../development/extensions-core/mysql/index.html   |   90 -
 .../namespaced-lookup.html/index.html              |   11 -
 .../extensions-core/orc.html/index.html            |   11 -
 .../development/extensions-core/orc/index.html     |   41 -
 .../extensions-core/parquet.html/index.html        |   11 -
 .../development/extensions-core/parquet/index.html |   22 -
 .../extensions-core/postgresql.html/index.html     |   11 -
 .../extensions-core/postgresql/index.html          |   50 -
 .../extensions-core/protobuf.html/index.html       |   11 -
 .../extensions-core/protobuf/index.html            |   90 -
 .../development/extensions-core/s3.html/index.html |   11 -
 .../development/extensions-core/s3/index.html      |   77 -
 .../simple-client-sslcontext.html/index.html       |   11 -
 .../simple-client-sslcontext/index.html            |   21 -
 .../extensions-core/stats.html/index.html          |   11 -
 .../development/extensions-core/stats/index.html   |   67 -
 .../extensions-core/test-stats.html/index.html     |   11 -
 .../extensions-core/test-stats/index.html          |   44 -
 docs/34.0.0/development/extensions/index.html      |   11 -
 docs/34.0.0/development/indexer.html/index.html    |   11 -
 .../index.html                                     |   11 -
 docs/34.0.0/development/javascript.html/index.html |   11 -
 docs/34.0.0/development/javascript/index.html      |   49 -
 .../kafka-simple-consumer-firehose.html/index.html |   11 -
 docs/34.0.0/development/modules.html/index.html    |   11 -
 docs/34.0.0/development/modules/index.html         |  166 --
 docs/34.0.0/development/overview.html/index.html   |   11 -
 docs/34.0.0/development/overview/index.html        |   50 -
 docs/34.0.0/development/router.html/index.html     |   11 -
 .../development/select-query.html/index.html       |   11 -
 docs/34.0.0/development/versioning.html/index.html |   11 -
 docs/34.0.0/development/versioning/index.html      |   26 -
 docs/34.0.0/index.html                             |   11 -
 docs/34.0.0/ingestion.html/index.html              |   11 -
 .../ingestion/automatic-compaction.html/index.html |   11 -
 .../ingestion/batch-ingestion.html/index.html      |   11 -
 .../command-line-hadoop-indexer.html/index.html    |   11 -
 docs/34.0.0/ingestion/compaction.html/index.html   |   11 -
 .../concurrent-append-replace.html/index.html      |   11 -
 .../ingestion/concurrent-append-replace/index.html |   62 -
 docs/34.0.0/ingestion/data-formats.html/index.html |   11 -
 docs/34.0.0/ingestion/data-formats/index.html      |  472 ------
 .../ingestion/data-management.html/index.html      |   11 -
 docs/34.0.0/ingestion/delete-data.html/index.html  |   11 -
 docs/34.0.0/ingestion/faq.html/index.html          |   11 -
 docs/34.0.0/ingestion/faq/index.html               |   59 -
 docs/34.0.0/ingestion/firehose.html/index.html     |   11 -
 docs/34.0.0/ingestion/flatten-json.html/index.html |   11 -
 .../hadoop-vs-native-batch.html/index.html         |   11 -
 docs/34.0.0/ingestion/hadoop.html/index.html       |   11 -
 docs/34.0.0/ingestion/hadoop/index.html            |  179 --
 docs/34.0.0/ingestion/index.html                   |   41 -
 .../ingestion/ingestion-spec.html/index.html       |   11 -
 docs/34.0.0/ingestion/ingestion-spec/index.html    |  213 ---
 docs/34.0.0/ingestion/ingestion.html/index.html    |   11 -
 .../34.0.0/ingestion/input-sources.html/index.html |   11 -
 docs/34.0.0/ingestion/input-sources/index.html     |  281 ----
 .../ingestion/kafka-ingestion.html/index.html      |   11 -
 docs/34.0.0/ingestion/kafka-ingestion/index.html   |  154 --
 .../ingestion/kinesis-ingestion.html/index.html    |   11 -
 docs/34.0.0/ingestion/kinesis-ingestion/index.html |  147 --
 .../ingestion/locking-and-priority.html/index.html |   11 -
 .../ingestion/migrate-from-firehose/index.html     |   11 -
 docs/34.0.0/ingestion/misc-tasks.html/index.html   |   11 -
 .../native-batch-firehose.html/index.html          |   11 -
 .../ingestion/native-batch-firehose/index.html     |   14 -
 .../native-batch-input-sources.html/index.html     |   11 -
 .../native-batch-simple-task.html/index.html       |   11 -
 .../ingestion/native-batch-simple-task/index.html  |   49 -
 docs/34.0.0/ingestion/native-batch.html/index.html |   11 -
 docs/34.0.0/ingestion/native-batch/index.html      |  294 ----
 docs/34.0.0/ingestion/native_tasks.html/index.html |   11 -
 docs/34.0.0/ingestion/overview.html/index.html     |   11 -
 docs/34.0.0/ingestion/partitioning.html/index.html |   11 -
 docs/34.0.0/ingestion/partitioning/index.html      |   59 -
 .../ingestion/realtime-ingestion.html/index.html   |   11 -
 docs/34.0.0/ingestion/reports.html/index.html      |   11 -
 docs/34.0.0/ingestion/rollup.html/index.html       |   11 -
 docs/34.0.0/ingestion/rollup/index.html            |   70 -
 .../ingestion/schema-changes.html/index.html       |   11 -
 .../34.0.0/ingestion/schema-design.html/index.html |   11 -
 docs/34.0.0/ingestion/schema-design/index.html     |  220 ---
 docs/34.0.0/ingestion/schema-model.html/index.html |   11 -
 docs/34.0.0/ingestion/schema-model/index.html      |   35 -
 .../ingestion/standalone-realtime.html/index.html  |   11 -
 .../ingestion/standalone-realtime/index.html       |   26 -
 .../ingestion/stream-ingestion.html/index.html     |   11 -
 docs/34.0.0/ingestion/stream-pull.html/index.html  |   11 -
 docs/34.0.0/ingestion/stream-push.html/index.html  |   11 -
 docs/34.0.0/ingestion/streaming.html/index.html    |   11 -
 docs/34.0.0/ingestion/streaming/index.html         |   23 -
 docs/34.0.0/ingestion/supervisor.html/index.html   |   11 -
 docs/34.0.0/ingestion/supervisor/index.html        |  137 --
 docs/34.0.0/ingestion/tasks.html/index.html        |   11 -
 docs/34.0.0/ingestion/tasks/index.html             |  223 ---
 docs/34.0.0/ingestion/tranquility.html/index.html  |   11 -
 docs/34.0.0/ingestion/tranquility/index.html       |   18 -
 .../ingestion/transform-spec.html/index.html       |   11 -
 .../ingestion/update-existing-data.html/index.html |   11 -
 docs/34.0.0/misc/cluster-setup.html/index.html     |   11 -
 docs/34.0.0/misc/evaluate.html/index.html          |   11 -
 docs/34.0.0/misc/math-expr.html/index.html         |   11 -
 docs/34.0.0/misc/papers-and-talks.html/index.html  |   11 -
 docs/34.0.0/misc/papers-and-talks/index.html       |   43 -
 docs/34.0.0/misc/tasks.html/index.html             |   11 -
 docs/34.0.0/multi-stage-query.html/index.html      |   11 -
 docs/34.0.0/multi-stage-query/api.html/index.html  |   11 -
 .../multi-stage-query/concepts.html/index.html     |   11 -
 docs/34.0.0/multi-stage-query/concepts/index.html  |  231 ---
 .../multi-stage-query/examples.html/index.html     |   11 -
 docs/34.0.0/multi-stage-query/examples/index.html  |   40 -
 docs/34.0.0/multi-stage-query/index.html           |   62 -
 .../multi-stage-query/known-issues.html/index.html |   11 -
 .../multi-stage-query/known-issues/index.html      |   77 -
 .../multi-stage-query/reference.html/index.html    |   11 -
 docs/34.0.0/multi-stage-query/reference/index.html |  293 ----
 .../multi-stage-query/security.html/index.html     |   11 -
 docs/34.0.0/multi-stage-query/security/index.html  |   57 -
 docs/34.0.0/operations/alerts.html/index.html      |   11 -
 docs/34.0.0/operations/alerts/index.html           |   24 -
 .../operations/api-reference.html/index.html       |   11 -
 docs/34.0.0/operations/api-reference/index.html    |   11 -
 docs/34.0.0/operations/auth-ldap.html/index.html   |   11 -
 docs/34.0.0/operations/auth-ldap/index.html        |  157 --
 docs/34.0.0/operations/auth.html/index.html        |   11 -
 docs/34.0.0/operations/auth/index.html             |   78 -
 .../basic-cluster-tuning.html/index.html           |   11 -
 .../operations/basic-cluster-tuning/index.html     |  284 ----
 .../clean-metadata-store.html/index.html           |   11 -
 .../operations/clean-metadata-store/index.html     |  131 --
 .../deep-storage-migration.html/index.html         |   11 -
 .../operations/deep-storage-migration/index.html   |   39 -
 .../operations/druid-console.html/index.html       |   11 -
 .../34.0.0/operations/dump-segment.html/index.html |   11 -
 docs/34.0.0/operations/dump-segment/index.html     |   56 -
 .../operations/durable-storage.html/index.html     |   11 -
 docs/34.0.0/operations/durable-storage/index.html  |   45 -
 .../dynamic-config-provider.html/index.html        |   11 -
 .../operations/dynamic-config-provider/index.html  |   32 -
 .../operations/export-metadata.html/index.html     |   11 -
 docs/34.0.0/operations/export-metadata/index.html  |  101 --
 docs/34.0.0/operations/getting-started/index.html  |   11 -
 .../operations/high-availability.html/index.html   |   11 -
 .../34.0.0/operations/high-availability/index.html |   27 -
 .../operations/http-compression.html/index.html    |   11 -
 docs/34.0.0/operations/http-compression/index.html |   15 -
 .../including-extensions.html/index.html           |   11 -
 .../insert-segment-to-db.html/index.html           |   11 -
 .../operations/insert-segment-to-db/index.html     |   34 -
 docs/34.0.0/operations/java.html/index.html        |   11 -
 docs/34.0.0/operations/java/index.html             |   63 -
 docs/34.0.0/operations/kubernetes.html/index.html  |   11 -
 docs/34.0.0/operations/kubernetes/index.html       |   17 -
 .../operations/management-uis.html/index.html      |   11 -
 .../operations/metadata-migration.html/index.html  |   11 -
 .../operations/metadata-migration/index.html       |   53 -
 docs/34.0.0/operations/metrics.html/index.html     |   11 -
 docs/34.0.0/operations/metrics/index.html          |  117 --
 .../migrate-from-firehose.html/index.html          |   11 -
 .../operations/migrate-from-firehose/index.html    |   49 -
 .../operations/mixed-workloads.html/index.html     |   11 -
 docs/34.0.0/operations/mixed-workloads/index.html  |  114 --
 .../34.0.0/operations/multitenancy.html/index.html |   11 -
 .../34.0.0/operations/other-hadoop.html/index.html |   11 -
 docs/34.0.0/operations/other-hadoop/index.html     |  123 --
 .../operations/password-provider.html/index.html   |   11 -
 .../34.0.0/operations/password-provider/index.html |   25 -
 .../operations/performance-faq.html/index.html     |   11 -
 docs/34.0.0/operations/pull-deps.html/index.html   |   11 -
 docs/34.0.0/operations/pull-deps/index.html        |   61 -
 .../operations/recommendations.html/index.html     |   11 -
 .../operations/request-logging.html/index.html     |   11 -
 docs/34.0.0/operations/request-logging/index.html  |   63 -
 .../operations/reset-cluster.html/index.html       |   11 -
 docs/34.0.0/operations/reset-cluster/index.html    |   24 -
 .../operations/rolling-updates.html/index.html     |   11 -
 docs/34.0.0/operations/rolling-updates/index.html  |   68 -
 .../operations/rule-configuration.html/index.html  |   11 -
 .../operations/rule-configuration/index.html       |  195 ---
 .../operations/security-overview.html/index.html   |   11 -
 .../34.0.0/operations/security-overview/index.html |  187 ---
 .../operations/security-user-auth.html/index.html  |   11 -
 .../operations/security-user-auth/index.html       |   92 --
 .../segment-optimization.html/index.html           |   11 -
 .../operations/segment-optimization/index.html     |   71 -
 .../operations/single-server.html/index.html       |   11 -
 docs/34.0.0/operations/single-server/index.html    |   31 -
 docs/34.0.0/operations/tls-support.html/index.html |   11 -
 docs/34.0.0/operations/tls-support/index.html      |   49 -
 .../use_sbt_to_build_fat_jar.html/index.html       |   11 -
 .../operations/use_sbt_to_build_fat_jar/index.html |   14 -
 docs/34.0.0/operations/web-console.html/index.html |   11 -
 docs/34.0.0/operations/web-console/index.html      |  128 --
 docs/34.0.0/querying.html/index.html               |   11 -
 docs/34.0.0/querying/aggregations.html/index.html  |   11 -
 docs/34.0.0/querying/aggregations/index.html       |  232 ---
 docs/34.0.0/querying/arrays.html/index.html        |   11 -
 docs/34.0.0/querying/arrays/index.html             |   93 --
 docs/34.0.0/querying/caching.html/index.html       |   11 -
 docs/34.0.0/querying/caching/index.html            |   84 -
 docs/34.0.0/querying/datasource.html/index.html    |   11 -
 docs/34.0.0/querying/datasource/index.html         |  191 ---
 .../datasourcemetadataquery.html/index.html        |   11 -
 .../querying/datasourcemetadataquery/index.html    |   26 -
 .../34.0.0/querying/dimensionspecs.html/index.html |   11 -
 docs/34.0.0/querying/dimensionspecs/index.html     |  205 ---
 docs/34.0.0/querying/filters.html/index.html       |   11 -
 docs/34.0.0/querying/filters/index.html            |  233 ---
 docs/34.0.0/querying/geo.html/index.html           |   11 -
 docs/34.0.0/querying/geo/index.html                |   49 -
 docs/34.0.0/querying/granularities.html/index.html |   11 -
 docs/34.0.0/querying/granularities/index.html      |  109 --
 docs/34.0.0/querying/groupbyquery.html/index.html  |   11 -
 docs/34.0.0/querying/groupbyquery/index.html       |  145 --
 docs/34.0.0/querying/having.html/index.html        |   11 -
 docs/34.0.0/querying/having/index.html             |   63 -
 docs/34.0.0/querying/hll-old.html/index.html       |   11 -
 docs/34.0.0/querying/hll-old/index.html            |   52 -
 docs/34.0.0/querying/index.html                    |   75 -
 docs/34.0.0/querying/joins.html/index.html         |   11 -
 docs/34.0.0/querying/joins/index.html              |   32 -
 .../kafka-extraction-namespace.html/index.html     |   11 -
 .../querying/kafka-extraction-namespace/index.html |   37 -
 docs/34.0.0/querying/limitspec.html/index.html     |   11 -
 docs/34.0.0/querying/limitspec/index.html          |   34 -
 .../querying/lookups-cached-global.html/index.html |   11 -
 .../querying/lookups-cached-global/index.html      |   98 --
 docs/34.0.0/querying/lookups.html/index.html       |   11 -
 docs/34.0.0/querying/lookups/index.html            |  148 --
 docs/34.0.0/querying/math-expr.html/index.html     |   11 -
 docs/34.0.0/querying/math-expr/index.html          |  122 --
 .../multi-value-dimensions.html/index.html         |   11 -
 .../querying/multi-value-dimensions/index.html     |  123 --
 docs/34.0.0/querying/multitenancy.html/index.html  |   11 -
 docs/34.0.0/querying/multitenancy/index.html       |   64 -
 .../34.0.0/querying/nested-columns.html/index.html |   11 -
 docs/34.0.0/querying/nested-columns/index.html     |  162 --
 docs/34.0.0/querying/optimizations.html/index.html |   11 -
 .../querying/post-aggregations.html/index.html     |   11 -
 docs/34.0.0/querying/post-aggregations/index.html  |   79 -
 docs/34.0.0/querying/query-context.html/index.html |   11 -
 docs/34.0.0/querying/query-context/index.html      |   58 -
 .../querying/query-deep-storage.html/index.html    |   11 -
 docs/34.0.0/querying/query-deep-storage/index.html |   83 -
 .../querying/query-execution.html/index.html       |   11 -
 docs/34.0.0/querying/query-execution/index.html    |  106 --
 .../querying/query-processing.html/index.html      |   11 -
 docs/34.0.0/querying/query-processing/index.html   |   34 -
 docs/34.0.0/querying/scan-query.html/index.html    |   11 -
 docs/34.0.0/querying/scan-query/index.html         |   70 -
 docs/34.0.0/querying/searchquery.html/index.html   |   11 -
 docs/34.0.0/querying/searchquery/index.html        |   62 -
 .../querying/searchqueryspec.html/index.html       |   11 -
 .../querying/segmentmetadataquery.html/index.html  |   11 -
 .../querying/segmentmetadataquery/index.html       |  141 --
 docs/34.0.0/querying/select-query.html/index.html  |   11 -
 docs/34.0.0/querying/select-query/index.html       |   14 -
 .../34.0.0/querying/sorting-orders.html/index.html |   11 -
 docs/34.0.0/querying/sorting-orders/index.html     |   37 -
 .../querying/sql-aggregations.html/index.html      |   11 -
 docs/34.0.0/querying/sql-aggregations/index.html   |   55 -
 docs/34.0.0/querying/sql-api.html/index.html       |   11 -
 .../querying/sql-array-functions.html/index.html   |   11 -
 .../34.0.0/querying/sql-array-functions/index.html |   23 -
 .../34.0.0/querying/sql-data-types.html/index.html |   11 -
 docs/34.0.0/querying/sql-data-types/index.html     |   97 --
 docs/34.0.0/querying/sql-functions.html/index.html |   11 -
 docs/34.0.0/querying/sql-functions/index.html      | 1730 --------------------
 docs/34.0.0/querying/sql-jdbc.html/index.html      |   11 -
 .../querying/sql-json-functions.html/index.html    |   11 -
 docs/34.0.0/querying/sql-json-functions/index.html |   31 -
 .../querying/sql-metadata-tables.html/index.html   |   11 -
 .../34.0.0/querying/sql-metadata-tables/index.html |   82 -
 .../index.html                                     |   11 -
 .../sql-multivalue-string-functions/index.html     |   24 -
 docs/34.0.0/querying/sql-operators.html/index.html |   11 -
 docs/34.0.0/querying/sql-operators/index.html      |   39 -
 .../querying/sql-query-context.html/index.html     |   11 -
 docs/34.0.0/querying/sql-query-context/index.html  |   37 -
 docs/34.0.0/querying/sql-scalar.html/index.html    |   11 -
 docs/34.0.0/querying/sql-scalar/index.html         |   90 -
 .../querying/sql-translation.html/index.html       |   11 -
 docs/34.0.0/querying/sql-translation/index.html    |  205 ---
 .../querying/sql-window-functions.html/index.html  |   11 -
 .../querying/sql-window-functions/index.html       |  124 --
 docs/34.0.0/querying/sql.html/index.html           |   11 -
 docs/34.0.0/querying/sql/index.html                |  240 ---
 .../querying/timeboundaryquery.html/index.html     |   11 -
 docs/34.0.0/querying/timeboundaryquery/index.html  |   22 -
 .../querying/timeseriesquery.html/index.html       |   11 -
 docs/34.0.0/querying/timeseriesquery/index.html    |   41 -
 .../querying/tips-good-queries.html/index.html     |   11 -
 docs/34.0.0/querying/tips-good-queries/index.html  |   86 -
 .../34.0.0/querying/topnmetricspec.html/index.html |   11 -
 docs/34.0.0/querying/topnmetricspec/index.html     |   33 -
 docs/34.0.0/querying/topnquery.html/index.html     |   11 -
 docs/34.0.0/querying/topnquery/index.html          |   46 -
 .../querying/troubleshooting.html/index.html       |   11 -
 docs/34.0.0/querying/troubleshooting/index.html    |   38 -
 docs/34.0.0/querying/using-caching.html/index.html |   11 -
 docs/34.0.0/querying/using-caching/index.html      |   48 -
 .../querying/virtual-columns.html/index.html       |   11 -
 docs/34.0.0/querying/virtual-columns/index.html    |   52 -
 .../migr-ansi-sql-null.html/index.html             |   11 -
 .../release-info/migr-ansi-sql-null/index.html     |  111 --
 .../migr-front-coded-dict.html/index.html          |   11 -
 .../release-info/migr-front-coded-dict/index.html  |   46 -
 .../release-info/migr-mvd-array.html/index.html    |   11 -
 docs/34.0.0/release-info/migr-mvd-array/index.html |  116 --
 .../migr-subquery-limit.html/index.html            |   11 -
 .../release-info/migr-subquery-limit/index.html    |   38 -
 .../release-info/migration-guide.html/index.html   |   11 -
 .../34.0.0/release-info/migration-guide/index.html |   24 -
 .../release-info/release-notes.html/index.html     |   11 -
 docs/34.0.0/release-info/release-notes/index.html  |   48 -
 .../release-info/upgrade-notes.html/index.html     |   11 -
 docs/34.0.0/release-info/upgrade-notes/index.html  |  463 ------
 docs/34.0.0/tutorials.html/index.html              |   11 -
 .../booting-a-production-cluster.html/index.html   |   11 -
 docs/34.0.0/tutorials/cluster.html/index.html      |   11 -
 docs/34.0.0/tutorials/cluster/index.html           |  286 ----
 docs/34.0.0/tutorials/docker.html/index.html       |   11 -
 docs/34.0.0/tutorials/docker/index.html            |   80 -
 docs/34.0.0/tutorials/examples.html/index.html     |   11 -
 docs/34.0.0/tutorials/firewall.html/index.html     |   11 -
 docs/34.0.0/tutorials/index.html                   |  130 --
 .../tutorials/ingestion-streams.html/index.html    |   11 -
 docs/34.0.0/tutorials/ingestion.html/index.html    |   11 -
 docs/34.0.0/tutorials/quickstart.html/index.html   |   11 -
 .../tutorial-a-first-look-at-druid.html/index.html |   11 -
 .../tutorial-all-about-queries.html/index.html     |   11 -
 .../tutorials/tutorial-append-data.html/index.html |   11 -
 .../tutorials/tutorial-append-data/index.html      |   40 -
 .../tutorial-batch-hadoop.html/index.html          |   11 -
 .../tutorials/tutorial-batch-hadoop/index.html     |   88 -
 .../tutorial-batch-native.html/index.html          |   11 -
 .../tutorials/tutorial-batch-native/index.html     |  131 --
 .../tutorials/tutorial-batch.html/index.html       |   11 -
 docs/34.0.0/tutorials/tutorial-batch/index.html    |   50 -
 .../tutorials/tutorial-compaction.html/index.html  |   11 -
 .../tutorials/tutorial-compaction/index.html       |   77 -
 .../tutorials/tutorial-delete-data.html/index.html |   11 -
 .../tutorials/tutorial-delete-data/index.html      |   60 -
 .../tutorials/tutorial-extern.html/index.html      |   11 -
 docs/34.0.0/tutorials/tutorial-extern/index.html   |   92 --
 .../tutorial-ingestion-spec.html/index.html        |   11 -
 .../tutorials/tutorial-ingestion-spec/index.html   |  144 --
 .../34.0.0/tutorials/tutorial-jdbc.html/index.html |   11 -
 docs/34.0.0/tutorials/tutorial-jdbc/index.html     |   15 -
 .../tutorials/tutorial-kafka.html/index.html       |   11 -
 docs/34.0.0/tutorials/tutorial-kafka/index.html    |  166 --
 .../tutorial-kerberos-hadoop.html/index.html       |   11 -
 .../tutorials/tutorial-kerberos-hadoop/index.html  |   62 -
 .../tutorials/tutorial-latest-by.html/index.html   |   11 -
 .../34.0.0/tutorials/tutorial-latest-by/index.html |   58 -
 .../tutorial-loading-batch-data.html/index.html    |   11 -
 .../index.html                                     |   11 -
 .../tutorial-msq-convert-spec.html/index.html      |   11 -
 .../tutorials/tutorial-msq-convert-spec/index.html |   42 -
 .../tutorials/tutorial-msq-extern.html/index.html  |   11 -
 .../tutorials/tutorial-msq-extern/index.html       |   67 -
 .../tutorial-query-deep-storage.html/index.html    |   11 -
 .../tutorial-query-deep-storage/index.html         |   67 -
 .../tutorials/tutorial-query.html/index.html       |   11 -
 docs/34.0.0/tutorials/tutorial-query/index.html    |  124 --
 .../tutorials/tutorial-retention.html/index.html   |   11 -
 .../34.0.0/tutorials/tutorial-retention/index.html |   68 -
 .../tutorials/tutorial-rollup.html/index.html      |   11 -
 docs/34.0.0/tutorials/tutorial-rollup/index.html   |   62 -
 .../tutorial-sketches-theta.html/index.html        |   11 -
 .../tutorials/tutorial-sketches-theta/index.html   |  128 --
 .../tutorials/tutorial-sql-null.html/index.html    |   11 -
 docs/34.0.0/tutorials/tutorial-sql-null/index.html |   69 -
 .../tutorial-sql-query-view.html/index.html        |   11 -
 .../tutorials/tutorial-sql-query-view/index.html   |  170 --
 .../tutorial-the-druid-cluster.html/index.html     |   11 -
 .../tutorials/tutorial-tranquility.html/index.html |   11 -
 .../tutorials/tutorial-transform-spec/index.html   |   11 -
 .../tutorials/tutorial-transform.html/index.html   |   11 -
 .../34.0.0/tutorials/tutorial-transform/index.html |   48 -
 .../tutorial-unnest-arrays.html/index.html         |   11 -
 .../tutorials/tutorial-unnest-arrays/index.html    |  114 --
 .../tutorials/tutorial-update-data.html/index.html |   11 -
 .../tutorials/tutorial-update-data/index.html      |   82 -
 .../automatic-compaction-api/index.html            |    4 +-
 .../api-reference/data-management-api/index.html   |   54 +-
 .../dynamic-configuration-api/index.html           |    8 +-
 docs/latest/api-reference/index.html               |    4 +-
 .../api-reference/json-querying-api/index.html     |    4 +-
 .../api-reference/legacy-metadata-api/index.html   |    4 +-
 docs/latest/api-reference/lookups-api/index.html   |    4 +-
 .../api-reference/retention-rules-api/index.html   |    4 +-
 .../api-reference/service-status-api/index.html    |  116 +-
 docs/latest/api-reference/sql-api/index.html       |   46 +-
 .../api-reference/sql-ingestion-api/index.html     |   15 +-
 docs/latest/api-reference/sql-jdbc/index.html      |    4 +-
 .../latest/api-reference/supervisor-api/index.html |    4 +-
 docs/latest/api-reference/tasks-api/index.html     |    8 +-
 .../comparisons/druid-vs-elasticsearch/index.html  |    4 +-
 .../comparisons/druid-vs-key-value/index.html      |    4 +-
 docs/latest/comparisons/druid-vs-kudu/index.html   |    4 +-
 .../comparisons/druid-vs-redshift/index.html       |    4 +-
 docs/latest/comparisons/druid-vs-spark/index.html  |    4 +-
 .../comparisons/druid-vs-sql-on-hadoop/index.html  |    4 +-
 docs/latest/configuration/extensions/index.html    |    4 +-
 .../configuration/human-readable-byte/index.html   |    4 +-
 docs/latest/configuration/index.html               |  179 +-
 docs/latest/configuration/logging/index.html       |    9 +-
 .../automatic-compaction/index.html                |    6 +-
 docs/latest/data-management/compaction/index.html  |    4 +-
 docs/latest/data-management/delete/index.html      |   46 +-
 docs/latest/data-management/index.html             |    4 +-
 .../data-management/manual-compaction/index.html   |    6 +-
 .../data-management/schema-changes/index.html      |    4 +-
 docs/latest/data-management/update/index.html      |    4 +-
 docs/latest/design/architecture/index.html         |    4 +-
 docs/latest/design/broker/index.html               |    4 +-
 docs/latest/design/coordinator/index.html          |    4 +-
 docs/latest/design/deep-storage/index.html         |    4 +-
 .../extensions-contrib/dropwizard/index.html       |    7 +-
 docs/latest/design/historical/index.html           |    4 +-
 docs/latest/design/index.html                      |    4 +-
 docs/latest/design/indexer/index.html              |    4 +-
 docs/latest/design/indexing-service/index.html     |    4 +-
 docs/latest/design/metadata-storage/index.html     |    4 +-
 docs/latest/design/middlemanager/index.html        |    4 +-
 docs/latest/design/overlord/index.html             |    4 +-
 docs/latest/design/peons/index.html                |    4 +-
 docs/latest/design/router/index.html               |    4 +-
 docs/latest/design/segments/index.html             |    4 +-
 docs/latest/design/storage/index.html              |    6 +-
 docs/latest/design/zookeeper/index.html            |    4 +-
 docs/latest/development/build/index.html           |    4 +-
 .../development/contribute-to-docs/index.html      |    4 +-
 docs/latest/development/experimental/index.html    |    4 +-
 .../extensions-contrib/aliyun-oss/index.html       |    4 +-
 .../ambari-metrics-emitter/index.html              |    4 +-
 .../extensions-contrib/cassandra/index.html        |    4 +-
 .../extensions-contrib/cloudfiles/index.html       |    4 +-
 .../compressed-big-decimal/index.html              |   29 +-
 .../ddsketch-quantiles/index.html                  |    4 +-
 .../extensions-contrib/delta-lake/index.html       |    4 +-
 .../extensions-contrib/distinctcount/index.html    |    4 +-
 .../druid-ranger-security/index.html               |    4 +-
 .../extensions-contrib/gce-extensions/index.html   |    4 +-
 .../extensions-contrib/graphite/index.html         |    4 +-
 .../extensions-contrib/iceberg/index.html          |    4 +-
 .../extensions-contrib/influx/index.html           |    4 +-
 .../extensions-contrib/influxdb-emitter/index.html |    4 +-
 .../extensions-contrib/kafka-emitter/index.html    |    4 +-
 .../materialized-view/index.html                   |    4 +-
 .../momentsketch-quantiles/index.html              |    4 +-
 .../moving-average-query/index.html                |    4 +-
 .../extensions-contrib/opentsdb-emitter/index.html |    4 +-
 .../extensions-contrib/prometheus/index.html       |    4 +-
 .../rabbit-super-stream-injestion/index.html       |    4 +-
 .../extensions-contrib/redis-cache/index.html      |    4 +-
 .../spectator-histogram/index.html                 |    4 +-
 .../extensions-contrib/sqlserver/index.html        |    4 +-
 .../extensions-contrib/statsd/index.html           |    4 +-
 .../tdigestsketch-quantiles/index.html             |    4 +-
 .../extensions-contrib/thrift/index.html           |    4 +-
 .../extensions-contrib/time-min-max/index.html     |    4 +-
 .../approximate-histograms/index.html              |    4 +-
 .../development/extensions-core/avro/index.html    |    4 +-
 .../development/extensions-core/azure/index.html   |    4 +-
 .../extensions-core/bloom-filter/index.html        |    4 +-
 .../development/extensions-core/catalog/index.html |    4 +-
 .../datasketches-extension/index.html              |    4 +-
 .../extensions-core/datasketches-hll/index.html    |    4 +-
 .../extensions-core/datasketches-kll/index.html    |    8 +-
 .../datasketches-quantiles/index.html              |    8 +-
 .../extensions-core/datasketches-theta/index.html  |    4 +-
 .../extensions-core/datasketches-tuple/index.html  |    4 +-
 .../extensions-core/druid-aws-rds/index.html       |    4 +-
 .../druid-basic-security/index.html                |    4 +-
 .../extensions-core/druid-kerberos/index.html      |    4 +-
 .../extensions-core/druid-lookups/index.html       |    4 +-
 .../extensions-core/druid-pac4j/index.html         |    4 +-
 .../extensions-core/examples/index.html            |    4 +-
 .../development/extensions-core/google/index.html  |    4 +-
 .../development/extensions-core/hdfs/index.html    |    4 +-
 .../extensions-core/k8s-jobs/index.html            |   10 +-
 .../extensions-core/kubernetes/index.html          |    4 +-
 .../development/extensions-core/mysql/index.html   |    4 +-
 .../development/extensions-core/orc/index.html     |    4 +-
 .../development/extensions-core/parquet/index.html |    4 +-
 .../extensions-core/postgresql/index.html          |    4 +-
 .../extensions-core/protobuf/index.html            |    4 +-
 .../development/extensions-core/s3/index.html      |    4 +-
 .../simple-client-sslcontext/index.html            |    4 +-
 .../development/extensions-core/stats/index.html   |    4 +-
 .../extensions-core/test-stats/index.html          |    4 +-
 docs/latest/development/javascript/index.html      |    6 +-
 docs/latest/development/modules/index.html         |    4 +-
 docs/latest/development/overview/index.html        |    4 +-
 docs/latest/development/versioning/index.html      |    4 +-
 .../ingestion/concurrent-append-replace/index.html |    4 +-
 docs/latest/ingestion/data-formats/index.html      |    4 +-
 docs/latest/ingestion/faq/index.html               |    4 +-
 docs/latest/ingestion/hadoop/index.html            |    6 +-
 docs/latest/ingestion/index.html                   |    6 +-
 docs/latest/ingestion/ingestion-spec/index.html    |    4 +-
 docs/latest/ingestion/input-sources/index.html     |    4 +-
 docs/latest/ingestion/kafka-ingestion/index.html   |   12 +-
 docs/latest/ingestion/kinesis-ingestion/index.html |    4 +-
 .../ingestion/native-batch-firehose/index.html     |    4 +-
 .../ingestion/native-batch-simple-task/index.html  |    4 +-
 docs/latest/ingestion/native-batch/index.html      |    4 +-
 docs/latest/ingestion/partitioning/index.html      |   10 +-
 docs/latest/ingestion/rollup/index.html            |   10 +-
 docs/latest/ingestion/schema-design/index.html     |    4 +-
 docs/latest/ingestion/schema-model/index.html      |    4 +-
 .../ingestion/standalone-realtime/index.html       |    4 +-
 docs/latest/ingestion/streaming/index.html         |    4 +-
 docs/latest/ingestion/supervisor/index.html        |   22 +-
 docs/latest/ingestion/tasks/index.html             |    6 +-
 docs/latest/ingestion/tranquility/index.html       |    4 +-
 docs/latest/misc/papers-and-talks/index.html       |    4 +-
 docs/latest/multi-stage-query/concepts/index.html  |    8 +-
 docs/latest/multi-stage-query/examples/index.html  |    6 +-
 docs/latest/multi-stage-query/index.html           |    6 +-
 .../multi-stage-query/known-issues/index.html      |    8 +-
 docs/latest/multi-stage-query/reference/index.html |   39 +-
 docs/latest/multi-stage-query/security/index.html  |    4 +-
 docs/latest/operations/alerts/index.html           |    4 +-
 docs/latest/operations/auth-ldap/index.html        |    4 +-
 docs/latest/operations/auth/index.html             |    4 +-
 .../operations/basic-cluster-tuning/index.html     |   10 +-
 .../operations/clean-metadata-store/index.html     |   17 +-
 .../operations/deep-storage-migration/index.html   |    4 +-
 docs/latest/operations/dump-segment/index.html     |    4 +-
 docs/latest/operations/durable-storage/index.html  |    4 +-
 .../operations/dynamic-config-provider/index.html  |    4 +-
 docs/latest/operations/export-metadata/index.html  |    4 +-
 .../latest/operations/high-availability/index.html |    4 +-
 docs/latest/operations/http-compression/index.html |    4 +-
 .../operations/insert-segment-to-db/index.html     |    4 +-
 docs/latest/operations/java/index.html             |    4 +-
 docs/latest/operations/kubernetes/index.html       |    4 +-
 .../operations/metadata-migration/index.html       |    4 +-
 docs/latest/operations/metrics/index.html          |   29 +-
 .../operations/migrate-from-firehose/index.html    |    4 +-
 docs/latest/operations/mixed-workloads/index.html  |    4 +-
 docs/latest/operations/other-hadoop/index.html     |    4 +-
 .../latest/operations/password-provider/index.html |    4 +-
 docs/latest/operations/pull-deps/index.html        |   16 +-
 docs/latest/operations/request-logging/index.html  |    4 +-
 docs/latest/operations/reset-cluster/index.html    |    4 +-
 docs/latest/operations/rolling-updates/index.html  |    4 +-
 .../operations/rule-configuration/index.html       |    4 +-
 .../latest/operations/security-overview/index.html |    4 +-
 .../operations/security-user-auth/index.html       |   10 +-
 .../operations/segment-optimization/index.html     |    4 +-
 docs/latest/operations/single-server/index.html    |    4 +-
 docs/latest/operations/tls-support/index.html      |    4 +-
 .../operations/use_sbt_to_build_fat_jar/index.html |    4 +-
 docs/latest/operations/web-console/index.html      |    4 +-
 docs/latest/querying/aggregations/index.html       |    4 +-
 docs/latest/querying/arrays/index.html             |    4 +-
 docs/latest/querying/caching/index.html            |    4 +-
 docs/latest/querying/datasource/index.html         |    4 +-
 .../querying/datasourcemetadataquery/index.html    |    4 +-
 docs/latest/querying/dimensionspecs/index.html     |    4 +-
 docs/latest/querying/filters/index.html            |    4 +-
 docs/latest/querying/geo/index.html                |    4 +-
 docs/latest/querying/granularities/index.html      |    4 +-
 docs/latest/querying/groupbyquery/index.html       |    8 +-
 docs/latest/querying/having/index.html             |    4 +-
 docs/latest/querying/hll-old/index.html            |    4 +-
 docs/latest/querying/index.html                    |    4 +-
 docs/latest/querying/joins/index.html              |    4 +-
 .../querying/kafka-extraction-namespace/index.html |    4 +-
 docs/latest/querying/limitspec/index.html          |    4 +-
 .../querying/lookups-cached-global/index.html      |    4 +-
 docs/latest/querying/lookups/index.html            |    4 +-
 docs/latest/querying/math-expr/index.html          |    4 +-
 .../querying/multi-value-dimensions/index.html     |    4 +-
 docs/latest/querying/multitenancy/index.html       |    4 +-
 docs/latest/querying/nested-columns/index.html     |   14 +-
 docs/latest/querying/post-aggregations/index.html  |    4 +-
 docs/latest/querying/query-context/index.html      |    6 +-
 docs/latest/querying/query-deep-storage/index.html |    8 +-
 docs/latest/querying/query-execution/index.html    |    4 +-
 docs/latest/querying/query-processing/index.html   |    4 +-
 docs/latest/querying/scan-query/index.html         |    4 +-
 docs/latest/querying/searchquery/index.html        |    4 +-
 .../querying/segmentmetadataquery/index.html       |   15 +-
 docs/latest/querying/select-query/index.html       |    4 +-
 docs/latest/querying/sorting-orders/index.html     |    4 +-
 docs/latest/querying/sql-aggregations/index.html   |    6 +-
 .../latest/querying/sql-array-functions/index.html |    4 +-
 docs/latest/querying/sql-data-types/index.html     |    4 +-
 docs/latest/querying/sql-functions/index.html      |   15 +-
 docs/latest/querying/sql-json-functions/index.html |    6 +-
 .../latest/querying/sql-metadata-tables/index.html |    6 +-
 .../sql-multivalue-string-functions/index.html     |    4 +-
 docs/latest/querying/sql-operators/index.html      |    4 +-
 docs/latest/querying/sql-query-context/index.html  |   25 +-
 docs/latest/querying/sql-scalar/index.html         |    4 +-
 docs/latest/querying/sql-translation/index.html    |    9 +-
 .../querying/sql-window-functions/index.html       |    4 +-
 docs/latest/querying/sql/index.html                |   15 +-
 docs/latest/querying/timeboundaryquery/index.html  |    4 +-
 docs/latest/querying/timeseriesquery/index.html    |    4 +-
 docs/latest/querying/tips-good-queries/index.html  |    4 +-
 docs/latest/querying/topnmetricspec/index.html     |    4 +-
 docs/latest/querying/topnquery/index.html          |    4 +-
 docs/latest/querying/troubleshooting/index.html    |    4 +-
 docs/latest/querying/using-caching/index.html      |    5 +-
 docs/latest/querying/virtual-columns/index.html    |    4 +-
 .../release-info/migr-ansi-sql-null/index.html     |    4 +-
 .../release-info/migr-front-coded-dict/index.html  |    4 +-
 docs/latest/release-info/migr-mvd-array/index.html |    4 +-
 .../release-info/migr-subquery-limit/index.html    |    6 +-
 .../latest/release-info/migration-guide/index.html |    4 +-
 docs/latest/release-info/release-notes/index.html  |    8 +-
 docs/latest/release-info/upgrade-notes/index.html  |    4 +-
 docs/latest/tutorials/cluster/index.html           |   12 +-
 docs/latest/tutorials/docker/index.html            |   12 +-
 docs/latest/tutorials/index.html                   |   18 +-
 .../tutorials/tutorial-append-data/index.html      |    4 +-
 .../tutorials/tutorial-batch-hadoop/index.html     |    6 +-
 .../tutorials/tutorial-batch-native/index.html     |    4 +-
 docs/latest/tutorials/tutorial-batch/index.html    |    6 +-
 .../tutorials/tutorial-compaction/index.html       |    4 +-
 .../tutorials/tutorial-delete-data/index.html      |    4 +-
 docs/latest/tutorials/tutorial-extern/index.html   |    4 +-
 .../tutorials/tutorial-ingestion-spec/index.html   |    6 +-
 docs/latest/tutorials/tutorial-jdbc/index.html     |    4 +-
 docs/latest/tutorials/tutorial-kafka/index.html    |    4 +-
 .../tutorials/tutorial-kerberos-hadoop/index.html  |    4 +-
 .../latest/tutorials/tutorial-latest-by/index.html |    4 +-
 .../tutorials/tutorial-msq-convert-spec/index.html |    4 +-
 .../tutorials/tutorial-msq-extern/index.html       |    4 +-
 .../tutorial-query-deep-storage/index.html         |   14 +-
 docs/latest/tutorials/tutorial-query/index.html    |    4 +-
 .../latest/tutorials/tutorial-retention/index.html |    4 +-
 docs/latest/tutorials/tutorial-rollup/index.html   |    4 +-
 .../tutorials/tutorial-sketches-theta/index.html   |    4 +-
 docs/latest/tutorials/tutorial-sql-null/index.html |    4 +-
 .../tutorials/tutorial-sql-query-view/index.html   |    4 +-
 .../latest/tutorials/tutorial-transform/index.html |    4 +-
 .../tutorials/tutorial-unnest-arrays/index.html    |    4 +-
 .../tutorials/tutorial-update-data/index.html      |    4 +-
 downloads/index.html                               |    6 +-
 druid-powered/index.html                           |    4 +-
 faq/index.html                                     |    4 +-
 index.html                                         |    6 +-
 js/version.js                                      |    2 +-
 libraries/index.html                               |    6 +-
 licensing/index.html                               |    4 +-
 lunr-index-1753739555546.json                      |    1 -
 lunr-index-1753739587376.json                      |    1 -
 lunr-index.json                                    |    2 +-
 search-doc-1753739555546.json                      |    1 -
 search-doc-1753739587376.json                      |    1 -
 search-doc.json                                    |    2 +-
 technology/index.html                              |    4 +-
 use-cases/index.html                               |    4 +-
 1268 files changed, 873 insertions(+), 30404 deletions(-)

diff --git a/404.html b/404.html
index a453d29fc..49669c400 100644
--- a/404.html
+++ b/404.html
@@ -5,8 +5,8 @@
 <meta name="generator" content="Docusaurus v3.7.0">
 <title data-rh="true">Page Not Found | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/404.html"><meta d [...]
 <script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.ee6fe393.js" defer="defer"></script>
-<script src="/assets/js/main.4054a563.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.8b66d127.js" defer="defer"></script>
+<script src="/assets/js/main.e6692f9d.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
diff --git a/assets/js/007c9cc1.08325bfa.js b/assets/js/007c9cc1.08325bfa.js
deleted file mode 100644
index 93567a302..000000000
--- a/assets/js/007c9cc1.08325bfa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5489],{28453:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>a});var i=n(96540);const r={},o=i.createContext(r);function t(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),i.createElement(o.Provider,{value:s},e.children)}},78665:(e,s,n)=>{n.r(s),n.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/01019b7b.5bd61528.js b/assets/js/01019b7b.5bd61528.js
deleted file mode 100644
index e9d634dcb..000000000
--- a/assets/js/01019b7b.5bd61528.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7357],{9326:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>t,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"tutorials/cluster","title":"Clustered deployment","description":"\x3c!--","source":"@site/docs/latest/tutorials/cluster.md","sourceDirName":"tutorials","slug":"/tutorials/cluster","permalink":"/docs/latest/tutorials/cluster","draft":false,"unlisted":false,"tags":[],"version": [...]
\ No newline at end of file
diff --git a/assets/js/017db198.7060e31e.js b/assets/js/017db198.7060e31e.js
deleted file mode 100644
index 887fa183f..000000000
--- a/assets/js/017db198.7060e31e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[187],{28453:(e,o,t)=>{t.d(o,{R:()=>i,x:()=>d});var s=t(96540);const n={},r=s.createContext(n);function i(e){const o=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function d(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(r.Provider,{value:o},e.children)}},43576:(e,o,t)=>{t.r(o),t.d(o,{ass [...]
\ No newline at end of file
diff --git a/assets/js/03264490.2e16ba05.js b/assets/js/03264490.2e16ba05.js
deleted file mode 100644
index 0135f7122..000000000
--- a/assets/js/03264490.2e16ba05.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1887],{21314:(e,r,n)=>{n.d(r,{A:()=>t});const t=n.p+"assets/images/tutorial-query-deepstorage-retention-rule-ed99c67c161810ee03d3301b530d0ede.png"},28453:(e,r,n)=>{n.d(r,{R:()=>a,x:()=>i});var t=n(96540);const s={},o=t.createContext(s);function a(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.c [...]
\ No newline at end of file
diff --git a/assets/js/0508fa3f.d73c76e2.js b/assets/js/0508fa3f.d73c76e2.js
deleted file mode 100644
index e7a76853b..000000000
--- a/assets/js/0508fa3f.d73c76e2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7558],{28453:(e,s,n)=>{n.d(s,{R:()=>d,x:()=>o});var i=n(96540);const r={},t=i.createContext(r);function d(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(t.Provider,{value:s},e.children)}},71889:(e,s,n)=>{n.r(s),n.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/059f804d.65e894e6.js b/assets/js/059f804d.65e894e6.js
deleted file mode 100644
index 72d70da19..000000000
--- a/assets/js/059f804d.65e894e6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4459],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>d});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},97441:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/05bce26a.25f2e79d.js b/assets/js/05bce26a.25f2e79d.js
deleted file mode 100644
index 183f5f1f1..000000000
--- a/assets/js/05bce26a.25f2e79d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8985],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var i=t(96540);const s={},d=i.createContext(s);function r(e){const n=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(d.Provider,{value:n},e.children)}},49393:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/06350a84.12469859.js b/assets/js/06350a84.12469859.js
deleted file mode 100644
index 2483e45a0..000000000
--- a/assets/js/06350a84.12469859.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6376],{2117:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/tutorial-theta-08-8d2ab89aef3d1661329ad060467e2f9b.png"},3353:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/tutorial-theta-04-7c498583c84f25374a035507a41592da.png"},6448:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/tutorial-theta-05-210059e731382527a704510b94d370d4.png"},10278:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/tutorial-theta- [...]
\ No newline at end of file
diff --git a/assets/js/06b436cb.0b83f720.js b/assets/js/06b436cb.0b83f720.js
deleted file mode 100644
index f382ed823..000000000
--- a/assets/js/06b436cb.0b83f720.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7935],{28453:(e,n,i)=>{i.d(n,{R:()=>d,x:()=>a});var s=i(96540);const t={},r=s.createContext(t);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(r.Provider,{value:n},e.children)}},61401:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/095bc5da.61c97254.js b/assets/js/095bc5da.61c97254.js
deleted file mode 100644
index e7f494742..000000000
--- a/assets/js/095bc5da.61c97254.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6818],{21314:(e,t,r)=>{r.d(t,{A:()=>s});const s=r.p+"assets/images/tutorial-query-deepstorage-retention-rule-ed99c67c161810ee03d3301b530d0ede.png"},28453:(e,t,r)=>{r.d(t,{R:()=>a,x:()=>i});var s=r(96540);const n={},o=s.createContext(n);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.c [...]
\ No newline at end of file
diff --git a/assets/js/09859f8b.746f5a2f.js b/assets/js/09859f8b.746f5a2f.js
deleted file mode 100644
index 315d99858..000000000
--- a/assets/js/09859f8b.746f5a2f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5028],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>o});var n=r(96540);const i={},d=n.createContext(i);function s(e){const t=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(d.Provider,{value:t},e.children)}},61807:(e,t,r)=>{r.r(t),r.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/0c7e2db6.c0e5eb88.js b/assets/js/0c7e2db6.c0e5eb88.js
deleted file mode 100644
index fadaccae1..000000000
--- a/assets/js/0c7e2db6.c0e5eb88.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9478],{8178:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"design/coordinator","title":"Coordinator service","description":"\x3c!--","source":"@site/docs/34.0.0/design/coordinator.md","sourceDirName":"design","slug":"/design/coordinator","permalink":"/docs/34.0.0/design/coordinator","draft":false,"unlisted":false,"tags":[],"version": [...]
\ No newline at end of file
diff --git a/assets/js/0c83841d.0c1c944d.js b/assets/js/0c83841d.0c1c944d.js
deleted file mode 100644
index ac1b5f969..000000000
--- a/assets/js/0c83841d.0c1c944d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1724],{28453:(e,s,n)=>{n.d(s,{R:()=>o,x:()=>a});var t=n(96540);const i={},r=t.createContext(i);function o(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:s},e.children)}},79978:(e,s,n)=>{n.r(s),n.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/0e14e28a.909fc480.js b/assets/js/0e14e28a.909fc480.js
deleted file mode 100644
index 8d568ca94..000000000
--- a/assets/js/0e14e28a.909fc480.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1449],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var i=n(96540);const d={},s=i.createContext(d);function r(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),i.createElement(s.Provider,{value:t},e.children)}},68936:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/0eaa425e.1c7c75ac.js b/assets/js/0eaa425e.1c7c75ac.js
deleted file mode 100644
index f56bbeddc..000000000
--- a/assets/js/0eaa425e.1c7c75ac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3068],{14235:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"comparisons/druid-vs-elasticsearch","title":"Apache Druid vs Elasticsearch","description":"\x3c!--","source":"@site/docs/34.0.0/comparisons/druid-vs-elasticsearch.md","sourceDirName":"comparisons","slug":"/comparisons/druid-vs-elasticsearch","permalink":"/docs/34.0.0/compari [...]
\ No newline at end of file
diff --git a/assets/js/0f5aeb5e.51d4977e.js b/assets/js/0f5aeb5e.51d4977e.js
deleted file mode 100644
index c33b85c79..000000000
--- a/assets/js/0f5aeb5e.51d4977e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7848],{17931:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"ingestion/kinesis-ingestion","title":"Amazon Kinesis ingestion","description":"\x3c!--","source":"@site/docs/34.0.0/ingestion/kinesis-ingestion.md","sourceDirName":"ingestion","slug":"/ingestion/kinesis-ingestion","permalink":"/docs/34.0.0/ingestion/kinesis-ingestion","draft [...]
\ No newline at end of file
diff --git a/assets/js/1043c8d0.4011f69e.js b/assets/js/1043c8d0.4011f69e.js
deleted file mode 100644
index 03251c1fc..000000000
--- a/assets/js/1043c8d0.4011f69e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7746],{24720:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"querying/sql","title":"Druid SQL overview","description":"\x3c!--","source":"@site/docs/34.0.0/querying/sql.md","sourceDirName":"querying","slug":"/querying/sql","permalink":"/docs/34.0.0/querying/sql","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter [...]
\ No newline at end of file
diff --git a/assets/js/1077f66a.acd55762.js b/assets/js/1077f66a.acd55762.js
deleted file mode 100644
index e2040f6c4..000000000
--- a/assets/js/1077f66a.acd55762.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2137],{9696:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"development/extensions-core/approximate-histograms","title":"Approximate Histogram aggregators","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-core/approximate-histograms.md","sourceDirName":"development/extensions-core","slug":"/development/extens [...]
\ No newline at end of file
diff --git a/assets/js/10ae3a7d.ee055f65.js b/assets/js/10ae3a7d.ee055f65.js
deleted file mode 100644
index e11db9ff4..000000000
--- a/assets/js/10ae3a7d.ee055f65.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8435],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var i=t(96540);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:n},e.children)}},64521:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/11225d6d.c70cbb3d.js b/assets/js/11225d6d.c70cbb3d.js
deleted file mode 100644
index d5e96a79a..000000000
--- a/assets/js/11225d6d.c70cbb3d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3540],{28453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>c});var n=s(96540);const r={},d=n.createContext(r);function i(e){const t=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(d.Provider,{value:t},e.children)}},82210:(e,t,s)=>{s.r(t),s.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/1217b0ed.28ca92eb.js b/assets/js/1217b0ed.28ca92eb.js
deleted file mode 100644
index 39de7200f..000000000
--- a/assets/js/1217b0ed.28ca92eb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8867],{18915:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>o,frontMatter:()=>d,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"configuration/human-readable-byte","title":"Human-readable Byte Configuration Reference","description":"\x3c!--","source":"@site/docs/34.0.0/configuration/human-readable-byte.md","sourceDirName":"configuration","slug":"/configuration/human-readable-byte","permalink":"/docs/3 [...]
\ No newline at end of file
diff --git a/assets/js/137f9c06.8d58d136.js b/assets/js/137f9c06.8d58d136.js
deleted file mode 100644
index b4b1f1bd4..000000000
--- a/assets/js/137f9c06.8d58d136.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7574],{28453:(e,r,n)=>{n.d(r,{R:()=>o,x:()=>d});var t=n(96540);const s={},i=t.createContext(s);function o(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(i.Provider,{value:r},e.children)}},92507:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/13ec796f.540a6d68.js b/assets/js/13ec796f.540a6d68.js
deleted file mode 100644
index ae68aa5e7..000000000
--- a/assets/js/13ec796f.540a6d68.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3371],{28453:(e,r,t)=>{t.d(r,{R:()=>d,x:()=>o});var i=t(96540);const s={},n=i.createContext(s);function d(e){const r=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),i.createElement(n.Provider,{value:r},e.children)}},40893:(e,r,t)=>{t.r(r),t.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/147fd7c7.533b693d.js b/assets/js/147fd7c7.533b693d.js
deleted file mode 100644
index 1074d9c0c..000000000
--- a/assets/js/147fd7c7.533b693d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6502],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var a=n(96540);const i={},s=a.createContext(i);function r(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),a.createElement(s.Provider,{value:t},e.children)}},61889:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/15db6988.1d5f9abe.js b/assets/js/15db6988.1d5f9abe.js
deleted file mode 100644
index 14b8951bd..000000000
--- a/assets/js/15db6988.1d5f9abe.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2136],{28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>d});var s=n(96540);const r={},i=s.createContext(r);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(i.Provider,{value:t},e.children)}},33305:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/169d687d.f09187e2.js b/assets/js/169d687d.f09187e2.js
deleted file mode 100644
index fa05056c4..000000000
--- a/assets/js/169d687d.f09187e2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1090],{28453:(e,n,r)=>{r.d(n,{R:()=>l,x:()=>t});var a=r(96540);const i={},s=a.createContext(i);function l(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),a.createElement(s.Provider,{value:n},e.children)}},32306:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/16a272ef.39720849.js b/assets/js/16a272ef.39720849.js
deleted file mode 100644
index b4e2246b7..000000000
--- a/assets/js/16a272ef.39720849.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6109],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>a});var s=i(96540);const t={},o=s.createContext(t);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(o.Provider,{value:n},e.children)}},80101:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/1732408b.e528c88c.js b/assets/js/1732408b.e528c88c.js
deleted file mode 100644
index 94a11ece9..000000000
--- a/assets/js/1732408b.e528c88c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6290],{10941:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"operations/reset-cluster","title":"reset-cluster tool","description":"\x3c!--","source":"@site/docs/34.0.0/operations/reset-cluster.md","sourceDirName":"operations","slug":"/operations/reset-cluster","permalink":"/docs/34.0.0/operations/reset-cluster","draft":false,"unlisted [...]
\ No newline at end of file
diff --git a/assets/js/176670b5.f4f11078.js b/assets/js/176670b5.f4f11078.js
deleted file mode 100644
index 285d4405d..000000000
--- a/assets/js/176670b5.f4f11078.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3177],{18332:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"development/experimental","title":"Experimental features","description":"\x3c!--","source":"@site/docs/34.0.0/development/experimental.md","sourceDirName":"development","slug":"/development/experimental","permalink":"/docs/34.0.0/development/experimental","draft":false,"unli [...]
\ No newline at end of file
diff --git a/assets/js/176d2acf.6d16a9b6.js b/assets/js/176d2acf.6d16a9b6.js
deleted file mode 100644
index 28f1e9234..000000000
--- a/assets/js/176d2acf.6d16a9b6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2609],{28453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>c});var s=n(96540);const t={},i=s.createContext(t);function d(e){const r=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(i.Provider,{value:r},e.children)}},59666:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/17ef25d0.2151feae.js b/assets/js/17ef25d0.2151feae.js
deleted file mode 100644
index 2681ca114..000000000
--- a/assets/js/17ef25d0.2151feae.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9981],{28453:(e,n,l)=>{l.d(n,{R:()=>s,x:()=>a});var r=l(96540);const i={},t=r.createContext(i);function s(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(t.Provider,{value:n},e.children)}},65537:(e,n,l)=>{l.d(n,{A:()=>_}) [...]
\ No newline at end of file
diff --git a/assets/js/187e2f08.50cf9a1d.js b/assets/js/187e2f08.50cf9a1d.js
deleted file mode 100644
index 4bb965a3e..000000000
--- a/assets/js/187e2f08.50cf9a1d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8164],{28453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>c});var n=s(96540);const a={},r=n.createContext(a);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(r.Provider,{value:t},e.children)}},70485:(e,t,s)=>{s.r(t),s.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/1981460b.af051e5b.js b/assets/js/1981460b.af051e5b.js
deleted file mode 100644
index ed8fa5467..000000000
--- a/assets/js/1981460b.af051e5b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3804],{28453:(e,o,n)=>{n.d(o,{R:()=>i,x:()=>r});var s=n(96540);const t={},d=s.createContext(t);function i(e){const o=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(d.Provider,{value:o},e.children)}},80862:(e,o,n)=>{n.r(o),n.d(o,{as [...]
\ No newline at end of file
diff --git a/assets/js/1a1ed744.a92f0a22.js b/assets/js/1a1ed744.a92f0a22.js
deleted file mode 100644
index b1b6f0b30..000000000
--- a/assets/js/1a1ed744.a92f0a22.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7500],{16065:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"ingestion/tasks","title":"Task reference","description":"\x3c!--","source":"@site/docs/34.0.0/ingestion/tasks.md","sourceDirName":"ingestion","slug":"/ingestion/tasks","permalink":"/docs/34.0.0/ingestion/tasks","draft":false,"unlisted":false,"tags":[],"version":"current","fr [...]
\ No newline at end of file
diff --git a/assets/js/1c03fecd.faf1b50e.js b/assets/js/1c03fecd.faf1b50e.js
deleted file mode 100644
index 3110f7871..000000000
--- a/assets/js/1c03fecd.faf1b50e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[18],{28453:(e,r,i)=>{i.d(r,{R:()=>o,x:()=>u});var t=i(96540);const n={},s=t.createContext(n);function o(e){const r=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function u(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(s.Provider,{value:r},e.children)}},42511:(e,r,i)=>{i.r(r),i.d(r,{asse [...]
\ No newline at end of file
diff --git a/assets/js/1c16eb11.7247aea8.js b/assets/js/1c16eb11.7247aea8.js
deleted file mode 100644
index 28c4e31a4..000000000
--- a/assets/js/1c16eb11.7247aea8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[329],{4064:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"tutorials/tutorial-ingestion-spec","title":"Write an ingestion spec","description":"\x3c!--","source":"@site/docs/34.0.0/tutorials/tutorial-ingestion-spec.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-ingestion-spec","permalink":"/docs/34.0.0/tutorials/tutorial-i [...]
\ No newline at end of file
diff --git a/assets/js/1c6ec3f0.4ab0e01b.js b/assets/js/1c6ec3f0.4ab0e01b.js
deleted file mode 100644
index 52543c0de..000000000
--- a/assets/js/1c6ec3f0.4ab0e01b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9332],{28453:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>r});var n=i(96540);const s={},a=n.createContext(s);function o(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(a.Provider,{value:t},e.children)}},79798:(e,t,i)=>{i.r(t),i.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/1cef86e1.35186ce8.js b/assets/js/1cef86e1.35186ce8.js
deleted file mode 100644
index 8f2664583..000000000
--- a/assets/js/1cef86e1.35186ce8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[894],{10239:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/tutorial-theta-06-4b588f7737377421937ed369bfe9a94e.png"},22829:(e,t,s)=>{s.d(t,{A:()=>n});const n=s.p+"assets/images/tutorial-theta-04-7c498583c84f25374a035507a41592da.png"},25820:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>h,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"tutorials/tutorial-sketches-theta","title" [...]
\ No newline at end of file
diff --git a/assets/js/1d108719.6e38bf6a.js b/assets/js/1d108719.6e38bf6a.js
deleted file mode 100644
index 98fe920ef..000000000
--- a/assets/js/1d108719.6e38bf6a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5177],{21007:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>s,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"operations/mixed-workloads","title":"Configure Druid for mixed workloads","description":"\x3c!--","source":"@site/docs/34.0.0/operations/mixed-workloads.md","sourceDirName":"operations","slug":"/operations/mixed-workloads","permalink":"/docs/34.0.0/operations/mixed-workloads [...]
\ No newline at end of file
diff --git a/assets/js/1de958e0.1f698ef1.js b/assets/js/1de958e0.1f698ef1.js
deleted file mode 100644
index 4c73eed96..000000000
--- a/assets/js/1de958e0.1f698ef1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2686],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var i=t(96540);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:n},e.children)}},67346:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/1e49463c.b551d0b0.js b/assets/js/1e49463c.b551d0b0.js
deleted file mode 100644
index fa01e5f11..000000000
--- a/assets/js/1e49463c.b551d0b0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[856],{18529:(e,n,d)=>{d.r(n),d.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>a,frontMatter:()=>c,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"development/extensions-contrib/redis-cache","title":"Druid Redis Cache","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-contrib/redis-cache.md","sourceDirName":"development/extensions-contrib","slug":"/development/extensions-contrib/redis-cache","pe [...]
\ No newline at end of file
diff --git a/assets/js/1f309abf.13521058.js b/assets/js/1f309abf.13521058.js
deleted file mode 100644
index 4935ce7eb..000000000
--- a/assets/js/1f309abf.13521058.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6137],{28453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>l});var r=s(96540);const a={},t=r.createContext(a);function i(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(t.Provider,{value:n},e.children)}},33672:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2078bf5c.c04031e6.js b/assets/js/2078bf5c.c04031e6.js
deleted file mode 100644
index d04b75993..000000000
--- a/assets/js/2078bf5c.c04031e6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8860],{14634:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>o,frontMatter:()=>h,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"type":"mdx","permalink":"/community/","source":"@site/src/pages/community/index.mdx","title":"Apache Druid Community","description":"Community","frontMatter":{"title":"Apache Druid Community","sectionid":"community","layout":"simple_page","canonical":"https://druid.apache.org/com [...]
\ No newline at end of file
diff --git a/assets/js/2084eaa5.fdbeb720.js b/assets/js/2084eaa5.fdbeb720.js
deleted file mode 100644
index dde257f51..000000000
--- a/assets/js/2084eaa5.fdbeb720.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3557],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var i=t(96540);const r={},a=i.createContext(r);function s(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(a.Provider,{value:n},e.children)}},67608:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2204e9df.c17575ee.js b/assets/js/2204e9df.c17575ee.js
deleted file mode 100644
index beda64cbe..000000000
--- a/assets/js/2204e9df.c17575ee.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3327],{4256:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"ingestion/kafka-ingestion","title":"Apache Kafka ingestion","description":"Overview of the Kafka indexing service for Druid. Includes example supervisor specs to help you get started.","source":"@site/docs/34.0.0/ingestion/kafka-ingestion.md","sourceDirName":"ingestion","slug [...]
\ No newline at end of file
diff --git a/assets/js/22344833.cd9e43d3.js b/assets/js/22344833.cd9e43d3.js
deleted file mode 100644
index 4749e369a..000000000
--- a/assets/js/22344833.cd9e43d3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[708],{28453:(e,n,r)=>{r.d(n,{R:()=>d,x:()=>o});var t=r(96540);const s={},i=t.createContext(s);function d(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(i.Provider,{value:n},e.children)}},39667:(e,n,r)=>{r.r(n),r.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/233bb120.f8bda5f3.js b/assets/js/233bb120.f8bda5f3.js
deleted file mode 100644
index 437a23d67..000000000
--- a/assets/js/233bb120.f8bda5f3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9548],{28453:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>a});var s=r(96540);const t={},i=s.createContext(t);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(i.Provider,{value:n},e.children)}},94572:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2507c9e7.c644e57e.js b/assets/js/2507c9e7.c644e57e.js
deleted file mode 100644
index 3602df89a..000000000
--- a/assets/js/2507c9e7.c644e57e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5459],{28453:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>l});var i=s(96540);const r={},t=i.createContext(r);function a(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(t.Provider,{value:n},e.children)}},39844:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/25878e6f.dd21cea2.js b/assets/js/25878e6f.dd21cea2.js
deleted file mode 100644
index 5c071194f..000000000
--- a/assets/js/25878e6f.dd21cea2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7342],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>r});var a=t(96540);const i={},o=a.createContext(i);function s(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(o.Provider,{value:n},e.children)}},36939:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/26451b19.1e3b41f7.js b/assets/js/26451b19.1e3b41f7.js
deleted file mode 100644
index d879e22d4..000000000
--- a/assets/js/26451b19.1e3b41f7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2589],{26070:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>n,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"operations/durable-storage","title":"Durable storage for the multi-stage query engine","description":"\x3c!--","source":"@site/docs/34.0.0/operations/durable-storage.md","sourceDirName":"operations","slug":"/operations/durable-storage","permalink":"/docs/34.0.0/operations/du [...]
\ No newline at end of file
diff --git a/assets/js/2677d7b8.8807fe76.js b/assets/js/2677d7b8.8807fe76.js
deleted file mode 100644
index b2bfa5a8e..000000000
--- a/assets/js/2677d7b8.8807fe76.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2800],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var i=t(96540);const r={},a=i.createContext(r);function s(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(a.Provider,{value:n},e.children)}},62846:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/269898f6.78ceaf91.js b/assets/js/269898f6.78ceaf91.js
deleted file mode 100644
index a17e74886..000000000
--- a/assets/js/269898f6.78ceaf91.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1483],{28453:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>o});var t=s(96540);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}},61043:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/26bbad45.bead206f.js b/assets/js/26bbad45.bead206f.js
deleted file mode 100644
index 74390da0f..000000000
--- a/assets/js/26bbad45.bead206f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5853],{28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>c});var t=s(96540);const a={},o=t.createContext(a);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(o.Provider,{value:n},e.children)}},85356:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/274a38ba.7b42d78d.js b/assets/js/274a38ba.7b42d78d.js
deleted file mode 100644
index 46f2d01b5..000000000
--- a/assets/js/274a38ba.7b42d78d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6301],{13656:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"ingestion/index","title":"Ingestion overview","description":"\x3c!--","source":"@site/docs/latest/ingestion/index.md","sourceDirName":"ingestion","slug":"/ingestion/","permalink":"/docs/latest/ingestion/","draft":false,"unlisted":false,"tags":[],"version":"current","frontMat [...]
\ No newline at end of file
diff --git a/assets/js/277003a8.92f05df7.js b/assets/js/277003a8.92f05df7.js
deleted file mode 100644
index 995d8ecce..000000000
--- a/assets/js/277003a8.92f05df7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7227],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>l});var a=n(96540);const s={},i=a.createContext(s);function r(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),a.createElement(i.Provider,{value:t},e.children)}},93858:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/28552fab.3c11ed80.js b/assets/js/28552fab.3c11ed80.js
deleted file mode 100644
index 3801b3dba..000000000
--- a/assets/js/28552fab.3c11ed80.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5374],{28453:(e,n,o)=>{o.d(n,{R:()=>c,x:()=>r});var t=o(96540);const s={},i=t.createContext(s);function c(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(i.Provider,{value:n},e.children)}},57449:(e,n,o)=>{o.r(n),o.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/28f13cba.6e17691d.js b/assets/js/28f13cba.6e17691d.js
deleted file mode 100644
index 8194d62ae..000000000
--- a/assets/js/28f13cba.6e17691d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6203],{12469:(e,r,i)=>{i.d(r,{A:()=>s});const s=i.p+"assets/images/native-queries-01-9fe30809e74a2183b369dbe491f2d998.png"},28453:(e,r,i)=>{i.d(r,{R:()=>o,x:()=>a});var s=i(96540);const n={},t=s.createContext(n);function o(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n [...]
\ No newline at end of file
diff --git a/assets/js/29d09905.aaa80a6e.js b/assets/js/29d09905.aaa80a6e.js
deleted file mode 100644
index b00a045d7..000000000
--- a/assets/js/29d09905.aaa80a6e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2879],{28453:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>o});var i=s(96540);const t={},r=i.createContext(t);function d(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),i.createElement(r.Provider,{value:n},e.children)}},57735:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2a1d07c8.e44ddde8.js b/assets/js/2a1d07c8.e44ddde8.js
deleted file mode 100644
index 9688e226e..000000000
--- a/assets/js/2a1d07c8.e44ddde8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3941],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>o});var t=i(96540);const a={},s=t.createContext(a);function r(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(s.Provider,{value:n},e.children)}},40084:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2afea6d7.7c82d401.js b/assets/js/2afea6d7.7c82d401.js
deleted file mode 100644
index 4968f1615..000000000
--- a/assets/js/2afea6d7.7c82d401.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7885],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var o=t(96540);const s={},i=o.createContext(s);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}},30787:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2c02c0ba.b773ff3c.js b/assets/js/2c02c0ba.b773ff3c.js
deleted file mode 100644
index 15828edcb..000000000
--- a/assets/js/2c02c0ba.b773ff3c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[398],{28453:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>a});var i=r(96540);const s={},c=i.createContext(s);function t(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(c.Provider,{value:n},e.children)}},35853:(e,n,r)=>{r.r(n),r.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/2cdae230.ede37ddc.js b/assets/js/2cdae230.ede37ddc.js
deleted file mode 100644
index 6c2bfd6c2..000000000
--- a/assets/js/2cdae230.ede37ddc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1195],{28453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var s=t(96540);const r={},a=s.createContext(r);function i(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:n},e.children)}},86757:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2d37e253.50c89bdd.js b/assets/js/2d37e253.50c89bdd.js
deleted file mode 100644
index 0a3b9e532..000000000
--- a/assets/js/2d37e253.50c89bdd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3754],{28453:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>a});var i=r(96540);const o={},s=i.createContext(o);function t(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),i.createElement(s.Provider,{value:n},e.children)}},93020:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2de98abf.dfd1f0f9.js b/assets/js/2de98abf.dfd1f0f9.js
deleted file mode 100644
index 8b943e151..000000000
--- a/assets/js/2de98abf.dfd1f0f9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9122],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var s=n(96540);const a={},i=s.createContext(a);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(i.Provider,{value:t},e.children)}},85350:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/2fb1cd9b.f0e505cf.js b/assets/js/2fb1cd9b.f0e505cf.js
deleted file mode 100644
index b7e4f97d2..000000000
--- a/assets/js/2fb1cd9b.f0e505cf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7912],{7392:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"id":"development/extensions-contrib/delta-lake","title":"Delta Lake extension","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-contrib/delta-lake.md","sourceDirName":"development/extensions-contrib","slug":"/development/extensions-contrib/delta-lake","pe [...]
\ No newline at end of file
diff --git a/assets/js/2fbe7d8e.c7fe0ef1.js b/assets/js/2fbe7d8e.c7fe0ef1.js
deleted file mode 100644
index 2717a6c8d..000000000
--- a/assets/js/2fbe7d8e.c7fe0ef1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5392],{28453:(e,n,r)=>{r.d(n,{R:()=>l,x:()=>a});var s=r(96540);const i={},t=s.createContext(i);function l(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),s.createElement(t.Provider,{value:n},e.children)}},82279:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/2ff9ed30.1edc2c9a.js b/assets/js/2ff9ed30.1edc2c9a.js
deleted file mode 100644
index 3cc95aaee..000000000
--- a/assets/js/2ff9ed30.1edc2c9a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3322],{7669:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>r,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"development/extensions-contrib/influx","title":"InfluxDB Line Protocol Parser","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-contrib/influx.md","sourceDirName":"development/extensions-contrib","slug":"/development/extensions-contrib/influx","perma [...]
\ No newline at end of file
diff --git a/assets/js/32b3613c.23e0db0d.js b/assets/js/32b3613c.23e0db0d.js
deleted file mode 100644
index 29b6aad46..000000000
--- a/assets/js/32b3613c.23e0db0d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[964],{28453:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>d});var n=t(96540);const s={},i=n.createContext(s);function o(e){const r=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(i.Provider,{value:r},e.children)}},84795:(e,r,t)=>{t.r(r),t.d(r,{ass [...]
\ No newline at end of file
diff --git a/assets/js/32eda40b.97f020f9.js b/assets/js/32eda40b.97f020f9.js
deleted file mode 100644
index 4fedc7772..000000000
--- a/assets/js/32eda40b.97f020f9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3494],{13893:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"release-info/upgrade-notes","title":"Upgrade notes","description":"\x3c!--","source":"@site/docs/34.0.0/release-info/upgrade-notes.md","sourceDirName":"release-info","slug":"/release-info/upgrade-notes","permalink":"/docs/34.0.0/release-info/upgrade-notes","draft":false,"unl [...]
\ No newline at end of file
diff --git a/assets/js/32f6739f.2e685c5d.js b/assets/js/32f6739f.2e685c5d.js
deleted file mode 100644
index e88d99add..000000000
--- a/assets/js/32f6739f.2e685c5d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7443],{10954:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>d,default:()=>a,frontMatter:()=>c,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"querying/topnmetricspec","title":"Sorting (topN)","description":"\x3c!--","source":"@site/docs/34.0.0/querying/topnmetricspec.md","sourceDirName":"querying","slug":"/querying/topnmetricspec","permalink":"/docs/34.0.0/querying/topnmetricspec","draft":false,"unlisted":false,"t [...]
\ No newline at end of file
diff --git a/assets/js/33d88741.c87a9c1a.js b/assets/js/33d88741.c87a9c1a.js
deleted file mode 100644
index a9b88ee8b..000000000
--- a/assets/js/33d88741.c87a9c1a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4343],{6060:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tutorial-retention-03-4082b62d45d1ffdf102f31209ab141f2.png"},17685:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tutorial-retention-02-c388e3c07c39dc0f5ff33b78b68db565.png"},25521:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tutorial-retention-06-8c3d36ef058fbe029fe3ef423d2341de.png"},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>o});var i=n(96540);const [...]
\ No newline at end of file
diff --git a/assets/js/340e6f98.f2f3bf59.js b/assets/js/340e6f98.f2f3bf59.js
deleted file mode 100644
index fa225ba7f..000000000
--- a/assets/js/340e6f98.f2f3bf59.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7568],{8149:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>o,toc:()=>u});const o=JSON.parse('{"id":"tutorials/tutorial-jdbc","title":"Use the JDBC driver to query Druid","description":"\x3c!--","source":"@site/docs/34.0.0/tutorials/tutorial-jdbc.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-jdbc","permalink":"/docs/34.0.0/tutorials/tutorial-jdbc","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/34fe466c.c20d42e7.js b/assets/js/34fe466c.c20d42e7.js
deleted file mode 100644
index 7cc7f756b..000000000
--- a/assets/js/34fe466c.c20d42e7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[662],{28453:(e,n,o)=>{o.d(n,{R:()=>s,x:()=>l});var t=o(96540);const r={},i=t.createContext(r);function s(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(i.Provider,{value:n},e.children)}},89088:(e,n,o)=>{o.r(n),o.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/35888369.0f3a5885.js b/assets/js/35888369.0f3a5885.js
deleted file mode 100644
index 3d3d92dbc..000000000
--- a/assets/js/35888369.0f3a5885.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3991],{28453:(e,i,r)=>{r.d(i,{R:()=>s,x:()=>a});var o=r(96540);const t={},n=o.createContext(t);function s(e){const i=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),o.createElement(n.Provider,{value:i},e.children)}},60518:(e,i,r)=>{r.r(i),r.d(i,{as [...]
\ No newline at end of file
diff --git a/assets/js/358d9403.a718af6a.js b/assets/js/358d9403.a718af6a.js
deleted file mode 100644
index 630f1066b..000000000
--- a/assets/js/358d9403.a718af6a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8383],{28453:(e,r,s)=>{s.d(r,{R:()=>i,x:()=>d});var o=s(96540);const t={},n=o.createContext(t);function i(e){const r=o.useContext(n);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),o.createElement(n.Provider,{value:r},e.children)}},55936:(e,r,s)=>{s.r(r),s.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/35958f72.b0901241.js b/assets/js/35958f72.b0901241.js
deleted file mode 100644
index cb5d014cd..000000000
--- a/assets/js/35958f72.b0901241.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3716],{28453:(e,r,i)=>{i.d(r,{R:()=>s,x:()=>o});var t=i(96540);const d={},n=t.createContext(d);function s(e){const r=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:s(e.components),t.createElement(n.Provider,{value:r},e.children)}},99752:(e,r,i)=>{i.r(r),i.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/35e92b1c.806fad5f.js b/assets/js/35e92b1c.806fad5f.js
deleted file mode 100644
index f70b8bae4..000000000
--- a/assets/js/35e92b1c.806fad5f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1701],{9329:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"development/overview","title":"Developing on Apache Druid","description":"\x3c!--","source":"@site/docs/34.0.0/development/overview.md","sourceDirName":"development","slug":"/development/overview","permalink":"/docs/34.0.0/development/overview","draft":false,"unlisted":false, [...]
\ No newline at end of file
diff --git a/assets/js/36141a74.18c093fb.js b/assets/js/36141a74.18c093fb.js
deleted file mode 100644
index 535aff2c2..000000000
--- a/assets/js/36141a74.18c093fb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6512],{28453:(e,n,a)=>{a.d(n,{R:()=>o,x:()=>l});var i=a(96540);const s={},t=i.createContext(s);function o(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(t.Provider,{value:n},e.children)}},55815:(e,n,a)=>{a.r(n),a.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/39feb412.1130e155.js b/assets/js/39feb412.1130e155.js
deleted file mode 100644
index 0ecf47c22..000000000
--- a/assets/js/39feb412.1130e155.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6367],{28453:(e,i,r)=>{r.d(i,{R:()=>o,x:()=>l});var t=r(96540);const a={},n=t.createContext(a);function o(e){const i=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),t.createElement(n.Provider,{value:i},e.children)}},84193:(e,i,r)=>{r.r(i),r.d(i,{as [...]
\ No newline at end of file
diff --git a/assets/js/3a789a1b.1c9ead04.js b/assets/js/3a789a1b.1c9ead04.js
deleted file mode 100644
index 20c3a6bea..000000000
--- a/assets/js/3a789a1b.1c9ead04.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9989],{23010:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>m});const o=JSON.parse('{"id":"operations/segment-optimization","title":"Segment size optimization","description":"\x3c!--","source":"@site/docs/34.0.0/operations/segment-optimization.md","sourceDirName":"operations","slug":"/operations/segment-optimization","permalink":"/docs/34.0.0/operations/segment-op [...]
\ No newline at end of file
diff --git a/assets/js/3a7e9792.d8e9c878.js b/assets/js/3a7e9792.d8e9c878.js
deleted file mode 100644
index 0aec36af7..000000000
--- a/assets/js/3a7e9792.d8e9c878.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6890],{11916:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"tutorials/tutorial-batch","title":"Load a file","description":"\x3c!--","source":"@site/docs/34.0.0/tutorials/tutorial-batch.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-batch","permalink":"/docs/34.0.0/tutorials/tutorial-batch","draft":false,"unlisted":false, [...]
\ No newline at end of file
diff --git a/assets/js/3b4d4d10.e74c90e4.js b/assets/js/3b4d4d10.e74c90e4.js
deleted file mode 100644
index 664b0ec3b..000000000
--- a/assets/js/3b4d4d10.e74c90e4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6859],{28453:(e,t,a)=>{a.d(t,{R:()=>i,x:()=>d});var r=a(96540);const n={},s=r.createContext(n);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(s.Provider,{value:t},e.children)}},93438:(e,t,a)=>{a.r(t),a.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/3ccbe206.21a1ed33.js b/assets/js/3ccbe206.21a1ed33.js
deleted file mode 100644
index ccc6f4089..000000000
--- a/assets/js/3ccbe206.21a1ed33.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9597],{11438:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>d,metadata:()=>s,toc:()=>u});const s=JSON.parse('{"id":"api-reference/sql-ingestion-api","title":"SQL-based ingestion API","description":"\x3c!--","source":"@site/docs/latest/api-reference/sql-ingestion-api.md","sourceDirName":"api-reference","slug":"/api-reference/sql-ingestion-api","permalink":"/docs/latest/api-reference/sql-in [...]
\ No newline at end of file
diff --git a/assets/js/3f8e7beb.9d186f87.js b/assets/js/3f8e7beb.9d186f87.js
deleted file mode 100644
index 2fbe3348b..000000000
--- a/assets/js/3f8e7beb.9d186f87.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4207],{603:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/tutorial-deletion-02-178ae7a7beae527951d67c5b79412e3d.png"},22272:(e,t,n)=>{n.d(t,{A:()=>s});const s=n.p+"assets/images/tutorial-deletion-01-891729c30511abdcc26da807fd50122f.png"},28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>d});var s=n(96540);const a={},l=s.createContext(a);function i(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t [...]
\ No newline at end of file
diff --git a/assets/js/4073d44b.3bdaede6.js b/assets/js/4073d44b.3bdaede6.js
deleted file mode 100644
index dd4f52c59..000000000
--- a/assets/js/4073d44b.3bdaede6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5047],{5331:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>j,frontMatter:()=>l,metadata:()=>r,toc:()=>u});const r=JSON.parse('{"id":"querying/datasource","title":"Datasources","description":"\x3c!--","source":"@site/docs/34.0.0/querying/datasource.md","sourceDirName":"querying","slug":"/querying/datasource","permalink":"/docs/34.0.0/querying/datasource","draft":false,"unlisted":false,"tags":[],"version":"c [...]
\ No newline at end of file
diff --git a/assets/js/412ee224.757081eb.js b/assets/js/412ee224.757081eb.js
deleted file mode 100644
index b8cf14618..000000000
--- a/assets/js/412ee224.757081eb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7722],{28453:(e,s,d)=>{d.d(s,{R:()=>n,x:()=>c});var r=d(96540);const i={},t=r.createContext(i);function n(e){const s=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),r.createElement(t.Provider,{value:s},e.children)}},42055:(e,s,d)=>{d.r(s),d.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/4133cea9.b92ad3ca.js b/assets/js/4133cea9.b92ad3ca.js
deleted file mode 100644
index 30135e928..000000000
--- a/assets/js/4133cea9.b92ad3ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1322],{28453:(e,t,a)=>{a.d(t,{R:()=>o,x:()=>c});var n=a(96540);const s={},i=n.createContext(s);function o(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(i.Provider,{value:t},e.children)}},79560:(e,t,a)=>{a.r(t),a.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/41e690b8.877d4530.js b/assets/js/41e690b8.877d4530.js
deleted file mode 100644
index 2cbfe62b2..000000000
--- a/assets/js/41e690b8.877d4530.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1274],{28453:(e,t,r)=>{r.d(t,{R:()=>d,x:()=>c});var i=r(96540);const s={},n=i.createContext(s);function d(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),i.createElement(n.Provider,{value:t},e.children)}},33541:(e,t,r)=>{r.r(t),r.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/42fd476f.1a6c3dcf.js b/assets/js/42fd476f.1a6c3dcf.js
deleted file mode 100644
index 481089365..000000000
--- a/assets/js/42fd476f.1a6c3dcf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6060],{28453:(e,r,t)=>{t.d(r,{R:()=>o,x:()=>d});var n=t(96540);const i={},s=n.createContext(i);function o(e){const r=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(s.Provider,{value:r},e.children)}},54639:(e,r,t)=>{t.r(r),t.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/439570b5.9a1c085d.js b/assets/js/439570b5.9a1c085d.js
deleted file mode 100644
index c4f0c0176..000000000
--- a/assets/js/439570b5.9a1c085d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7712],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var s=t(96540);const i={},o=s.createContext(i);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:n},e.children)}},79621:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/43c5580d.2bba6395.js b/assets/js/43c5580d.2bba6395.js
deleted file mode 100644
index bb7724d92..000000000
--- a/assets/js/43c5580d.2bba6395.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1007],{28453:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>a});var i=n(96540);const r={},o=i.createContext(r);function t(e){const s=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),i.createElement(o.Provider,{value:s},e.children)}},81686:(e,s,n)=>{n.r(s),n.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/44995806.3131a8ac.js b/assets/js/44995806.3131a8ac.js
deleted file mode 100644
index bb6c947ef..000000000
--- a/assets/js/44995806.3131a8ac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3512],{11476:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"api-reference/sql-jdbc","title":"SQL JDBC driver API","description":"\x3c!--","source":"@site/docs/34.0.0/api-reference/sql-jdbc.md","sourceDirName":"api-reference","slug":"/api-reference/sql-jdbc","permalink":"/docs/34.0.0/api-reference/sql-jdbc","draft":false,"unlisted":fa [...]
\ No newline at end of file
diff --git a/assets/js/44d74c63.2f18e2a1.js b/assets/js/44d74c63.2f18e2a1.js
deleted file mode 100644
index 880f60f43..000000000
--- a/assets/js/44d74c63.2f18e2a1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3270],{28453:(e,t,i)=>{i.d(t,{R:()=>s,x:()=>l});var n=i(96540);const d={},r=n.createContext(d);function s(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:s(e.components),n.createElement(r.Provider,{value:t},e.children)}},87839:(e,t,i)=>{i.r(t),i.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/45b208b3.397f7c28.js b/assets/js/45b208b3.397f7c28.js
deleted file mode 100644
index 41338e8a3..000000000
--- a/assets/js/45b208b3.397f7c28.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[735],{28453:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>c});var d=t(96540);const n={},r=d.createContext(n);function i(e){const s=d.useContext(r);return d.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),d.createElement(r.Provider,{value:s},e.children)}},76211:(e,s,t)=>{t.r(s),t.d(s,{ass [...]
\ No newline at end of file
diff --git a/assets/js/47148f71.f3fe3081.js b/assets/js/47148f71.f3fe3081.js
deleted file mode 100644
index d3614df53..000000000
--- a/assets/js/47148f71.f3fe3081.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5393],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var a=t(96540);const i={},s=a.createContext(i);function r(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),a.createElement(s.Provider,{value:n},e.children)}},34363:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/47c6d1cc.e4dc5b23.js b/assets/js/47c6d1cc.e4dc5b23.js
deleted file mode 100644
index 2c701fc61..000000000
--- a/assets/js/47c6d1cc.e4dc5b23.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9704],{28453:(e,r,i)=>{i.d(r,{R:()=>s,x:()=>u});var n=i(96540);const t={},o=n.createContext(t);function s(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function u(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),n.createElement(o.Provider,{value:r},e.children)}},81022:(e,r,i)=>{i.r(r),i.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/4970.d0034361.js b/assets/js/4970.d0034361.js
deleted file mode 100644
index d4c6b7fc0..000000000
--- a/assets/js/4970.d0034361.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4970],{72589:(e,s,k)=>{k.r(s)}}]);
\ No newline at end of file
diff --git a/assets/js/4973d474.c03564be.js b/assets/js/4973d474.c03564be.js
deleted file mode 100644
index cce4cb775..000000000
--- a/assets/js/4973d474.c03564be.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9849],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var o=t(96540);const i={},r=o.createContext(i);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:n},e.children)}},48372:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/49cbf19b.da531eb7.js b/assets/js/49cbf19b.da531eb7.js
deleted file mode 100644
index 6a41f9def..000000000
--- a/assets/js/49cbf19b.da531eb7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3631],{11798:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/nested-msq-ingestion-transform-4f53f816ca16703df601f9c4f1aeee6d.png"},19730:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/nested-display-data-types-5dd733147ce48db2a498602be5cfc9ec.png"},22681:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/nested-msq-ingestion-62d187c343c4323ecec7e32a684a61c1.png"},28453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>o});var t=s [...]
\ No newline at end of file
diff --git a/assets/js/4a5ac7bf.74d83593.js b/assets/js/4a5ac7bf.74d83593.js
deleted file mode 100644
index 9b2f0e7f3..000000000
--- a/assets/js/4a5ac7bf.74d83593.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4182],{4958:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"development/extensions-contrib/spectator-histogram","title":"Spectator Histogram module","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-contrib/spectator-histogram.md","sourceDirName":"development/extensions-contrib","slug":"/development/extensions [...]
\ No newline at end of file
diff --git a/assets/js/4c730e87.ee3b262f.js b/assets/js/4c730e87.ee3b262f.js
deleted file mode 100644
index 1f4b56a11..000000000
--- a/assets/js/4c730e87.ee3b262f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7044],{28453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>c});var s=n(96540);const i={},t=s.createContext(i);function d(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(t.Provider,{value:r},e.children)}},51326:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/4ce1467e.91e189a5.js b/assets/js/4ce1467e.91e189a5.js
deleted file mode 100644
index c8b62f86d..000000000
--- a/assets/js/4ce1467e.91e189a5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4188],{28453:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>d});var i=n(96540);const t={},r=i.createContext(t);function a(e){const s=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(r.Provider,{value:s},e.children)}},30827:(e,s,n)=>{n.r(s),n.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/4cf66254.68fa3b87.js b/assets/js/4cf66254.68fa3b87.js
deleted file mode 100644
index 528bccf09..000000000
--- a/assets/js/4cf66254.68fa3b87.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1871],{3891:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"tutorials/tutorial-query","title":"Query data","description":"\x3c!--","source":"@site/docs/latest/tutorials/tutorial-query.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-query","permalink":"/docs/latest/tutorials/tutorial-query","draft":false,"unlisted":false,"t [...]
\ No newline at end of file
diff --git a/assets/js/4d8408b4.ea79a216.js b/assets/js/4d8408b4.ea79a216.js
deleted file mode 100644
index 9e7f616e7..000000000
--- a/assets/js/4d8408b4.ea79a216.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3357],{11284:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"querying/multitenancy","title":"Multitenancy considerations","description":"\x3c!--","source":"@site/docs/34.0.0/querying/multitenancy.md","sourceDirName":"querying","slug":"/querying/multitenancy","permalink":"/docs/34.0.0/querying/multitenancy","draft":false,"unlisted":fal [...]
\ No newline at end of file
diff --git a/assets/js/4dc2a1b0.2e187f9c.js b/assets/js/4dc2a1b0.2e187f9c.js
deleted file mode 100644
index 4e9ae5971..000000000
--- a/assets/js/4dc2a1b0.2e187f9c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3212],{28453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var r=n(96540);const s={},o=r.createContext(s);function c(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(o.Provider,{value:t},e.children)}},53035:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/4eb80632.8ca9f039.js b/assets/js/4eb80632.8ca9f039.js
deleted file mode 100644
index dce9d6a51..000000000
--- a/assets/js/4eb80632.8ca9f039.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8769],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>c});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},34219:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/4f88c9e2.cea84c9c.js b/assets/js/4f88c9e2.cea84c9c.js
deleted file mode 100644
index c6490bd17..000000000
--- a/assets/js/4f88c9e2.cea84c9c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6556],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>i});var s=r(96540);const t={},l=s.createContext(t);function a(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(l.Provider,{value:n},e.children)}},39218:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/4f977194.f8001f4a.js b/assets/js/4f977194.f8001f4a.js
deleted file mode 100644
index 6432d4a9d..000000000
--- a/assets/js/4f977194.f8001f4a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4738],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var i=t(96540);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:n},e.children)}},37127:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/4fae522f.0d5b8fa4.js b/assets/js/4fae522f.0d5b8fa4.js
deleted file mode 100644
index 511ed1b71..000000000
--- a/assets/js/4fae522f.0d5b8fa4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2498],{28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(96540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}},79189:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/4fbcb8e1.13251c8a.js b/assets/js/4fbcb8e1.13251c8a.js
deleted file mode 100644
index 5363edb67..000000000
--- a/assets/js/4fbcb8e1.13251c8a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9992],{28453:(e,t,o)=>{o.d(t,{R:()=>d,x:()=>i});var r=o(96540);const n={},a=r.createContext(n);function d(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),r.createElement(a.Provider,{value:t},e.children)}},36698:(e,t,o)=>{o.r(t),o.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/505b888b.598bebb4.js b/assets/js/505b888b.598bebb4.js
deleted file mode 100644
index 443761796..000000000
--- a/assets/js/505b888b.598bebb4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8831],{28453:(e,d,i)=>{i.d(d,{R:()=>c,x:()=>l});var n=i(96540);const s={},r=n.createContext(s);function c(e){const d=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function l(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),n.createElement(r.Provider,{value:d},e.children)}},86480:(e,d,i)=>{i.r(d),i.d(d,{as [...]
\ No newline at end of file
diff --git a/assets/js/532d52f3.9aa60715.js b/assets/js/532d52f3.9aa60715.js
deleted file mode 100644
index 6538ed53b..000000000
--- a/assets/js/532d52f3.9aa60715.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6701],{28453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>c});var n=s(96540);const i={},r=n.createContext(i);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:t},e.children)}},39100:(e,t,s)=>{s.r(t),s.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/54c20511.3019acdd.js b/assets/js/54c20511.3019acdd.js
deleted file mode 100644
index c48b9b464..000000000
--- a/assets/js/54c20511.3019acdd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3236],{28453:(t,n,e)=>{e.d(n,{R:()=>o,x:()=>a});var i=e(96540);const r={},s=i.createContext(r);function o(t){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function a(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:o(t.components),i.createElement(s.Provider,{value:n},t.children)}},77929:(t,n,e)=>{e.r(n),e.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/55b84d6c.cd812c6a.js b/assets/js/55b84d6c.cd812c6a.js
deleted file mode 100644
index c4db5b01f..000000000
--- a/assets/js/55b84d6c.cd812c6a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9986],{28453:(n,e,t)=>{t.d(e,{R:()=>s,x:()=>a});var r=t(96540);const i={},o=r.createContext(i);function s(n){const e=r.useContext(o);return r.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:s(n.components),r.createElement(o.Provider,{value:e},n.children)}},59690:(n,e,t)=>{t.r(e),t.d(e,{as [...]
\ No newline at end of file
diff --git a/assets/js/55e202dc.d2edd9f4.js b/assets/js/55e202dc.d2edd9f4.js
deleted file mode 100644
index 6420d3c8b..000000000
--- a/assets/js/55e202dc.d2edd9f4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7153],{14940:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"configuration/index","title":"Configuration reference","description":"\x3c!--","source":"@site/docs/latest/configuration/index.md","sourceDirName":"configuration","slug":"/configuration/","permalink":"/docs/latest/configuration/","draft":false,"unlisted":false,"tags":[],"ver [...]
\ No newline at end of file
diff --git a/assets/js/566201c1.098a547a.js b/assets/js/566201c1.098a547a.js
deleted file mode 100644
index 863edd30c..000000000
--- a/assets/js/566201c1.098a547a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4787],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var i=t(96540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}},69184:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/567d9ed6.2ec51d52.js b/assets/js/567d9ed6.2ec51d52.js
deleted file mode 100644
index be73fb7d8..000000000
--- a/assets/js/567d9ed6.2ec51d52.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9607],{28453:(e,t,i)=>{i.d(t,{R:()=>d,x:()=>o});var r=i(96540);const n={},s=r.createContext(n);function d(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),r.createElement(s.Provider,{value:t},e.children)}},59046:(e,t,i)=>{i.r(t),i.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/568a412e.05a1a443.js b/assets/js/568a412e.05a1a443.js
deleted file mode 100644
index 04f6cb857..000000000
--- a/assets/js/568a412e.05a1a443.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3465],{28453:(e,n,a)=>{a.d(n,{R:()=>t,x:()=>o});var i=a(96540);const r={},s=i.createContext(r);function t(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),i.createElement(s.Provider,{value:n},e.children)}},40040:(e,n,a)=>{a.r(n),a.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/56b01be8.b164adb4.js b/assets/js/56b01be8.b164adb4.js
deleted file mode 100644
index 16b223bd7..000000000
--- a/assets/js/56b01be8.b164adb4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4938],{17235:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"development/extensions-contrib/druid-ranger-security","title":"Apache Ranger Security","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-contrib/druid-ranger-security.md","sourceDirName":"development/extensions-contrib","slug":"/development/extension [...]
\ No newline at end of file
diff --git a/assets/js/5708.5e3a2ad5.js b/assets/js/5708.5e3a2ad5.js
deleted file mode 100644
index f770aee97..000000000
--- a/assets/js/5708.5e3a2ad5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5708],{75708:(t,e,r)=>{r.d(e,{diagram:()=>W});var a=r(8159),i=r(10009),n=r(697),s=r(20007),o=r(62334);const c=[];for(let U=0;U<256;++U)c.push((U+256).toString(16).slice(1));function l(t,e=0){return c[t[e+0]]+c[t[e+1]]+c[t[e+2]]+c[t[e+3]]+"-"+c[t[e+4]]+c[t[e+5]]+"-"+c[t[e+6]]+c[t[e+7]]+"-"+c[t[e+8]]+c[t[e+9]]+"-"+c[t[e+10]]+c[t[e+11]]+c[t[e+12]]+c[t[e+13]]+c[t[e+14]]+c[t[e+15]]}const h=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f] [...]
\ No newline at end of file
diff --git a/assets/js/574f9863.bce27a17.js b/assets/js/574f9863.bce27a17.js
deleted file mode 100644
index 33f60c780..000000000
--- a/assets/js/574f9863.bce27a17.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8851],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>r});var o=t(96540);const a={},i=o.createContext(a);function s(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(i.Provider,{value:n},e.children)}},34671:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/57d456a7.e44febe0.js b/assets/js/57d456a7.e44febe0.js
deleted file mode 100644
index dcc028f93..000000000
--- a/assets/js/57d456a7.e44febe0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5246],{28453:(e,o,n)=>{n.d(o,{R:()=>i,x:()=>r});var s=n(96540);const d={},t=s.createContext(d);function i(e){const o=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:i(e.components),s.createElement(t.Provider,{value:o},e.children)}},95450:(e,o,n)=>{n.r(o),n.d(o,{as [...]
\ No newline at end of file
diff --git a/assets/js/57f98785.3e2afbc9.js b/assets/js/57f98785.3e2afbc9.js
deleted file mode 100644
index f849ce7ce..000000000
--- a/assets/js/57f98785.3e2afbc9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7466],{28453:(e,n,c)=>{c.d(n,{R:()=>t,x:()=>s});var r=c(96540);const i={},o=r.createContext(i);function t(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(o.Provider,{value:n},e.children)}},48398:(e,n,c)=>{c.r(n),c.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/586f3665.37978d89.js b/assets/js/586f3665.37978d89.js
deleted file mode 100644
index 502438a1c..000000000
--- a/assets/js/586f3665.37978d89.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8744],{28453:(e,s,n)=>{n.d(s,{R:()=>d,x:()=>o});var i=n(96540);const r={},t=i.createContext(r);function d(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(t.Provider,{value:s},e.children)}},32411:(e,s,n)=>{n.r(s),n.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/593f6488.e22f9be9.js b/assets/js/593f6488.e22f9be9.js
deleted file mode 100644
index 59a816665..000000000
--- a/assets/js/593f6488.e22f9be9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8560],{28453:(e,s,t)=>{t.d(s,{R:()=>d,x:()=>i});var n=t(96540);const o={},r=n.createContext(o);function d(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:d(e.components),n.createElement(r.Provider,{value:s},e.children)}},93230:(e,s,t)=>{t.r(s),t.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/5a08e3a4.5da5abeb.js b/assets/js/5a08e3a4.5da5abeb.js
deleted file mode 100644
index 741594850..000000000
--- a/assets/js/5a08e3a4.5da5abeb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4546],{28453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>i});var r=s(96540);const a={},t=r.createContext(a);function l(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),r.createElement(t.Provider,{value:n},e.children)}},34979:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/5adada4a.247cbc7c.js b/assets/js/5adada4a.247cbc7c.js
deleted file mode 100644
index 7825c03b2..000000000
--- a/assets/js/5adada4a.247cbc7c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7724],{28453:(e,n,r)=>{r.d(n,{R:()=>l,x:()=>t});var a=r(96540);const i={},s=a.createContext(i);function l(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),a.createElement(s.Provider,{value:n},e.children)}},66467:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/5b599186.993517b9.js b/assets/js/5b599186.993517b9.js
deleted file mode 100644
index b37ab014e..000000000
--- a/assets/js/5b599186.993517b9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7540],{28453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>r});var s=i(96540);const t={},a=s.createContext(t);function o(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(a.Provider,{value:n},e.children)}},90770:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/5bcd0a3f.9e3be588.js b/assets/js/5bcd0a3f.9e3be588.js
deleted file mode 100644
index d65b1a97d..000000000
--- a/assets/js/5bcd0a3f.9e3be588.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2529],{28453:(e,t,a)=>{a.d(t,{R:()=>i,x:()=>o});var s=a(96540);const r={},n=s.createContext(r);function i(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(n.Provider,{value:t},e.children)}},49416:(e,t,a)=>{a.r(t),a.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/5cbdf55c.f09f9112.js b/assets/js/5cbdf55c.f09f9112.js
deleted file mode 100644
index 1baf544a2..000000000
--- a/assets/js/5cbdf55c.f09f9112.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7934],{9842:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"design/extensions-contrib/dropwizard","title":"Dropwizard metrics emitter","description":"\x3c!--","source":"@site/docs/latest/design/extensions-contrib/dropwizard.md","sourceDirName":"design/extensions-contrib","slug":"/design/extensions-contrib/dropwizard","permalink":"/doc [...]
\ No newline at end of file
diff --git a/assets/js/5d9df06c.e40f1ad4.js b/assets/js/5d9df06c.e40f1ad4.js
deleted file mode 100644
index e0f5ea90a..000000000
--- a/assets/js/5d9df06c.e40f1ad4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5496],{8219:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"operations/deep-storage-migration","title":"Deep storage migration","description":"\x3c!--","source":"@site/docs/34.0.0/operations/deep-storage-migration.md","sourceDirName":"operations","slug":"/operations/deep-storage-migration","permalink":"/docs/34.0.0/operations/deep-sto [...]
\ No newline at end of file
diff --git a/assets/js/5fb8df6e.7b66b859.js b/assets/js/5fb8df6e.7b66b859.js
deleted file mode 100644
index fdde3d333..000000000
--- a/assets/js/5fb8df6e.7b66b859.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6621],{9352:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"development/extensions-contrib/ambari-metrics-emitter","title":"Ambari Metrics Emitter","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-contrib/ambari-metrics-emitter.md","sourceDirName":"development/extensions-contrib","slug":"/development/extensio [...]
\ No newline at end of file
diff --git a/assets/js/5ff9c08d.8c250623.js b/assets/js/5ff9c08d.8c250623.js
deleted file mode 100644
index 0670a8232..000000000
--- a/assets/js/5ff9c08d.8c250623.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3288],{28453:(e,n,r)=>{r.d(n,{R:()=>l,x:()=>t});var i=r(96540);const s={},a=i.createContext(s);function l(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(a.Provider,{value:n},e.children)}},57943:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/600b4155.37fb5cb5.js b/assets/js/600b4155.37fb5cb5.js
deleted file mode 100644
index 9f08b7dc2..000000000
--- a/assets/js/600b4155.37fb5cb5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4336],{28453:(e,r,t)=>{t.d(r,{R:()=>d,x:()=>o});var i=t(96540);const s={},n=i.createContext(s);function d(e){const r=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),i.createElement(n.Provider,{value:r},e.children)}},84486:(e,r,t)=>{t.r(r),t.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/60453156.b65883df.js b/assets/js/60453156.b65883df.js
deleted file mode 100644
index be23ab5be..000000000
--- a/assets/js/60453156.b65883df.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5377],{28453:(e,s,r)=>{r.d(s,{R:()=>d,x:()=>o});var i=r(96540);const t={},n=i.createContext(t);function d(e){const s=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),i.createElement(n.Provider,{value:s},e.children)}},80763:(e,s,r)=>{r.r(s),r.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/60b9c99e.1f85acf0.js b/assets/js/60b9c99e.1f85acf0.js
deleted file mode 100644
index 2c3ed6d0c..000000000
--- a/assets/js/60b9c99e.1f85acf0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2148],{8372:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/web-console-10-servers-a6657c30723d278409d8d884d3655ed1.png"},10931:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"operations/web-console","title":"Web console","description":"\x3c!--","source":"@site/docs/latest/operations/web-console.md","sourceDirName":"operations", [...]
\ No newline at end of file
diff --git a/assets/js/6155cb7b.82ea7d65.js b/assets/js/6155cb7b.82ea7d65.js
deleted file mode 100644
index 00e927f6c..000000000
--- a/assets/js/6155cb7b.82ea7d65.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3074],{6065:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"design/zookeeper","title":"ZooKeeper","description":"\x3c!--","source":"@site/docs/34.0.0/design/zookeeper.md","sourceDirName":"design","slug":"/design/zookeeper","permalink":"/docs/34.0.0/design/zookeeper","draft":false,"unlisted":false,"tags":[],"version":"current","frontMa [...]
\ No newline at end of file
diff --git a/assets/js/615c06f6.29a20b44.js b/assets/js/615c06f6.29a20b44.js
deleted file mode 100644
index 749a5fbb6..000000000
--- a/assets/js/615c06f6.29a20b44.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9990],{4165:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"querying/groupbyquery","title":"GroupBy queries","description":"\x3c!--","source":"@site/docs/latest/querying/groupbyquery.md","sourceDirName":"querying","slug":"/querying/groupbyquery","permalink":"/docs/latest/querying/groupbyquery","draft":false,"unlisted":false,"tags":[], [...]
\ No newline at end of file
diff --git a/assets/js/62ce8058.8902dee4.js b/assets/js/62ce8058.8902dee4.js
deleted file mode 100644
index 86073da1e..000000000
--- a/assets/js/62ce8058.8902dee4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4716],{20021:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"querying/sql-multivalue-string-functions","title":"SQL multi-value string functions","description":"\x3c!--","source":"@site/docs/34.0.0/querying/sql-multivalue-string-functions.md","sourceDirName":"querying","slug":"/querying/sql-multivalue-string-functions","permalink":"/d [...]
\ No newline at end of file
diff --git a/assets/js/63a5d816.97bff6f3.js b/assets/js/63a5d816.97bff6f3.js
deleted file mode 100644
index d9cbdf181..000000000
--- a/assets/js/63a5d816.97bff6f3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4801],{28453:(e,s,t)=>{t.d(s,{R:()=>o,x:()=>a});var n=t(96540);const i={},r=n.createContext(i);function o(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:s},e.children)}},72309:(e,s,t)=>{t.r(s),t.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/64a72051.71621346.js b/assets/js/64a72051.71621346.js
deleted file mode 100644
index 92bddf421..000000000
--- a/assets/js/64a72051.71621346.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6729],{28453:(e,r,n)=>{n.d(r,{R:()=>a,x:()=>o});var i=n(96540);const s={},t=i.createContext(s);function a(e){const r=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(t.Provider,{value:r},e.children)}},72216:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/6571afa3.9d824013.js b/assets/js/6571afa3.9d824013.js
deleted file mode 100644
index 3b5f3ced0..000000000
--- a/assets/js/6571afa3.9d824013.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1113],{28453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>o});var i=n(96540);const r={},a=i.createContext(r);function s(e){const t=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(a.Provider,{value:t},e.children)}},67079:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/6584e9b3.c07059d6.js b/assets/js/6584e9b3.c07059d6.js
deleted file mode 100644
index 4b2304c77..000000000
--- a/assets/js/6584e9b3.c07059d6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5147],{28453:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>a});var s=t(96540);const r={},i=s.createContext(r);function l(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(i.Provider,{value:n},e.children)}},96083:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/66b0e2d1.58153b1a.js b/assets/js/66b0e2d1.58153b1a.js
deleted file mode 100644
index 13c0cf436..000000000
--- a/assets/js/66b0e2d1.58153b1a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2241],{28453:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>o});var i=s(96540);const d={},r=i.createContext(d);function t(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:t(e.components),i.createElement(r.Provider,{value:n},e.children)}},65476:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/6749.273c602d.js b/assets/js/6749.273c602d.js
deleted file mode 100644
index 8a7147825..000000000
--- a/assets/js/6749.273c602d.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 6749.273c602d.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[6749],{241:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=r(41917).A.Symbol},1282:(t,e,r)=>{"use strict";r.d(e,{DA:()=>k,IU:()=>D,U:()=>E,U7:()=>we,U_:()=>_e,Zk:()=>h,aP:()=>be,gh:()=>ve,lC:()=>d,on:()=>Ce});var n=r(64532),i=r(33115),a=r(62255),o=r(8159),s=r(10009),l=r(20007),c=r(29893),h=(0,s.K2)((async(t,e,r)=>{let n;const i=e.useHtmlLabels||(0,s._3)((0,s.D7)()?.htmlLabels);n=r||"node default";const c=t.insert("g").attr("class",n).attr( [...]
\ No newline at end of file
diff --git a/assets/js/6749.273c602d.js.LICENSE.txt b/assets/js/6749.273c602d.js.LICENSE.txt
deleted file mode 100644
index 6f7ee2a5d..000000000
--- a/assets/js/6749.273c602d.js.LICENSE.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-/*! @license DOMPurify 3.2.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.4/LICENSE */
-
-/*! Bundled license information:
-
-js-yaml/dist/js-yaml.mjs:
-  (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
-*/
-
-/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
diff --git a/assets/js/6749.b8187a6a.js b/assets/js/6749.b8187a6a.js
deleted file mode 100644
index 1b836fbbe..000000000
--- a/assets/js/6749.b8187a6a.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 6749.b8187a6a.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[6749],{241:(t,e,r)=>{"use strict";r.d(e,{A:()=>n});const n=r(41917).A.Symbol},1282:(t,e,r)=>{"use strict";r.d(e,{DA:()=>k,IU:()=>D,U:()=>E,U7:()=>we,U_:()=>_e,Zk:()=>h,aP:()=>be,gh:()=>ve,lC:()=>d,on:()=>Ce});var n=r(64532),i=r(33115),a=r(62255),o=r(8159),s=r(10009),l=r(20007),c=r(29893),h=(0,s.K2)((async(t,e,r)=>{let n;const i=e.useHtmlLabels||(0,s._3)((0,s.D7)()?.htmlLabels);n=r||"node default";const c=t.insert("g").attr("class",n).attr( [...]
\ No newline at end of file
diff --git a/assets/js/6749.b8187a6a.js.LICENSE.txt b/assets/js/6749.b8187a6a.js.LICENSE.txt
deleted file mode 100644
index 6f7ee2a5d..000000000
--- a/assets/js/6749.b8187a6a.js.LICENSE.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-/*! @license DOMPurify 3.2.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.4/LICENSE */
-
-/*! Bundled license information:
-
-js-yaml/dist/js-yaml.mjs:
-  (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
-*/
-
-/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
diff --git a/assets/js/67cae073.c5bc37ec.js b/assets/js/67cae073.c5bc37ec.js
deleted file mode 100644
index d29d965db..000000000
--- a/assets/js/67cae073.c5bc37ec.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[823],{28453:(e,r,n)=>{n.d(r,{R:()=>o,x:()=>a});var i=n(96540);const s={},t=i.createContext(s);function o(e){const r=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(t.Provider,{value:r},e.children)}},61485:(e,r,n)=>{n.r(r),n.d(r,{ass [...]
\ No newline at end of file
diff --git a/assets/js/67fbe555.99314deb.js b/assets/js/67fbe555.99314deb.js
deleted file mode 100644
index b71b0663b..000000000
--- a/assets/js/67fbe555.99314deb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9306],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>c});var r=s(96540);const t={},i=r.createContext(t);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(i.Provider,{value:n},e.children)}},43058:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/6865240a.d6b4a6ad.js b/assets/js/6865240a.d6b4a6ad.js
deleted file mode 100644
index fa6f7b90b..000000000
--- a/assets/js/6865240a.d6b4a6ad.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8297],{22860:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"data-management/automatic-compaction","title":"Automatic compaction","description":"\x3c!--","source":"@site/docs/latest/data-management/automatic-compaction.md","sourceDirName":"data-management","slug":"/data-management/automatic-compaction","permalink":"/docs/latest/data-m [...]
\ No newline at end of file
diff --git a/assets/js/688a6cad.47d18dcd.js b/assets/js/688a6cad.47d18dcd.js
deleted file mode 100644
index cb2a60eb5..000000000
--- a/assets/js/688a6cad.47d18dcd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2258],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var s=t(96540);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}},45843:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/6bb9967c.ec827c34.js b/assets/js/6bb9967c.ec827c34.js
deleted file mode 100644
index 381bbe7c2..000000000
--- a/assets/js/6bb9967c.ec827c34.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7835],{28453:(e,t,i)=>{i.d(t,{R:()=>a,x:()=>o});var s=i(96540);const r={},n=s.createContext(r);function a(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(n.Provider,{value:t},e.children)}},59699:(e,t,i)=>{i.r(t),i.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/6c62c6c7.b558a009.js b/assets/js/6c62c6c7.b558a009.js
deleted file mode 100644
index b5afd112d..000000000
--- a/assets/js/6c62c6c7.b558a009.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6575],{24269:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"ingestion/kafka-ingestion","title":"Apache Kafka ingestion","description":"Overview of the Kafka indexing service for Druid. Includes example supervisor specs to help you get started.","source":"@site/docs/latest/ingestion/kafka-ingestion.md","sourceDirName":"ingestion","slu [...]
\ No newline at end of file
diff --git a/assets/js/6cbe367d.3e07d96f.js b/assets/js/6cbe367d.3e07d96f.js
deleted file mode 100644
index 88b5c5dec..000000000
--- a/assets/js/6cbe367d.3e07d96f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2339],{28453:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>d});var r=i(96540);const s={},a=r.createContext(s);function t(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(a.Provider,{value:n},e.children)}},94275:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/6cf4efba.1215bdd8.js b/assets/js/6cf4efba.1215bdd8.js
deleted file mode 100644
index 34611ff28..000000000
--- a/assets/js/6cf4efba.1215bdd8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1014],{5862:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"operations/security-overview","title":"Security overview","description":"Overiew of Apache Druid security. Includes best practices, configuration instructions, a description of the security model and documentation on how to report security issues.","source":"@site/docs/34.0.0 [...]
\ No newline at end of file
diff --git a/assets/js/6dd47d75.5c3923a4.js b/assets/js/6dd47d75.5c3923a4.js
deleted file mode 100644
index 5977ce063..000000000
--- a/assets/js/6dd47d75.5c3923a4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9396],{22105:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>o,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"querying/searchquery","title":"Search queries","description":"\x3c!--","source":"@site/docs/34.0.0/querying/searchquery.md","sourceDirName":"querying","slug":"/querying/searchquery","permalink":"/docs/34.0.0/querying/searchquery","draft":false,"unlisted":false,"tags":[],"ver [...]
\ No newline at end of file
diff --git a/assets/js/6de78a57.f0d03fea.js b/assets/js/6de78a57.f0d03fea.js
deleted file mode 100644
index 6c6a3acce..000000000
--- a/assets/js/6de78a57.f0d03fea.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9480],{6096:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"tutorials/tutorial-msq-extern","title":"Load files with SQL-based ingestion","description":"How to generate a query that references externally hosted data","source":"@site/docs/34.0.0/tutorials/tutorial-msq-extern.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-ms [...]
\ No newline at end of file
diff --git a/assets/js/6f53319e.0e4a2ff8.js b/assets/js/6f53319e.0e4a2ff8.js
deleted file mode 100644
index 3667a0c70..000000000
--- a/assets/js/6f53319e.0e4a2ff8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2601],{6674:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>d,contentTitle:()=>u,default:()=>p,frontMatter:()=>l,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"tutorials/tutorial-extern","title":"Export query results","description":"How to use EXTERN to export query results.","source":"@site/docs/34.0.0/tutorials/tutorial-extern.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-extern","permalink":"/docs/34.0.0/tutorials/t [...]
\ No newline at end of file
diff --git a/assets/js/6faceb40.91d9b8de.js b/assets/js/6faceb40.91d9b8de.js
deleted file mode 100644
index 8d308420e..000000000
--- a/assets/js/6faceb40.91d9b8de.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7430],{15455:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"comparisons/druid-vs-redshift","title":"Apache Druid vs Redshift","description":"\x3c!--","source":"@site/docs/34.0.0/comparisons/druid-vs-redshift.md","sourceDirName":"comparisons","slug":"/comparisons/druid-vs-redshift","permalink":"/docs/34.0.0/comparisons/druid-vs-redshi [...]
\ No newline at end of file
diff --git a/assets/js/704e9bb9.63ea3623.js b/assets/js/704e9bb9.63ea3623.js
deleted file mode 100644
index 4811557f0..000000000
--- a/assets/js/704e9bb9.63ea3623.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1425],{15770:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"design/indexer","title":"Indexer service","description":"\x3c!--","source":"@site/docs/34.0.0/design/indexer.md","sourceDirName":"design","slug":"/design/indexer","permalink":"/docs/34.0.0/design/indexer","draft":false,"unlisted":false,"tags":[],"version":"current","frontMat [...]
\ No newline at end of file
diff --git a/assets/js/7178b9b6.0d2c61db.js b/assets/js/7178b9b6.0d2c61db.js
deleted file mode 100644
index 3e78d347d..000000000
--- a/assets/js/7178b9b6.0d2c61db.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9053],{28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>l});var i=n(96540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}},41996:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/72198fb6.202dd0fb.js b/assets/js/72198fb6.202dd0fb.js
deleted file mode 100644
index f91574657..000000000
--- a/assets/js/72198fb6.202dd0fb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2480],{28453:(e,r,s)=>{s.d(r,{R:()=>d,x:()=>a});var t=s(96540);const n={},o=t.createContext(n);function d(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),t.createElement(o.Provider,{value:r},e.children)}},47143:(e,r,s)=>{s.r(r),s.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/721b2481.9b0e9b53.js b/assets/js/721b2481.9b0e9b53.js
deleted file mode 100644
index 23496ba82..000000000
--- a/assets/js/721b2481.9b0e9b53.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1586],{28453:(e,n,o)=>{o.d(n,{R:()=>s,x:()=>l});var t=o(96540);const r={},i=t.createContext(r);function s(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(i.Provider,{value:n},e.children)}},58052:(e,n,o)=>{o.r(n),o.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/73cd2136.dca79b1a.js b/assets/js/73cd2136.dca79b1a.js
deleted file mode 100644
index e5654b967..000000000
--- a/assets/js/73cd2136.dca79b1a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4628],{28453:(e,s,i)=>{i.d(s,{R:()=>d,x:()=>o});var n=i(96540);const t={},r=n.createContext(t);function d(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),n.createElement(r.Provider,{value:s},e.children)}},90441:(e,s,i)=>{i.r(s),i.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/740ee517.c3733458.js b/assets/js/740ee517.c3733458.js
deleted file mode 100644
index 4520939ed..000000000
--- a/assets/js/740ee517.c3733458.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9029],{20519:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"querying/sql-query-context","title":"SQL query context","description":"\x3c!--","source":"@site/docs/latest/querying/sql-query-context.md","sourceDirName":"querying","slug":"/querying/sql-query-context","permalink":"/docs/latest/querying/sql-query-context","draft":false,"unl [...]
\ No newline at end of file
diff --git a/assets/js/741a2bd9.72e1b3e5.js b/assets/js/741a2bd9.72e1b3e5.js
deleted file mode 100644
index 854edaa75..000000000
--- a/assets/js/741a2bd9.72e1b3e5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5365],{28453:(e,n,o)=>{o.d(n,{R:()=>t,x:()=>a});var i=o(96540);const s={},r=i.createContext(s);function t(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(r.Provider,{value:n},e.children)}},37274:(e,n,o)=>{o.r(n),o.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/75412b08.25db8b7c.js b/assets/js/75412b08.25db8b7c.js
deleted file mode 100644
index d343fad98..000000000
--- a/assets/js/75412b08.25db8b7c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2170],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var s=n(96540);const i={},a=s.createContext(i);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(a.Provider,{value:t},e.children)}},30829:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/769d5196.f2aaa40e.js b/assets/js/769d5196.f2aaa40e.js
deleted file mode 100644
index 74137a9d3..000000000
--- a/assets/js/769d5196.f2aaa40e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4016],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const r={},s=i.createContext(r);function a(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:n},e.children)}},74463:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/7766c5cb.3f039fde.js b/assets/js/7766c5cb.3f039fde.js
deleted file mode 100644
index d09595315..000000000
--- a/assets/js/7766c5cb.3f039fde.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8334],{28453:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>a});var r=s(96540);const t={},i=r.createContext(t);function d(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),r.createElement(i.Provider,{value:n},e.children)}},95415:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/77f7adac.fab888bc.js b/assets/js/77f7adac.fab888bc.js
deleted file mode 100644
index 8cd060b08..000000000
--- a/assets/js/77f7adac.fab888bc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6127],{28453:(e,s,t)=>{t.d(s,{R:()=>d,x:()=>o});var n=t(96540);const r={},i=n.createContext(r);function d(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),n.createElement(i.Provider,{value:s},e.children)}},35278:(e,s,t)=>{t.r(s),t.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/78439ff4.3cb3f039.js b/assets/js/78439ff4.3cb3f039.js
deleted file mode 100644
index a95315aae..000000000
--- a/assets/js/78439ff4.3cb3f039.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8166],{28453:(e,t,r)=>{r.d(t,{R:()=>d,x:()=>o});var s=r(96540);const i={},n=s.createContext(i);function d(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(n.Provider,{value:t},e.children)}},72718:(e,t,r)=>{r.r(t),r.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/787df9de.9207f9b3.js b/assets/js/787df9de.9207f9b3.js
deleted file mode 100644
index f48ea2f7d..000000000
--- a/assets/js/787df9de.9207f9b3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2021],{28453:(e,r,n)=>{n.d(r,{R:()=>o,x:()=>c});var s=n(96540);const i={},t=s.createContext(i);function o(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(t.Provider,{value:r},e.children)}},88425:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/789a0686.074a6dbb.js b/assets/js/789a0686.074a6dbb.js
deleted file mode 100644
index c48469447..000000000
--- a/assets/js/789a0686.074a6dbb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1456],{10080:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"development/extensions-core/parquet","title":"Apache Parquet Extension","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-core/parquet.md","sourceDirName":"development/extensions-core","slug":"/development/extensions-core/parquet","permalink":"/docs/ [...]
\ No newline at end of file
diff --git a/assets/js/78d5ebb8.99f7a49a.js b/assets/js/78d5ebb8.99f7a49a.js
deleted file mode 100644
index bac9ce72c..000000000
--- a/assets/js/78d5ebb8.99f7a49a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4860],{20914:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>o});const n=JSON.parse('{"id":"misc/papers-and-talks","title":"Papers","description":"\x3c!--","source":"@site/docs/34.0.0/misc/papers-and-talks.md","sourceDirName":"misc","slug":"/misc/papers-and-talks","permalink":"/docs/34.0.0/misc/papers-and-talks","draft":false,"unlisted":false,"tags":[],"version":"c [...]
\ No newline at end of file
diff --git a/assets/js/7a0ffe1e.1aa10826.js b/assets/js/7a0ffe1e.1aa10826.js
deleted file mode 100644
index 4287fa1ec..000000000
--- a/assets/js/7a0ffe1e.1aa10826.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3664],{28453:(e,r,s)=>{s.d(r,{R:()=>o,x:()=>d});var t=s(96540);const n={},i=t.createContext(n);function o(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(i.Provider,{value:r},e.children)}},95993:(e,r,s)=>{s.r(r),s.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/7a1c0b36.e44a8c9e.js b/assets/js/7a1c0b36.e44a8c9e.js
deleted file mode 100644
index 6b4153f54..000000000
--- a/assets/js/7a1c0b36.e44a8c9e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4290],{18645:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"querying/timeboundaryquery","title":"TimeBoundary queries","description":"\x3c!--","source":"@site/docs/34.0.0/querying/timeboundaryquery.md","sourceDirName":"querying","slug":"/querying/timeboundaryquery","permalink":"/docs/34.0.0/querying/timeboundaryquery","draft":false," [...]
\ No newline at end of file
diff --git a/assets/js/7c76ba32.0cd3c1d5.js b/assets/js/7c76ba32.0cd3c1d5.js
deleted file mode 100644
index c2d201072..000000000
--- a/assets/js/7c76ba32.0cd3c1d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9146],{17719:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>d,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"querying/math-expr","title":"Expressions","description":"\x3c!--","source":"@site/docs/34.0.0/querying/math-expr.md","sourceDirName":"querying","slug":"/querying/math-expr","permalink":"/docs/34.0.0/querying/math-expr","draft":false,"unlisted":false,"tags":[],"version":"curr [...]
\ No newline at end of file
diff --git a/assets/js/7d5f28ce.8252ccf1.js b/assets/js/7d5f28ce.8252ccf1.js
deleted file mode 100644
index e216bf628..000000000
--- a/assets/js/7d5f28ce.8252ccf1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9977],{20558:(e,i,r)=>{r.r(i),r.d(i,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"tutorials/docker","title":"Run with Docker","description":"\x3c!--","source":"@site/docs/34.0.0/tutorials/docker.md","sourceDirName":"tutorials","slug":"/tutorials/docker","permalink":"/docs/34.0.0/tutorials/docker","draft":false,"unlisted":false,"tags":[],"version":"current [...]
\ No newline at end of file
diff --git a/assets/js/7ef2feef.23e4b20e.js b/assets/js/7ef2feef.23e4b20e.js
deleted file mode 100644
index baf27f9a2..000000000
--- a/assets/js/7ef2feef.23e4b20e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3445],{28453:(e,r,n)=>{n.d(r,{R:()=>a,x:()=>i});var t=n(96540);const s={},o=t.createContext(s);function a(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(o.Provider,{value:r},e.children)}},62902:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/7ef358d2.8a95bb16.js b/assets/js/7ef358d2.8a95bb16.js
deleted file mode 100644
index 210e5c23d..000000000
--- a/assets/js/7ef358d2.8a95bb16.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[635],{28453:(e,n,r)=>{r.d(n,{R:()=>d,x:()=>o});var t=r(96540);const s={},i=t.createContext(s);function d(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(i.Provider,{value:n},e.children)}},29323:(e,n,r)=>{r.r(n),r.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/7f61aae6.245f0273.js b/assets/js/7f61aae6.245f0273.js
deleted file mode 100644
index 3a53959fe..000000000
--- a/assets/js/7f61aae6.245f0273.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7836],{7019:(e,t,n)=>{n.d(t,{A:()=>a});const a=n.p+"assets/images/tutorial-compaction-05-c6b86c4a1c1aeeccad0e4567f43f7112.png"},28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>r});var a=n(96540);const s={},i=a.createContext(s);function o(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.componen [...]
\ No newline at end of file
diff --git a/assets/js/7fb5b8e4.e3c3aa91.js b/assets/js/7fb5b8e4.e3c3aa91.js
deleted file mode 100644
index e9e3ab0bb..000000000
--- a/assets/js/7fb5b8e4.e3c3aa91.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8398],{28453:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>r});var t=i(96540);const s={},a=t.createContext(s);function l(e){const n=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(a.Provider,{value:n},e.children)}},95147:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/8094107d.7ef6c009.js b/assets/js/8094107d.7ef6c009.js
deleted file mode 100644
index 7c88f971a..000000000
--- a/assets/js/8094107d.7ef6c009.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8974],{83354:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Introduction to Apache Druid","href":"/docs/34.0.0/design/","docId":"design/index","unlisted":false},{"type":"category","label":"Getting started","items":[{"type":"link","label":"Sin [...]
\ No newline at end of file
diff --git a/assets/js/814ae1dc.8e538bc2.js b/assets/js/814ae1dc.8e538bc2.js
deleted file mode 100644
index 951bd9f82..000000000
--- a/assets/js/814ae1dc.8e538bc2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9218],{28453:(e,s,r)=>{r.d(s,{R:()=>d,x:()=>c});var n=r(96540);const t={},i=n.createContext(t);function d(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),n.createElement(i.Provider,{value:s},e.children)}},45095:(e,s,r)=>{r.r(s),r.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/8171e985.dbc1a09c.js b/assets/js/8171e985.dbc1a09c.js
deleted file mode 100644
index af75a9b54..000000000
--- a/assets/js/8171e985.dbc1a09c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1041],{6440:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"tutorials/tutorial-kafka","title":"Load streaming data from Apache Kafka","description":"\x3c!--","source":"@site/docs/34.0.0/tutorials/tutorial-kafka.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-kafka","permalink":"/docs/34.0.0/tutorials/tutorial-kafka","draft [...]
\ No newline at end of file
diff --git a/assets/js/81b2ef5f.adb34217.js b/assets/js/81b2ef5f.adb34217.js
deleted file mode 100644
index 5322ab888..000000000
--- a/assets/js/81b2ef5f.adb34217.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[990],{20147:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>g,frontMatter:()=>s,metadata:()=>i,toc:()=>m});const i=JSON.parse('{"id":"multi-stage-query/examples","title":"SQL-based ingestion query examples","description":"\x3c!--","source":"@site/docs/34.0.0/multi-stage-query/examples.md","sourceDirName":"multi-stage-query","slug":"/multi-stage-query/examples","permalink":"/docs/34.0.0/multi-stage-query/exa [...]
\ No newline at end of file
diff --git a/assets/js/82439cd7.30d9407f.js b/assets/js/82439cd7.30d9407f.js
deleted file mode 100644
index 23ea1973a..000000000
--- a/assets/js/82439cd7.30d9407f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2741],{28453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>a});var t=i(96540);const s={},r=t.createContext(s);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:n},e.children)}},74675:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/836bc3d3.e956b727.js b/assets/js/836bc3d3.e956b727.js
deleted file mode 100644
index adf4f69d2..000000000
--- a/assets/js/836bc3d3.e956b727.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[585],{28453:(e,n,i)=>{i.d(n,{R:()=>d,x:()=>s});var o=i(96540);const r={},t=o.createContext(r);function d(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),o.createElement(t.Provider,{value:n},e.children)}},67396:(e,n,i)=>{i.r(n),i.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/83a49702.cf8234bb.js b/assets/js/83a49702.cf8234bb.js
deleted file mode 100644
index 15a830aef..000000000
--- a/assets/js/83a49702.cf8234bb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2341],{26124:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>t,metadata:()=>n,toc:()=>u});const n=JSON.parse('{"id":"api-reference/service-status-api","title":"Service status API","description":"\x3c!--","source":"@site/docs/latest/api-reference/service-status-api.md","sourceDirName":"api-reference","slug":"/api-reference/service-status-api","permalink":"/docs/latest/api-reference/service- [...]
\ No newline at end of file
diff --git a/assets/js/85dd27cb.44f3abbd.js b/assets/js/85dd27cb.44f3abbd.js
deleted file mode 100644
index 6f88eba46..000000000
--- a/assets/js/85dd27cb.44f3abbd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3364],{28453:(e,s,d)=>{d.d(s,{R:()=>t,x:()=>c});var r=d(96540);const i={},n=r.createContext(i);function t(e){const s=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(n.Provider,{value:s},e.children)}},87203:(e,s,d)=>{d.r(s),d.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/8603200e.cde71104.js b/assets/js/8603200e.cde71104.js
deleted file mode 100644
index ad7584f55..000000000
--- a/assets/js/8603200e.cde71104.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6873],{28453:(e,r,s)=>{s.d(r,{R:()=>a,x:()=>o});var i=s(96540);const t={},n=i.createContext(t);function a(e){const r=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(n.Provider,{value:r},e.children)}},37738:(e,r,s)=>{s.r(r),s.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/8674f715.301be26f.js b/assets/js/8674f715.301be26f.js
deleted file mode 100644
index f4bac31ca..000000000
--- a/assets/js/8674f715.301be26f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2111],{28453:(e,i,s)=>{s.d(i,{R:()=>o,x:()=>a});var n=s(96540);const r={},t=n.createContext(r);function o(e){const i=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(t.Provider,{value:i},e.children)}},96654:(e,i,s)=>{s.r(i),s.d(i,{as [...]
\ No newline at end of file
diff --git a/assets/js/86d20240.c74f9a78.js b/assets/js/86d20240.c74f9a78.js
deleted file mode 100644
index abf6cdb05..000000000
--- a/assets/js/86d20240.c74f9a78.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1985],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var s=n(96540);const a={},i=s.createContext(a);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(i.Provider,{value:t},e.children)}},56738:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/86f78471.4d4cf1c6.js b/assets/js/86f78471.4d4cf1c6.js
deleted file mode 100644
index 26a878aa8..000000000
--- a/assets/js/86f78471.4d4cf1c6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2560],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>a});var o=i(96540);const t={},s=o.createContext(t);function r(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),o.createElement(s.Provider,{value:n},e.children)}},92409:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/8762a85c.d13b14c8.js b/assets/js/8762a85c.d13b14c8.js
deleted file mode 100644
index 4a0e0b8e2..000000000
--- a/assets/js/8762a85c.d13b14c8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5687],{11447:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/tutorial-query-06-38a4873c0c5bd253039663d3feab2e65.png"},11950:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/tutorial-query-07-86073da8ac47313ee65b520bcf7b5984.png"},23429:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/tutorial-query-04-5762722de0e9501228916e5a9939f4af.png"},28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>o});var t=i(96540);const r={},s=t.c [...]
\ No newline at end of file
diff --git a/assets/js/87f25154.ca0a7acf.js b/assets/js/87f25154.ca0a7acf.js
deleted file mode 100644
index af436aff6..000000000
--- a/assets/js/87f25154.ca0a7acf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9857],{24399:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>u});const i=JSON.parse('{"id":"api-reference/dynamic-configuration-api","title":"Dynamic configuration API","description":"\x3c!--","source":"@site/docs/34.0.0/api-reference/dynamic-configuration-api.md","sourceDirName":"api-reference","slug":"/api-reference/dynamic-configuration-api","permalink":"/docs/3 [...]
\ No newline at end of file
diff --git a/assets/js/88501144.36641fcd.js b/assets/js/88501144.36641fcd.js
deleted file mode 100644
index 8721dc078..000000000
--- a/assets/js/88501144.36641fcd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7226],{4056:(o,a,e)=>{e.r(a),e.d(a,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>c,metadata:()=>n,toc:()=>i});const n=JSON.parse('{"id":"operations/use_sbt_to_build_fat_jar","title":"Content for build.sbt","description":"\x3c!--","source":"@site/docs/34.0.0/operations/use_sbt_to_build_fat_jar.md","sourceDirName":"operations","slug":"/operations/use_sbt_to_build_fat_jar","permalink":"/docs/34.0.0/operations/use [...]
\ No newline at end of file
diff --git a/assets/js/8a9c99e5.5984dff5.js b/assets/js/8a9c99e5.5984dff5.js
deleted file mode 100644
index bb4838630..000000000
--- a/assets/js/8a9c99e5.5984dff5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3694],{2514:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"development/extensions-core/postgresql","title":"PostgreSQL metadata store","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-core/postgresql.md","sourceDirName":"development/extensions-core","slug":"/development/extensions-core/postgresql","permalink [...]
\ No newline at end of file
diff --git a/assets/js/8d4becf1.c399c85a.js b/assets/js/8d4becf1.c399c85a.js
deleted file mode 100644
index c6c5a019a..000000000
--- a/assets/js/8d4becf1.c399c85a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1442],{28453:(e,s,i)=>{i.d(s,{R:()=>a,x:()=>o});var t=i(96540);const n={},r=t.createContext(n);function a(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),t.createElement(r.Provider,{value:s},e.children)}},43750:(e,s,i)=>{i.r(s),i.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/8dfcea7d.bcaef400.js b/assets/js/8dfcea7d.bcaef400.js
deleted file mode 100644
index 25cbf9db3..000000000
--- a/assets/js/8dfcea7d.bcaef400.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6549],{6567:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"tutorials/tutorial-compaction","title":"Compact segments","description":"\x3c!--","source":"@site/docs/34.0.0/tutorials/tutorial-compaction.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-compaction","permalink":"/docs/34.0.0/tutorials/tutorial-compaction","draft" [...]
\ No newline at end of file
diff --git a/assets/js/8e692c83.30a8df43.js b/assets/js/8e692c83.30a8df43.js
deleted file mode 100644
index 25f9253e1..000000000
--- a/assets/js/8e692c83.30a8df43.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[971],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var s=n(96540);const r={},o=s.createContext(r);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},34107:(e,t,n)=>{n.r(t),n.d(t,{ass [...]
\ No newline at end of file
diff --git a/assets/js/8f778d85.016e8d4a.js b/assets/js/8f778d85.016e8d4a.js
deleted file mode 100644
index 5c65988d2..000000000
--- a/assets/js/8f778d85.016e8d4a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7482],{28453:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>a});var t=r(96540);const i={},s=t.createContext(i);function o(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(s.Provider,{value:n},e.children)}},50714:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/9046ac9e.384aa7ce.js b/assets/js/9046ac9e.384aa7ce.js
deleted file mode 100644
index 1e0eea2b1..000000000
--- a/assets/js/9046ac9e.384aa7ce.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3656],{22312:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"tutorials/tutorial-transform","title":"Transform input data","description":"\x3c!--","source":"@site/docs/34.0.0/tutorials/tutorial-transform.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-transform","permalink":"/docs/34.0.0/tutorials/tutorial-transform","draft [...]
\ No newline at end of file
diff --git a/assets/js/9216ddc9.d7bb270b.js b/assets/js/9216ddc9.d7bb270b.js
deleted file mode 100644
index 6319b7a08..000000000
--- a/assets/js/9216ddc9.d7bb270b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2203],{28453:(e,r,s)=>{s.d(r,{R:()=>a,x:()=>o});var n=s(96540);const i={},t=n.createContext(i);function a(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(t.Provider,{value:r},e.children)}},68955:(e,r,s)=>{s.d(r,{A:()=>n}) [...]
\ No newline at end of file
diff --git a/assets/js/92594f97.522e62ef.js b/assets/js/92594f97.522e62ef.js
deleted file mode 100644
index b77784903..000000000
--- a/assets/js/92594f97.522e62ef.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4518],{28453:(e,t,n)=>{n.d(t,{R:()=>d,x:()=>o});var i=n(96540);const r={},s=i.createContext(r);function d(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(s.Provider,{value:t},e.children)}},97888:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/9557406b.03541e73.js b/assets/js/9557406b.03541e73.js
deleted file mode 100644
index ddd528b55..000000000
--- a/assets/js/9557406b.03541e73.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[709],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var i=t(96540);const a={},r=i.createContext(a);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(r.Provider,{value:n},e.children)}},41179:(e,n,t)=>{t.r(n),t.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/95f72f0d.49bf0ba3.js b/assets/js/95f72f0d.49bf0ba3.js
deleted file mode 100644
index 7cdab2616..000000000
--- a/assets/js/95f72f0d.49bf0ba3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1612],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var s=n(96540);const a={},o=s.createContext(a);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(o.Provider,{value:t},e.children)}},80018:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/9661201b.9a8e6fde.js b/assets/js/9661201b.9a8e6fde.js
deleted file mode 100644
index 05728aa77..000000000
--- a/assets/js/9661201b.9a8e6fde.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1754],{28453:(e,n,i)=>{i.d(n,{R:()=>d,x:()=>a});var r=i(96540);const s={},t=r.createContext(s);function d(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(t.Provider,{value:n},e.children)}},66721:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/98453339.4a44195f.js b/assets/js/98453339.4a44195f.js
deleted file mode 100644
index 8d91cee4a..000000000
--- a/assets/js/98453339.4a44195f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7603],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(96540);const i={},r=s.createContext(i);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:n},e.children)}},97880:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/987d21e7.04a5a9ca.js b/assets/js/987d21e7.04a5a9ca.js
deleted file mode 100644
index 0c1ac7b58..000000000
--- a/assets/js/987d21e7.04a5a9ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8186],{18476:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"operations/export-metadata","title":"Export Metadata Tool","description":"\x3c!--","source":"@site/docs/34.0.0/operations/export-metadata.md","sourceDirName":"operations","slug":"/operations/export-metadata","permalink":"/docs/34.0.0/operations/export-metadata","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/98e627e0.bfd02497.js b/assets/js/98e627e0.bfd02497.js
deleted file mode 100644
index 9bf1a7344..000000000
--- a/assets/js/98e627e0.bfd02497.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3047],{15633:(e,t,s)=>{s.d(t,{A:()=>a});const a=s.p+"assets/images/tutorial-batch-data-loader-12-220d0ea9d5e2b5549721db29e5ca7260.png"},27283:(e,t,s)=>{s.d(t,{A:()=>a});const a=s.p+"assets/images/tutorial-batch-data-loader-03-58febe17527a612312c8477ed7ebc2a5.png"},28453:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>o});var a=s(96540);const i={},n=a.createContext(i);function r(e){const t=a.useContext(n);return a.useMemo((function(){return"fun [...]
\ No newline at end of file
diff --git a/assets/js/99d91b5a.b9af8608.js b/assets/js/99d91b5a.b9af8608.js
deleted file mode 100644
index 0efb9d6ea..000000000
--- a/assets/js/99d91b5a.b9af8608.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5752],{28453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>r});var a=n(96540);const s={},i=a.createContext(s);function l(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),a.createElement(i.Provider,{value:t},e.children)}},41862:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/9ab3c40d.0f1ad03c.js b/assets/js/9ab3c40d.0f1ad03c.js
deleted file mode 100644
index c183ae6c8..000000000
--- a/assets/js/9ab3c40d.0f1ad03c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[541],{17066:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"querying/sql-operators","title":"Druid SQL Operators","description":"\x3c!--","source":"@site/docs/34.0.0/querying/sql-operators.md","sourceDirName":"querying","slug":"/querying/sql-operators","permalink":"/docs/34.0.0/querying/sql-operators","draft":false,"unlisted":false,"t [...]
\ No newline at end of file
diff --git a/assets/js/9aea5069.8f618c61.js b/assets/js/9aea5069.8f618c61.js
deleted file mode 100644
index f6fadd155..000000000
--- a/assets/js/9aea5069.8f618c61.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5339],{28453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>i});var n=s(96540);const a={},r=n.createContext(a);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(r.Provider,{value:t},e.children)}},32938:(e,t,s)=>{s.r(t),s.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/9c608ec3.8c80acee.js b/assets/js/9c608ec3.8c80acee.js
deleted file mode 100644
index 06fcd1d4f..000000000
--- a/assets/js/9c608ec3.8c80acee.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[806],{18405:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>h,contentTitle:()=>c,default:()=>a,frontMatter:()=>d,metadata:()=>s,toc:()=>t});const s=JSON.parse('{"id":"querying/sql-functions","title":"All Druid SQL functions","description":"\x3c!--","source":"@site/docs/34.0.0/querying/sql-functions.md","sourceDirName":"querying","slug":"/querying/sql-functions","permalink":"/docs/34.0.0/querying/sql-functions","draft":false,"unlisted":fals [...]
\ No newline at end of file
diff --git a/assets/js/9d58a778.8eb0cdcc.js b/assets/js/9d58a778.8eb0cdcc.js
deleted file mode 100644
index f3253d69e..000000000
--- a/assets/js/9d58a778.8eb0cdcc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4586],{28453:(e,t,s)=>{s.d(t,{R:()=>n,x:()=>c});var d=s(96540);const r={},i=d.createContext(r);function n(e){const t=d.useContext(i);return d.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),d.createElement(i.Provider,{value:t},e.children)}},89042:(e,t,s)=>{s.r(t),s.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/9dd30c58.ca5d90e2.js b/assets/js/9dd30c58.ca5d90e2.js
deleted file mode 100644
index 4eaf11ee7..000000000
--- a/assets/js/9dd30c58.ca5d90e2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8587],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var i=t(96540);const s={},a=i.createContext(s);function r(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:n},e.children)}},60976:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/9df95d50.e8d3c461.js b/assets/js/9df95d50.e8d3c461.js
deleted file mode 100644
index f7929c96e..000000000
--- a/assets/js/9df95d50.e8d3c461.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2735],{28453:(e,r,t)=>{t.d(r,{R:()=>s,x:()=>a});var i=t(96540);const o={},n=i.createContext(o);function s(e){const r=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(n.Provider,{value:r},e.children)}},72911:(e,r,t)=>{t.r(r),t.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/9ede9919.e403fd2a.js b/assets/js/9ede9919.e403fd2a.js
deleted file mode 100644
index 0577a88c3..000000000
--- a/assets/js/9ede9919.e403fd2a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1932],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>d});var a=t(96540);const i={},s=a.createContext(i);function o(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(s.Provider,{value:n},e.children)}},51831:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/9fca01aa.de1b6723.js b/assets/js/9fca01aa.de1b6723.js
deleted file mode 100644
index 3bc64fe51..000000000
--- a/assets/js/9fca01aa.de1b6723.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[717],{28453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>t});var s=n(96540);const i={},o=s.createContext(i);function d(e){const r=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(o.Provider,{value:r},e.children)}},52794:(e,r,n)=>{n.r(r),n.d(r,{ass [...]
\ No newline at end of file
diff --git a/assets/js/a01375de.06b1bde2.js b/assets/js/a01375de.06b1bde2.js
deleted file mode 100644
index ae8f4491f..000000000
--- a/assets/js/a01375de.06b1bde2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6557],{28453:(e,n,t)=>{t.d(n,{R:()=>d,x:()=>a});var r=t(96540);const s={},i=r.createContext(s);function d(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(i.Provider,{value:n},e.children)}},95372:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/a0c9993e.ca16a8d1.js b/assets/js/a0c9993e.ca16a8d1.js
deleted file mode 100644
index ca10db288..000000000
--- a/assets/js/a0c9993e.ca16a8d1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7182],{28453:(e,r,s)=>{s.d(r,{R:()=>o,x:()=>a});var t=s(96540);const i={},n=t.createContext(i);function o(e){const r=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(n.Provider,{value:r},e.children)}},77689:(e,r,s)=>{s.r(r),s.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/a1d05d86.9de34c6e.js b/assets/js/a1d05d86.9de34c6e.js
deleted file mode 100644
index df9fd86c9..000000000
--- a/assets/js/a1d05d86.9de34c6e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1008],{22160:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"design/peons","title":"Peon service","description":"\x3c!--","source":"@site/docs/34.0.0/design/peons.md","sourceDirName":"design","slug":"/design/peons","permalink":"/docs/34.0.0/design/peons","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"id": [...]
\ No newline at end of file
diff --git a/assets/js/a293028b.a4a19293.js b/assets/js/a293028b.a4a19293.js
deleted file mode 100644
index 5f3597724..000000000
--- a/assets/js/a293028b.a4a19293.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3394],{18430:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>s,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>r});const t=JSON.parse('{"id":"development/extensions-core/druid-lookups","title":"Cached Lookup Module","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-core/druid-lookups.md","sourceDirName":"development/extensions-core","slug":"/development/extensions-core/druid-lookups","perm [...]
\ No newline at end of file
diff --git a/assets/js/a305164a.c7fa71af.js b/assets/js/a305164a.c7fa71af.js
deleted file mode 100644
index 287f76617..000000000
--- a/assets/js/a305164a.c7fa71af.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[870],{28453:(e,t,a)=>{a.d(t,{R:()=>d,x:()=>i});var s=a(96540);const r={},n=s.createContext(r);function d(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),s.createElement(n.Provider,{value:t},e.children)}},55820:(e,t,a)=>{a.r(t),a.d(t,{ass [...]
\ No newline at end of file
diff --git a/assets/js/a7b1bf42.e72f1fdc.js b/assets/js/a7b1bf42.e72f1fdc.js
deleted file mode 100644
index 6c14c438d..000000000
--- a/assets/js/a7b1bf42.e72f1fdc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9510],{28453:(e,r,s)=>{s.d(r,{R:()=>n,x:()=>t});var o=s(96540);const d={},i=o.createContext(d);function n(e){const r=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:n(e.components),o.createElement(i.Provider,{value:r},e.children)}},66663:(e,r,s)=>{s.r(r),s.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/a8cc8574.ed5174ac.js b/assets/js/a8cc8574.ed5174ac.js
deleted file mode 100644
index 572a3d660..000000000
--- a/assets/js/a8cc8574.ed5174ac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5662],{28453:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>a});var s=t(96540);const r={},i=s.createContext(r);function l(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(i.Provider,{value:n},e.children)}},71729:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/a8f9299c.d94fe7d6.js b/assets/js/a8f9299c.d94fe7d6.js
deleted file mode 100644
index cf2016f16..000000000
--- a/assets/js/a8f9299c.d94fe7d6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4340],{28453:(n,e,t)=>{t.d(e,{R:()=>l,x:()=>o});var d=t(96540);const s={},i=d.createContext(s);function l(n){const e=d.useContext(i);return d.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function o(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:l(n.components),d.createElement(i.Provider,{value:e},n.children)}},79083:(n,e,t)=>{t.r(e),t.d(e,{as [...]
\ No newline at end of file
diff --git a/assets/js/aad827b4.2cb458f3.js b/assets/js/aad827b4.2cb458f3.js
deleted file mode 100644
index 399b8a7e6..000000000
--- a/assets/js/aad827b4.2cb458f3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9358],{4949:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"operations/metadata-migration","title":"Metadata Migration","description":"\x3c!--","source":"@site/docs/34.0.0/operations/metadata-migration.md","sourceDirName":"operations","slug":"/operations/metadata-migration","permalink":"/docs/34.0.0/operations/metadata-migration","dra [...]
\ No newline at end of file
diff --git a/assets/js/abaf339c.a1f6d524.js b/assets/js/abaf339c.a1f6d524.js
deleted file mode 100644
index 4c30b9099..000000000
--- a/assets/js/abaf339c.a1f6d524.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7733],{7652:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"tutorials/tutorial-latest-by","title":"Query for latest values","description":"How to use LATEST_BY or deltas for up-to-date values.","source":"@site/docs/34.0.0/tutorials/tutorial-latest-by.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-latest-by","permalink":"/ [...]
\ No newline at end of file
diff --git a/assets/js/ac06fb01.e4a88a04.js b/assets/js/ac06fb01.e4a88a04.js
deleted file mode 100644
index 03e11e120..000000000
--- a/assets/js/ac06fb01.e4a88a04.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2340],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var i=t(96540);const a={},s=i.createContext(a);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),i.createElement(s.Provider,{value:n},e.children)}},85004:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/ad57d158.46d41512.js b/assets/js/ad57d158.46d41512.js
deleted file mode 100644
index 4b73e18c0..000000000
--- a/assets/js/ad57d158.46d41512.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9262],{20596:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"operations/rolling-updates","title":"Rolling updates","description":"\x3c!--","source":"@site/docs/34.0.0/operations/rolling-updates.md","sourceDirName":"operations","slug":"/operations/rolling-updates","permalink":"/docs/34.0.0/operations/rolling-updates","draft":false,"unl [...]
\ No newline at end of file
diff --git a/assets/js/ad642817.a525b836.js b/assets/js/ad642817.a525b836.js
deleted file mode 100644
index 7dd574cd1..000000000
--- a/assets/js/ad642817.a525b836.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7476],{20111:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"configuration/index","title":"Configuration reference","description":"\x3c!--","source":"@site/docs/34.0.0/configuration/index.md","sourceDirName":"configuration","slug":"/configuration/","permalink":"/docs/34.0.0/configuration/","draft":false,"unlisted":false,"tags":[],"ver [...]
\ No newline at end of file
diff --git a/assets/js/adeefa03.4dc24158.js b/assets/js/adeefa03.4dc24158.js
deleted file mode 100644
index 6f0a61be6..000000000
--- a/assets/js/adeefa03.4dc24158.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[218],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var t=s(96540);const i={},r=t.createContext(i);function o(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}},93470:(e,n,s)=>{s.r(n),s.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/ae74e41c.c9728459.js b/assets/js/ae74e41c.c9728459.js
deleted file mode 100644
index 378ef132f..000000000
--- a/assets/js/ae74e41c.c9728459.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6843],{10792:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"data-management/manual-compaction","title":"Manual compaction","description":"\x3c!--","source":"@site/docs/34.0.0/data-management/manual-compaction.md","sourceDirName":"data-management","slug":"/data-management/manual-compaction","permalink":"/docs/34.0.0/data-management/ma [...]
\ No newline at end of file
diff --git a/assets/js/aeca461e.9d2301b2.js b/assets/js/aeca461e.9d2301b2.js
deleted file mode 100644
index 86fcd323e..000000000
--- a/assets/js/aeca461e.9d2301b2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9437],{28453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>d});var s=n(96540);const a={},i=s.createContext(a);function l(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),s.createElement(i.Provider,{value:t},e.children)}},39908:(e,t,n)=>{n.d(t,{A:()=>s}) [...]
\ No newline at end of file
diff --git a/assets/js/af79f0c6.c4c6844f.js b/assets/js/af79f0c6.c4c6844f.js
deleted file mode 100644
index 0dcf7b0f4..000000000
--- a/assets/js/af79f0c6.c4c6844f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2263],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var s=n(96540);const i={},a=s.createContext(i);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(a.Provider,{value:t},e.children)}},47777:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/b03329aa.9585be9a.js b/assets/js/b03329aa.9585be9a.js
deleted file mode 100644
index 162d1a4a2..000000000
--- a/assets/js/b03329aa.9585be9a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2750],{28453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(96540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}},29891:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/b0c79e6c.e6ced527.js b/assets/js/b0c79e6c.e6ced527.js
deleted file mode 100644
index e4e611bd5..000000000
--- a/assets/js/b0c79e6c.e6ced527.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5512],{28453:(e,i,r)=>{r.d(i,{R:()=>s,x:()=>c});var n=r(96540);const t={},o=n.createContext(t);function s(e){const i=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),n.createElement(o.Provider,{value:i},e.children)}},80983:(e,i,r)=>{r.r(i),r.d(i,{as [...]
\ No newline at end of file
diff --git a/assets/js/b20fe0a6.a7318038.js b/assets/js/b20fe0a6.a7318038.js
deleted file mode 100644
index 254bd4796..000000000
--- a/assets/js/b20fe0a6.a7318038.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2659],{28453:(e,r,n)=>{n.d(r,{R:()=>l,x:()=>t});var a=n(96540);const s={},i=a.createContext(s);function l(e){const r=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),a.createElement(i.Provider,{value:r},e.children)}},76593:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/b2d41fa9.b0a95cd0.js b/assets/js/b2d41fa9.b0a95cd0.js
deleted file mode 100644
index bfd942f02..000000000
--- a/assets/js/b2d41fa9.b0a95cd0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2820],{28453:(e,n,r)=>{r.d(n,{R:()=>d,x:()=>c});var s=r(96540);const i={},l=s.createContext(i);function d(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(l.Provider,{value:n},e.children)}},41885:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/b2f48f26.2b200a32.js b/assets/js/b2f48f26.2b200a32.js
deleted file mode 100644
index 716c5dc50..000000000
--- a/assets/js/b2f48f26.2b200a32.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5799],{5487:(e,s,t)=>{t.d(s,{A:()=>i});const i=t.p+"assets/images/supervisor-info-dialog-300a1e58533b10622fd945eca74911e4.png"},13419:(e,s,t)=>{t.d(s,{A:()=>i});const i=t.p+"assets/images/supervisor-actions-7ac02856cc2f02bfb04ffeacd1c0beeb.png"},28453:(e,s,t)=>{t.d(s,{R:()=>o,x:()=>d});var i=t(96540);const n={},r=i.createContext(n);function o(e){const s=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e( [...]
\ No newline at end of file
diff --git a/assets/js/b600e83f.7af877cd.js b/assets/js/b600e83f.7af877cd.js
deleted file mode 100644
index 45c634607..000000000
--- a/assets/js/b600e83f.7af877cd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3235],{28453:(e,r,n)=>{n.d(r,{R:()=>s,x:()=>a});var t=n(96540);const i={},o=t.createContext(i);function s(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(o.Provider,{value:r},e.children)}},91766:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/b6d922f1.68343db9.js b/assets/js/b6d922f1.68343db9.js
deleted file mode 100644
index a3aff3e71..000000000
--- a/assets/js/b6d922f1.68343db9.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[4849],{4314:e=>{e.exports.h=[{version:"33.0.0",date:"Apr 29 2025"},{version:"32.0.1",date:"Mar 19 2025"},{version:"31.0.2",date:"Mar 19 2025"}]},28453:(e,r,s)=>{"use strict";s.d(r,{R:()=>n,x:()=>t});var a=s(96540);const i={},d=a.createContext(i);function n(e){const r=a.useContext(d);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.comp [...]
\ No newline at end of file
diff --git a/assets/js/b71a9ec5.2dfb68a5.js b/assets/js/b71a9ec5.2dfb68a5.js
deleted file mode 100644
index 46ea004d7..000000000
--- a/assets/js/b71a9ec5.2dfb68a5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9618],{28453:(e,i,n)=>{n.d(i,{R:()=>o,x:()=>r});var t=n(96540);const s={},a=t.createContext(s);function o(e){const i=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function r(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(a.Provider,{value:i},e.children)}},48459:(e,i,n)=>{n.d(i,{A:()=>t}) [...]
\ No newline at end of file
diff --git a/assets/js/b83678bf.580294a9.js b/assets/js/b83678bf.580294a9.js
deleted file mode 100644
index 39db5e9a0..000000000
--- a/assets/js/b83678bf.580294a9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6783],{28453:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>i});var a=s(96540);const n={},o=a.createContext(n);function r(e){const t=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),a.createElement(o.Provider,{value:t},e.children)}},61860:(e,t,s)=>{s.r(t),s.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/b964b515.2ad77303.js b/assets/js/b964b515.2ad77303.js
deleted file mode 100644
index 6d7d4e2eb..000000000
--- a/assets/js/b964b515.2ad77303.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3888],{707:(e,t,a)=>{a.d(t,{A:()=>s});const s=a.p+"assets/images/tutorial-kafka-data-loader-12-3cd1aa4f7669845ca042aa2e524ea521.png"},7700:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"tutorials/tutorial-kafka","title":"Load streaming data from Apache Kafka","description":"\x3c!--","source":"@site/docs/latest/tutorials/tutorial-kafk [...]
\ No newline at end of file
diff --git a/assets/js/b9e10432.1c327393.js b/assets/js/b9e10432.1c327393.js
deleted file mode 100644
index e01e3640d..000000000
--- a/assets/js/b9e10432.1c327393.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[313],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>i});var l=r(96540);const s={},t=l.createContext(s);function a(e){const n=l.useContext(t);return l.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),l.createElement(t.Provider,{value:n},e.children)}},65537:(e,n,r)=>{r.d(n,{A:()=>b}); [...]
\ No newline at end of file
diff --git a/assets/js/ba471ed5.85046ba2.js b/assets/js/ba471ed5.85046ba2.js
deleted file mode 100644
index 942c4a6d6..000000000
--- a/assets/js/ba471ed5.85046ba2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7120],{5973:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/tutorial-sql-query-plan-f9aae6d8f66389766c16b59aadd1a2f0.png"},10407:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/tutorial-sql-aggregate-query-cda2de57ff7e679c2ebb5d1373b3ff62.png"},21447:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/tutorial-sql-auto-queries-eb62d0f4f2bb563fddf353a7afbd18a2.png"},28453:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>a});var s=t [...]
\ No newline at end of file
diff --git a/assets/js/bb239c4c.4939a7d5.js b/assets/js/bb239c4c.4939a7d5.js
deleted file mode 100644
index 21fdb42c8..000000000
--- a/assets/js/bb239c4c.4939a7d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1869],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>c});var s=n(96540);const i={},r=s.createContext(i);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:t},e.children)}},86940:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/bb43924b.7036b7fa.js b/assets/js/bb43924b.7036b7fa.js
deleted file mode 100644
index 9101d77ae..000000000
--- a/assets/js/bb43924b.7036b7fa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1431],{28453:(e,r,i)=>{i.d(r,{R:()=>a,x:()=>o});var n=i(96540);const t={},s=n.createContext(t);function a(e){const r=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),n.createElement(s.Provider,{value:r},e.children)}},89018:(e,r,i)=>{i.r(r),i.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/bbbb2fd2.d78ec710.js b/assets/js/bbbb2fd2.d78ec710.js
deleted file mode 100644
index 4ca759b65..000000000
--- a/assets/js/bbbb2fd2.d78ec710.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9101],{28453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>c});var n=s(96540);const i={},a=n.createContext(i);function o(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(a.Provider,{value:t},e.children)}},74692:(e,t,s)=>{s.r(t),s.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/bcc171e0.d4455e00.js b/assets/js/bcc171e0.d4455e00.js
deleted file mode 100644
index aeb9afcbb..000000000
--- a/assets/js/bcc171e0.d4455e00.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8369],{28453:(e,n,l)=>{l.d(n,{R:()=>s,x:()=>d});var i=l(96540);const t={},r=i.createContext(t);function s(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),i.createElement(r.Provider,{value:n},e.children)}},50665:(e,n,l)=>{l.r(n),l.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/bd8c7b4f.1e2e74dd.js b/assets/js/bd8c7b4f.1e2e74dd.js
deleted file mode 100644
index d5f41bbe4..000000000
--- a/assets/js/bd8c7b4f.1e2e74dd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3451],{17305:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"ingestion/rollup","title":"Data rollup","description":"Introduces rollup as a concept. Provides suggestions to maximize the benefits of rollup. Differentiates between perfect and best-effort rollup.","source":"@site/docs/34.0.0/ingestion/rollup.md","sourceDirName":"ingestion [...]
\ No newline at end of file
diff --git a/assets/js/bee5d326.aa53a7b3.js b/assets/js/bee5d326.aa53a7b3.js
deleted file mode 100644
index 599c01bdf..000000000
--- a/assets/js/bee5d326.aa53a7b3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9025],{28453:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>l});var r=t(96540);const n={},d=r.createContext(n);function i(e){const s=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(d.Provider,{value:s},e.children)}},56935:(e,s,t)=>{t.r(s),t.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/c0161e79.85a52a06.js b/assets/js/c0161e79.85a52a06.js
deleted file mode 100644
index 41a3da3a3..000000000
--- a/assets/js/c0161e79.85a52a06.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4113],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var s=t(96540);const i={},a=s.createContext(i);function o(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(a.Provider,{value:n},e.children)}},30480:(e,n,t)=>{t.d(n,{A:()=>s}) [...]
\ No newline at end of file
diff --git a/assets/js/c0b6aceb.3e791826.js b/assets/js/c0b6aceb.3e791826.js
deleted file mode 100644
index f44210375..000000000
--- a/assets/js/c0b6aceb.3e791826.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4167],{9257:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"ingestion/partitioning","title":"Partitioning","description":"Describes time chunk and secondary partitioning in Druid. Provides guidance to choose a secondary partition dimension.","source":"@site/docs/34.0.0/ingestion/partitioning.md","sourceDirName":"ingestion","slug":"/in [...]
\ No newline at end of file
diff --git a/assets/js/c28eac04.2eb08bb2.js b/assets/js/c28eac04.2eb08bb2.js
deleted file mode 100644
index adb19f226..000000000
--- a/assets/js/c28eac04.2eb08bb2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3429],{28453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>d});var a=i(96540);const r={},t=a.createContext(r);function s(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),a.createElement(t.Provider,{value:n},e.children)}},95894:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/c3e3e424.7fd71538.js b/assets/js/c3e3e424.7fd71538.js
deleted file mode 100644
index f722a6380..000000000
--- a/assets/js/c3e3e424.7fd71538.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3652],{22119:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>i});const n=JSON.parse('{"id":"development/extensions-core/test-stats","title":"Test stats aggregators","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-core/test-stats.md","sourceDirName":"development/extensions-core","slug":"/development/extensions-core/test-stats","permalink": [...]
\ No newline at end of file
diff --git a/assets/js/c48de5e1.1f3a82f1.js b/assets/js/c48de5e1.1f3a82f1.js
deleted file mode 100644
index 1a5049147..000000000
--- a/assets/js/c48de5e1.1f3a82f1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9066],{28453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>d});var r=n(96540);const i={},o=r.createContext(i);function s(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:t},e.children)}},91297:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/c4f5d8e4.4065eadd.js b/assets/js/c4f5d8e4.4065eadd.js
deleted file mode 100644
index 29cb852f7..000000000
--- a/assets/js/c4f5d8e4.4065eadd.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunk=self.webpackChunk||[]).push([[2634],{4314:e=>{e.exports.h=[{version:"33.0.0",date:"Apr 29 2025"},{version:"32.0.1",date:"Mar 19 2025"},{version:"31.0.2",date:"Mar 19 2025"}]},38965:(e,a,i)=>{"use strict";i.r(a),i.d(a,{default:()=>f});var t=i(93237),n=(i(96540),i(74848));function s(e){var a=e.data;return(0,n.jsxs)("div",{className:"druid-feature",children:[(0,n.jsx)("h5",{children:a.title}),(0,n.jsx)("p",{children:a.description})]})}function r(e){var a=e.jsonData;return [...]
\ No newline at end of file
diff --git a/assets/js/c53ada13.8f32d25a.js b/assets/js/c53ada13.8f32d25a.js
deleted file mode 100644
index 64f51d3e1..000000000
--- a/assets/js/c53ada13.8f32d25a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6186],{7331:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/tutorial-sql-aggregate-query-cda2de57ff7e679c2ebb5d1373b3ff62.png"},28453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>a});var t=s(96540);const r={},i=t.createContext(r);function l(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.co [...]
\ No newline at end of file
diff --git a/assets/js/c53d2891.8c8a4296.js b/assets/js/c53d2891.8c8a4296.js
deleted file mode 100644
index ee0187de0..000000000
--- a/assets/js/c53d2891.8c8a4296.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4578],{28453:(e,o,r)=>{r.d(o,{R:()=>n,x:()=>d});var i=r(96540);const t={},a=i.createContext(t);function n(e){const o=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function d(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:n(e.components),i.createElement(a.Provider,{value:o},e.children)}},88725:(e,o,r)=>{r.r(o),r.d(o,{as [...]
\ No newline at end of file
diff --git a/assets/js/c5d5e9bb.593acd87.js b/assets/js/c5d5e9bb.593acd87.js
deleted file mode 100644
index 50179465a..000000000
--- a/assets/js/c5d5e9bb.593acd87.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4576],{28453:(e,i,n)=>{n.d(i,{R:()=>t,x:()=>c});var r=n(96540);const s={},a=r.createContext(s);function t(e){const i=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(a.Provider,{value:i},e.children)}},73495:(e,i,n)=>{n.r(i),n.d(i,{as [...]
\ No newline at end of file
diff --git a/assets/js/c64bb127.0915ca91.js b/assets/js/c64bb127.0915ca91.js
deleted file mode 100644
index 860892c07..000000000
--- a/assets/js/c64bb127.0915ca91.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2528],{11207:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"design/indexing-service","title":"Indexing Service","description":"\x3c!--","source":"@site/docs/34.0.0/design/indexing-service.md","sourceDirName":"design","slug":"/design/indexing-service","permalink":"/docs/34.0.0/design/indexing-service","draft":false,"unlisted":false,"t [...]
\ No newline at end of file
diff --git a/assets/js/c673e4ff.239c52c0.js b/assets/js/c673e4ff.239c52c0.js
deleted file mode 100644
index 99f5acafb..000000000
--- a/assets/js/c673e4ff.239c52c0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2653],{28453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>a});var o=s(96540);const t={},r=o.createContext(t);function i(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),o.createElement(r.Provider,{value:n},e.children)}},47652:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/c67a4ff6.efa65f55.js b/assets/js/c67a4ff6.efa65f55.js
deleted file mode 100644
index 79085b249..000000000
--- a/assets/js/c67a4ff6.efa65f55.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[158],{28453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>a});var d=t(96540);const r={},s=d.createContext(r);function i(e){const n=d.useContext(s);return d.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),d.createElement(s.Provider,{value:n},e.children)}},53165:(e,n,t)=>{t.r(n),t.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/c69709ce.59b44432.js b/assets/js/c69709ce.59b44432.js
deleted file mode 100644
index 3c6c81a44..000000000
--- a/assets/js/c69709ce.59b44432.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9869],{28453:(e,s,i)=>{i.d(s,{R:()=>o,x:()=>r});var t=i(96540);const n={},a=t.createContext(n);function o(e){const s=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(a.Provider,{value:s},e.children)}},87882:(e,s,i)=>{i.r(s),i.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/c76c03a4.06051910.js b/assets/js/c76c03a4.06051910.js
deleted file mode 100644
index c53cd412b..000000000
--- a/assets/js/c76c03a4.06051910.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[948],{28453:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>r});var o=s(96540);const i={},l=o.createContext(i);function t(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),o.createElement(l.Provider,{value:n},e.children)}},96491:(e,n,s)=>{s.r(n),s.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/c7ce599f.7301d4bf.js b/assets/js/c7ce599f.7301d4bf.js
deleted file mode 100644
index d6efbac9b..000000000
--- a/assets/js/c7ce599f.7301d4bf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2382],{12723:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>a,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"development/extensions-core/simple-client-sslcontext","title":"Simple SSLContext Provider Module","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-core/simple-client-sslcontext.md","sourceDirName":"development/extensions-core","slug":"/development/e [...]
\ No newline at end of file
diff --git a/assets/js/c9a3b7d7.1e01d461.js b/assets/js/c9a3b7d7.1e01d461.js
deleted file mode 100644
index 09d4a0383..000000000
--- a/assets/js/c9a3b7d7.1e01d461.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3037],{28453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>d});var o=s(96540);const n={},r=o.createContext(n);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(r.Provider,{value:t},e.children)}},38081:(e,t,s)=>{s.r(t),s.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/c9fa3e8f.e5309df3.js b/assets/js/c9fa3e8f.e5309df3.js
deleted file mode 100644
index 86edd8d2f..000000000
--- a/assets/js/c9fa3e8f.e5309df3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5350],{17193:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>c,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"querying/sql-json-functions","title":"SQL JSON functions","description":"\x3c!--","source":"@site/docs/latest/querying/sql-json-functions.md","sourceDirName":"querying","slug":"/querying/sql-json-functions","permalink":"/docs/latest/querying/sql-json-functions","draft":false [...]
\ No newline at end of file
diff --git a/assets/js/cb30a0f5.3e52ca2d.js b/assets/js/cb30a0f5.3e52ca2d.js
deleted file mode 100644
index 6d36e44f9..000000000
--- a/assets/js/cb30a0f5.3e52ca2d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4153],{24858:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"querying/groupbyquery","title":"GroupBy queries","description":"\x3c!--","source":"@site/docs/34.0.0/querying/groupbyquery.md","sourceDirName":"querying","slug":"/querying/groupbyquery","permalink":"/docs/34.0.0/querying/groupbyquery","draft":false,"unlisted":false,"tags":[] [...]
\ No newline at end of file
diff --git a/assets/js/cc822cea.d7e8e0ea.js b/assets/js/cc822cea.d7e8e0ea.js
deleted file mode 100644
index b152c1d05..000000000
--- a/assets/js/cc822cea.d7e8e0ea.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6712],{2277:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tutorial-retention-06-8c3d36ef058fbe029fe3ef423d2341de.png"},17610:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tutorial-retention-01-09f120b6b0b2bc901f08801e508e778c.png"},28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(96540);const r={},s=i.createContext(r);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e? [...]
\ No newline at end of file
diff --git a/assets/js/cd1151c0.a40f27e8.js b/assets/js/cd1151c0.a40f27e8.js
deleted file mode 100644
index 4121af96f..000000000
--- a/assets/js/cd1151c0.a40f27e8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1275],{28453:(e,i,r)=>{r.d(i,{R:()=>s,x:()=>l});var t=r(96540);const n={},o=t.createContext(n);function s(e){const i=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),t.createElement(o.Provider,{value:i},e.children)}},79679:(e,i,r)=>{r.r(i),r.d(i,{as [...]
\ No newline at end of file
diff --git a/assets/js/cd22c7ca.c6b2cdb0.js b/assets/js/cd22c7ca.c6b2cdb0.js
deleted file mode 100644
index 2eb37e741..000000000
--- a/assets/js/cd22c7ca.c6b2cdb0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3216],{28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>d});var i=n(96540);const a={},s=i.createContext(a);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),i.createElement(s.Provider,{value:t},e.children)}},61401:(e,t,n)=>{n.r(t),n.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/ce64c312.55d352da.js b/assets/js/ce64c312.55d352da.js
deleted file mode 100644
index eea689131..000000000
--- a/assets/js/ce64c312.55d352da.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1318],{18901:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"ingestion/faq","title":"Ingestion troubleshooting FAQ","description":"\x3c!--","source":"@site/docs/34.0.0/ingestion/faq.md","sourceDirName":"ingestion","slug":"/ingestion/faq","permalink":"/docs/34.0.0/ingestion/faq","draft":false,"unlisted":false,"tags":[],"version":"curre [...]
\ No newline at end of file
diff --git a/assets/js/ce899a9a.445a5ba9.js b/assets/js/ce899a9a.445a5ba9.js
deleted file mode 100644
index af1775668..000000000
--- a/assets/js/ce899a9a.445a5ba9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3090],{2225:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"ingestion/native-batch-simple-task","title":"JSON-based batch simple task indexing","description":"\x3c!--","source":"@site/docs/34.0.0/ingestion/native-batch-simple-task.md","sourceDirName":"ingestion","slug":"/ingestion/native-batch-simple-task","permalink":"/docs/34.0.0/in [...]
\ No newline at end of file
diff --git a/assets/js/cea8fd56.85691a6a.js b/assets/js/cea8fd56.85691a6a.js
deleted file mode 100644
index 10675f303..000000000
--- a/assets/js/cea8fd56.85691a6a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3967],{1426:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/nested-msq-ingestion-transform-4f53f816ca16703df601f9c4f1aeee6d.png"},16046:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/nested-examine-schema-ec0698cf3626fab096319382a506e1b6.png"},20628:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"assets/images/nested-extract-as-type-10f1147de2c0b71bdc64f9b59b8fbd04.png"},20702:(e,n,s)=>{s.d(n,{A:()=>t});const t=s.p+"asset [...]
\ No newline at end of file
diff --git a/assets/js/cef60dd5.e6687af7.js b/assets/js/cef60dd5.e6687af7.js
deleted file mode 100644
index 815d0719a..000000000
--- a/assets/js/cef60dd5.e6687af7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3810],{24832:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>f,frontMatter:()=>r,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"ingestion/native-batch-firehose","title":"JSON-based batch ingestion with firehose (Deprecated)","description":"\x3c!--","source":"@site/docs/34.0.0/ingestion/native-batch-firehose.md","sourceDirName":"ingestion","slug":"/ingestion/native-batch-firehose","permalink":"/docs/3 [...]
\ No newline at end of file
diff --git a/assets/js/cf2847a6.61a417dd.js b/assets/js/cf2847a6.61a417dd.js
deleted file mode 100644
index 310e7e087..000000000
--- a/assets/js/cf2847a6.61a417dd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2096],{28453:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>l});var r=i(96540);const s={},a=r.createContext(s);function t(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(a.Provider,{value:n},e.children)}},68167:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/cfafa723.12ac2321.js b/assets/js/cfafa723.12ac2321.js
deleted file mode 100644
index 969a5e78a..000000000
--- a/assets/js/cfafa723.12ac2321.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[480],{28453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var s=n(96540);const i={},a=s.createContext(i);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(a.Provider,{value:t},e.children)}},75518:(e,t,n)=>{n.r(t),n.d(t,{ass [...]
\ No newline at end of file
diff --git a/assets/js/d0079074.27323a8d.js b/assets/js/d0079074.27323a8d.js
deleted file mode 100644
index 1fb496613..000000000
--- a/assets/js/d0079074.27323a8d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2082],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var i=t(96540);const s={},d=i.createContext(s);function r(e){const n=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(d.Provider,{value:n},e.children)}},38852:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/d05704bd.39d68a3c.js b/assets/js/d05704bd.39d68a3c.js
deleted file mode 100644
index b3b1f91dc..000000000
--- a/assets/js/d05704bd.39d68a3c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5345],{25916:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"development/extensions-contrib/compressed-big-decimal","title":"Compressed Big Decimal","description":"\x3c!--","source":"@site/docs/latest/development/extensions-contrib/compressed-big-decimal.md","sourceDirName":"development/extensions-contrib","slug":"/development/extensi [...]
\ No newline at end of file
diff --git a/assets/js/d1d4f029.61713b63.js b/assets/js/d1d4f029.61713b63.js
deleted file mode 100644
index e2f734907..000000000
--- a/assets/js/d1d4f029.61713b63.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4135],{1599:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"design/segments","title":"Segments","description":"\x3c!--","source":"@site/docs/34.0.0/design/segments.md","sourceDirName":"design","slug":"/design/segments","permalink":"/docs/34.0.0/design/segments","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter" [...]
\ No newline at end of file
diff --git a/assets/js/d24799e9.a870fff1.js b/assets/js/d24799e9.a870fff1.js
deleted file mode 100644
index 7f1886bd3..000000000
--- a/assets/js/d24799e9.a870fff1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2370],{13666:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/tutorial-msq-convert-3042e5d3f5b8888781ad4d07c246e42a.png"},28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var s=t(96540);const o={},i=s.createContext(o);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.component [...]
\ No newline at end of file
diff --git a/assets/js/d2bc9669.41930e7a.js b/assets/js/d2bc9669.41930e7a.js
deleted file mode 100644
index a7357ae5e..000000000
--- a/assets/js/d2bc9669.41930e7a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6602],{28453:(e,s,r)=>{r.d(s,{R:()=>i,x:()=>d});var n=r(96540);const l={},a=n.createContext(l);function i(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),n.createElement(a.Provider,{value:s},e.children)}},65537:(e,s,r)=>{r.d(s,{A:()=>S}) [...]
\ No newline at end of file
diff --git a/assets/js/d4ccc9d3.b9e1badc.js b/assets/js/d4ccc9d3.b9e1badc.js
deleted file mode 100644
index e254933d8..000000000
--- a/assets/js/d4ccc9d3.b9e1badc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5038],{18091:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>i,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"comparisons/druid-vs-spark","title":"Apache Druid vs Spark","description":"\x3c!--","source":"@site/docs/34.0.0/comparisons/druid-vs-spark.md","sourceDirName":"comparisons","slug":"/comparisons/druid-vs-spark","permalink":"/docs/34.0.0/comparisons/druid-vs-spark","draft":fal [...]
\ No newline at end of file
diff --git a/assets/js/d6226c05.6bc3cb37.js b/assets/js/d6226c05.6bc3cb37.js
deleted file mode 100644
index a0f315638..000000000
--- a/assets/js/d6226c05.6bc3cb37.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6645],{2801:(e,t,s)=>{s.d(t,{A:()=>a});const a=s.p+"assets/images/tutorial-batch-data-loader-05-d0c53acd1380865082797b0714f77f5a.png"},5857:(e,t,s)=>{s.d(t,{A:()=>a});const a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAVCAYAAACt4nWrAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAF6ADAAQAAAABAAAAFQAAAADcJ4LJAAACiklEQVQ4EbWVvYsTQRjGn9lvczlzkUONeChcLk1ERIygIGdhcXiIYmFnZWWh [...]
\ No newline at end of file
diff --git a/assets/js/d6a8f8f9.04e00770.js b/assets/js/d6a8f8f9.04e00770.js
deleted file mode 100644
index ac5182bec..000000000
--- a/assets/js/d6a8f8f9.04e00770.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9995],{28453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>l});var r=s(96540);const a={},t=r.createContext(a);function i(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(t.Provider,{value:n},e.children)}},42088:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/d6bc9e72.c5e8a059.js b/assets/js/d6bc9e72.c5e8a059.js
deleted file mode 100644
index e774f351c..000000000
--- a/assets/js/d6bc9e72.c5e8a059.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5073],{28453:(e,i,r)=>{r.d(i,{R:()=>d,x:()=>a});var n=r(96540);const t={},s=n.createContext(t);function d(e){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),n.createElement(s.Provider,{value:i},e.children)}},60933:(e,i,r)=>{r.r(i),r.d(i,{as [...]
\ No newline at end of file
diff --git a/assets/js/d70d7a37.dfa2a0e2.js b/assets/js/d70d7a37.dfa2a0e2.js
deleted file mode 100644
index e57478274..000000000
--- a/assets/js/d70d7a37.dfa2a0e2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[826],{14976:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>t,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"operations/other-hadoop","title":"Working with different versions of Apache Hadoop","description":"\x3c!--","source":"@site/docs/34.0.0/operations/other-hadoop.md","sourceDirName":"operations","slug":"/operations/other-hadoop","permalink":"/docs/34.0.0/operations/other-hadoop [...]
\ No newline at end of file
diff --git a/assets/js/d792390c.ba7b4cc4.js b/assets/js/d792390c.ba7b4cc4.js
deleted file mode 100644
index e16281e9f..000000000
--- a/assets/js/d792390c.ba7b4cc4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3518],{28453:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>i});var n=r(96540);const s={},c=n.createContext(s);function o(e){const t=n.useContext(c);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),n.createElement(c.Provider,{value:t},e.children)}},89909:(e,t,r)=>{r.r(t),r.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/d7b743bb.ab210478.js b/assets/js/d7b743bb.ab210478.js
deleted file mode 100644
index 4bda7290e..000000000
--- a/assets/js/d7b743bb.ab210478.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6646],{28453:(e,n,i)=>{i.d(n,{R:()=>d,x:()=>o});var s=i(96540);const t={},r=s.createContext(t);function d(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(r.Provider,{value:n},e.children)}},44093:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/d8a03379.785d36c3.js b/assets/js/d8a03379.785d36c3.js
deleted file mode 100644
index 33c989bdf..000000000
--- a/assets/js/d8a03379.785d36c3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3538],{9166:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"development/build","title":"Build from source","description":"\x3c!--","source":"@site/docs/34.0.0/development/build.md","sourceDirName":"development","slug":"/development/build","permalink":"/docs/34.0.0/development/build","draft":false,"unlisted":false,"tags":[],"version":" [...]
\ No newline at end of file
diff --git a/assets/js/d9090633.1dfe892a.js b/assets/js/d9090633.1dfe892a.js
deleted file mode 100644
index 471edbd73..000000000
--- a/assets/js/d9090633.1dfe892a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7207],{28453:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>d});var s=r(96540);const t={},i=s.createContext(t);function o(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(i.Provider,{value:n},e.children)}},37881:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/da4e7993.6ad6ef5b.js b/assets/js/da4e7993.6ad6ef5b.js
deleted file mode 100644
index 7d4411914..000000000
--- a/assets/js/da4e7993.6ad6ef5b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3227],{28453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var r=t(96540);const s={},a=r.createContext(s);function i(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:n},e.children)}},30295:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/da7a03c2.f2a7432b.js b/assets/js/da7a03c2.f2a7432b.js
deleted file mode 100644
index 8419e70ff..000000000
--- a/assets/js/da7a03c2.f2a7432b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9506],{7671:(e,r,s)=>{s.d(r,{A:()=>n});const n=s.p+"assets/images/services-overview-626a864a11edcf4945591a35d4a3814c.png"},28453:(e,r,s)=>{s.d(r,{R:()=>a,x:()=>t});var n=s(96540);const i={},o=n.createContext(i);function a(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i) [...]
\ No newline at end of file
diff --git a/assets/js/dbea89cc.90ce0820.js b/assets/js/dbea89cc.90ce0820.js
deleted file mode 100644
index e26b0c74e..000000000
--- a/assets/js/dbea89cc.90ce0820.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9876],{28453:(e,r,n)=>{n.d(r,{R:()=>i,x:()=>l});var t=n(96540);const s={},o=t.createContext(s);function i(e){const r=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),t.createElement(o.Provider,{value:r},e.children)}},68511:(e,r,n)=>{n.d(r,{A:()=>t}) [...]
\ No newline at end of file
diff --git a/assets/js/dc86ecba.781ecc46.js b/assets/js/dc86ecba.781ecc46.js
deleted file mode 100644
index 1f489c4b4..000000000
--- a/assets/js/dc86ecba.781ecc46.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[865],{2908:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tutorial-quickstart-02-02e231b09af60b9b3e84a66bf3742b49.png"},20421:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tutorial-quickstart-03-ca6142482a661095586235c8a9327067.png"},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>o});var i=n(96540);const r={},s=i.createContext(r);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e [...]
\ No newline at end of file
diff --git a/assets/js/dd1dce50.154c4ad4.js b/assets/js/dd1dce50.154c4ad4.js
deleted file mode 100644
index d672ec847..000000000
--- a/assets/js/dd1dce50.154c4ad4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3315],{23123:(e,s,n)=>{n.d(s,{A:()=>i});const i=n.p+"assets/images/indexing_service-e985270b9e0e342af71c0673407e5673.png"},28453:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>a});var i=n(96540);const r={},d=i.createContext(r);function t(e){const s=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r) [...]
\ No newline at end of file
diff --git a/assets/js/dd59fd53.9f978a89.js b/assets/js/dd59fd53.9f978a89.js
deleted file mode 100644
index 2e16874e6..000000000
--- a/assets/js/dd59fd53.9f978a89.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7087],{28453:(e,o,t)=>{t.d(o,{R:()=>r,x:()=>d});var n=t(96540);const i={},s=n.createContext(i);function r(e){const o=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function d(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(s.Provider,{value:o},e.children)}},66967:(e,o,t)=>{t.r(o),t.d(o,{as [...]
\ No newline at end of file
diff --git a/assets/js/dd8d5fae.decc5c5c.js b/assets/js/dd8d5fae.decc5c5c.js
deleted file mode 100644
index b73bf7250..000000000
--- a/assets/js/dd8d5fae.decc5c5c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[752],{28453:(e,t,n)=>{n.d(t,{R:()=>d,x:()=>l});var s=n(96540);const r={},i=s.createContext(r);function d(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),s.createElement(i.Provider,{value:t},e.children)}},43057:(e,t,n)=>{n.r(t),n.d(t,{ass [...]
\ No newline at end of file
diff --git a/assets/js/df701c77.583f4820.js b/assets/js/df701c77.583f4820.js
deleted file mode 100644
index 9784a9714..000000000
--- a/assets/js/df701c77.583f4820.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4282],{14072:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>d,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"development/modules","title":"Creating extensions","description":"\x3c!--","source":"@site/docs/34.0.0/development/modules.md","sourceDirName":"development","slug":"/development/modules","permalink":"/docs/34.0.0/development/modules","draft":false,"unlisted":false,"tags":[], [...]
\ No newline at end of file
diff --git a/assets/js/e3f4ee09.c046b3fa.js b/assets/js/e3f4ee09.c046b3fa.js
deleted file mode 100644
index 3c558e5f3..000000000
--- a/assets/js/e3f4ee09.c046b3fa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1118],{28453:(e,o,n)=>{n.d(o,{R:()=>s,x:()=>c});var t=n(96540);const i={},a=t.createContext(i);function s(e){const o=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function c(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(a.Provider,{value:o},e.children)}},55462:(e,o,n)=>{n.r(o),n.d(o,{as [...]
\ No newline at end of file
diff --git a/assets/js/e577ad77.44e4cb67.js b/assets/js/e577ad77.44e4cb67.js
deleted file mode 100644
index 9b703ad80..000000000
--- a/assets/js/e577ad77.44e4cb67.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2642],{28453:(e,s,t)=>{t.d(s,{R:()=>o,x:()=>d});var i=t(96540);const n={},r=i.createContext(n);function o(e){const s=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),i.createElement(r.Provider,{value:s},e.children)}},28999:(e,s,t)=>{t.d(s,{A:()=>i}) [...]
\ No newline at end of file
diff --git a/assets/js/e5b533f0.3dd0aa14.js b/assets/js/e5b533f0.3dd0aa14.js
deleted file mode 100644
index c27e7179e..000000000
--- a/assets/js/e5b533f0.3dd0aa14.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9280],{17101:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>d,metadata:()=>i,toc:()=>a});const i=JSON.parse('{"id":"operations/security-user-auth","title":"User authentication and authorization","description":"\x3c!--","source":"@site/docs/34.0.0/operations/security-user-auth.md","sourceDirName":"operations","slug":"/operations/security-user-auth","permalink":"/docs/34.0.0/operations/secu [...]
\ No newline at end of file
diff --git a/assets/js/e6ea7cb8.f082632b.js b/assets/js/e6ea7cb8.f082632b.js
deleted file mode 100644
index 7ed59968b..000000000
--- a/assets/js/e6ea7cb8.f082632b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9940],{17372:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"operations/rule-configuration","title":"Using rules to drop and retain data","description":"\x3c!--","source":"@site/docs/latest/operations/rule-configuration.md","sourceDirName":"operations","slug":"/operations/rule-configuration","permalink":"/docs/latest/operations/rule-c [...]
\ No newline at end of file
diff --git a/assets/js/e74a7806.1194ce50.js b/assets/js/e74a7806.1194ce50.js
deleted file mode 100644
index 4718399b1..000000000
--- a/assets/js/e74a7806.1194ce50.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6397],{28453:(e,o,n)=>{n.d(o,{R:()=>l,x:()=>r});var t=n(96540);const s={},i=t.createContext(s);function l(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(i.Provider,{value:o},e.children)}},62015:(e,o,n)=>{n.r(o),n.d(o,{as [...]
\ No newline at end of file
diff --git a/assets/js/e7e06f1d.5496eaea.js b/assets/js/e7e06f1d.5496eaea.js
deleted file mode 100644
index 1338b5695..000000000
--- a/assets/js/e7e06f1d.5496eaea.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5195],{28453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>l});var t=i(96540);const a={},r=t.createContext(a);function s(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),t.createElement(r.Provider,{value:n},e.children)}},62519:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/e93f2829.139d73c0.js b/assets/js/e93f2829.139d73c0.js
deleted file mode 100644
index 2a07750d0..000000000
--- a/assets/js/e93f2829.139d73c0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5527],{25242:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>u});const s=JSON.parse('{"id":"api-reference/sql-api","title":"Druid SQL API","description":"\x3c!--","source":"@site/docs/34.0.0/api-reference/sql-api.md","sourceDirName":"api-reference","slug":"/api-reference/sql-api","permalink":"/docs/34.0.0/api-reference/sql-api","draft":false,"unlisted":false,"tags" [...]
\ No newline at end of file
diff --git a/assets/js/e982aded.c4edbefd.js b/assets/js/e982aded.c4edbefd.js
deleted file mode 100644
index 080b02915..000000000
--- a/assets/js/e982aded.c4edbefd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4071],{28453:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>o});var t=s(96540);const i={},r=t.createContext(i);function d(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),t.createElement(r.Provider,{value:n},e.children)}},75026:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/e988a960.af660997.js b/assets/js/e988a960.af660997.js
deleted file mode 100644
index 63ebc87bd..000000000
--- a/assets/js/e988a960.af660997.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1369],{28453:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>i});var s=r(96540);const t={},a=s.createContext(t);function o(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(a.Provider,{value:n},e.children)}},65537:(e,n,r)=>{r.d(n,{A:()=>N}) [...]
\ No newline at end of file
diff --git a/assets/js/e9c39657.22ed35c5.js b/assets/js/e9c39657.22ed35c5.js
deleted file mode 100644
index 57c8d8ada..000000000
--- a/assets/js/e9c39657.22ed35c5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4682],{24230:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>o,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"tutorials/tutorial-unnest-arrays","title":"Unnest arrays within a column","description":"\x3c!--","source":"@site/docs/34.0.0/tutorials/tutorial-unnest-arrays.md","sourceDirName":"tutorials","slug":"/tutorials/tutorial-unnest-arrays","permalink":"/docs/34.0.0/tutorials/tutor [...]
\ No newline at end of file
diff --git a/assets/js/e9f8b574.8da28bb3.js b/assets/js/e9f8b574.8da28bb3.js
deleted file mode 100644
index 76128a103..000000000
--- a/assets/js/e9f8b574.8da28bb3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3009],{1422:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"design/metadata-storage","title":"Metadata storage","description":"\x3c!--","source":"@site/docs/34.0.0/design/metadata-storage.md","sourceDirName":"design","slug":"/design/metadata-storage","permalink":"/docs/34.0.0/design/metadata-storage","draft":false,"unlisted":false,"ta [...]
\ No newline at end of file
diff --git a/assets/js/ea02ee16.63d20fce.js b/assets/js/ea02ee16.63d20fce.js
deleted file mode 100644
index 04dfaebc6..000000000
--- a/assets/js/ea02ee16.63d20fce.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3480],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>c});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},83856:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/ea816cfc.b3cbfc1c.js b/assets/js/ea816cfc.b3cbfc1c.js
deleted file mode 100644
index 81162295a..000000000
--- a/assets/js/ea816cfc.b3cbfc1c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3196],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>l});var r=t(96540);const s={},i=r.createContext(s);function a(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(i.Provider,{value:n},e.children)}},74255:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/eb434dca.7f228b49.js b/assets/js/eb434dca.7f228b49.js
deleted file mode 100644
index d6d72467e..000000000
--- a/assets/js/eb434dca.7f228b49.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2733],{28453:(e,r,s)=>{s.d(r,{R:()=>o,x:()=>d});var t=s(96540);const n={},i=t.createContext(n);function o(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(i.Provider,{value:r},e.children)}},52317:(e,r,s)=>{s.r(r),s.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/ec2f3eed.d410c2d8.js b/assets/js/ec2f3eed.d410c2d8.js
deleted file mode 100644
index 2b907bf2a..000000000
--- a/assets/js/ec2f3eed.d410c2d8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4244],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>l});var i=t(96540);const s={},r=i.createContext(s);function a(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:n},e.children)}},46692:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/ec3fbf2f.1c2e5268.js b/assets/js/ec3fbf2f.1c2e5268.js
deleted file mode 100644
index 8baf0153f..000000000
--- a/assets/js/ec3fbf2f.1c2e5268.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4008],{3306:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"configuration/extensions","title":"Extensions","description":"\x3c!--","source":"@site/docs/34.0.0/configuration/extensions.md","sourceDirName":"configuration","slug":"/configuration/extensions","permalink":"/docs/34.0.0/configuration/extensions","draft":false,"unlisted":fals [...]
\ No newline at end of file
diff --git a/assets/js/ec4db940.d1a9aa11.js b/assets/js/ec4db940.d1a9aa11.js
deleted file mode 100644
index 5d09213de..000000000
--- a/assets/js/ec4db940.d1a9aa11.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9124],{28453:(e,r,t)=>{t.d(r,{R:()=>s,x:()=>a});var n=t(96540);const i={},o=n.createContext(i);function s(e){const r=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(o.Provider,{value:r},e.children)}},67533:(e,r,t)=>{t.r(r),t.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/ee513370.d6ff157f.js b/assets/js/ee513370.d6ff157f.js
deleted file mode 100644
index 5a7878ea0..000000000
--- a/assets/js/ee513370.d6ff157f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3188],{28453:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>l});var t=s(96540);const r={},i=t.createContext(r);function d(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),t.createElement(i.Provider,{value:n},e.children)}},98071:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/ef963abb.1af3d8f7.js b/assets/js/ef963abb.1af3d8f7.js
deleted file mode 100644
index aa60e7ebb..000000000
--- a/assets/js/ef963abb.1af3d8f7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[443],{28453:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>c});var s=i(96540);const r={},t=s.createContext(r);function l(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(t.Provider,{value:n},e.children)}},96125:(e,n,i)=>{i.r(n),i.d(n,{ass [...]
\ No newline at end of file
diff --git a/assets/js/efa71475.7c93b583.js b/assets/js/efa71475.7c93b583.js
deleted file mode 100644
index 12e5f1791..000000000
--- a/assets/js/efa71475.7c93b583.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[277],{28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>s});var r=n(96540);const c={},i=r.createContext(c);function o(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:o(e.components),r.createElement(i.Provider,{value:t},e.children)}},35363:(e,t,n)=>{n.d(t,{A:()=>i}); [...]
\ No newline at end of file
diff --git a/assets/js/f04833a0.893cd16b.js b/assets/js/f04833a0.893cd16b.js
deleted file mode 100644
index 5a7ae1101..000000000
--- a/assets/js/f04833a0.893cd16b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6556],{28453:(e,o,r)=>{r.d(o,{R:()=>n,x:()=>d});var t=r(96540);const a={},i=t.createContext(a);function n(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function d(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:n(e.components),t.createElement(i.Provider,{value:o},e.children)}},95548:(e,o,r)=>{r.r(o),r.d(o,{as [...]
\ No newline at end of file
diff --git a/assets/js/f0a1c229.81ce06d5.js b/assets/js/f0a1c229.81ce06d5.js
deleted file mode 100644
index 937cc8ee2..000000000
--- a/assets/js/f0a1c229.81ce06d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4783],{28453:(e,t,r)=>{r.d(t,{R:()=>a,x:()=>i});var s=r(96540);const n={},o=s.createContext(n);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(o.Provider,{value:t},e.children)}},56181:(e,t,r)=>{r.r(t),r.d(t,{as [...]
\ No newline at end of file
diff --git a/assets/js/f1cfb27d.967ee346.js b/assets/js/f1cfb27d.967ee346.js
deleted file mode 100644
index 30b2edb05..000000000
--- a/assets/js/f1cfb27d.967ee346.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4818],{28453:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>a});var t=s(96540);const i={},r=t.createContext(i);function d(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),t.createElement(r.Provider,{value:n},e.children)}},81927:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/f2b08aae.c1fdb32f.js b/assets/js/f2b08aae.c1fdb32f.js
deleted file mode 100644
index 9bfaef844..000000000
--- a/assets/js/f2b08aae.c1fdb32f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2590],{28453:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>l});var o=s(96540);const r={},i=o.createContext(r);function t(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),o.createElement(i.Provider,{value:n},e.children)}},99728:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/f461ab4c.39d9f49f.js b/assets/js/f461ab4c.39d9f49f.js
deleted file mode 100644
index 49e5d8c17..000000000
--- a/assets/js/f461ab4c.39d9f49f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7344],{28453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>c});var s=n(96540);const i={},t=s.createContext(i);function d(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(t.Provider,{value:r},e.children)}},35061:(e,r,n)=>{n.r(r),n.d(r,{as [...]
\ No newline at end of file
diff --git a/assets/js/f475cb36.c7769923.js b/assets/js/f475cb36.c7769923.js
deleted file mode 100644
index 807a9f600..000000000
--- a/assets/js/f475cb36.c7769923.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4813],{27609:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"querying/hll-old","title":"Cardinality/HyperUnique aggregators","description":"\x3c!--","source":"@site/docs/34.0.0/querying/hll-old.md","sourceDirName":"querying","slug":"/querying/hll-old","permalink":"/docs/34.0.0/querying/hll-old","draft":false,"unlisted":false,"tags":[] [...]
\ No newline at end of file
diff --git a/assets/js/f50e9825.976a20d9.js b/assets/js/f50e9825.976a20d9.js
deleted file mode 100644
index e89950a54..000000000
--- a/assets/js/f50e9825.976a20d9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1365],{28453:(e,n,c)=>{c.d(n,{R:()=>o,x:()=>s});var r=c(96540);const i={},t=r.createContext(i);function o(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(t.Provider,{value:n},e.children)}},66171:(e,n,c)=>{c.r(n),c.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/f5acae74.e154b8da.js b/assets/js/f5acae74.e154b8da.js
deleted file mode 100644
index be93cca18..000000000
--- a/assets/js/f5acae74.e154b8da.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4087],{3176:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"ingestion/partitioning","title":"Partitioning","description":"Describes time chunk and secondary partitioning in Druid. Provides guidance to choose a secondary partition dimension.","source":"@site/docs/latest/ingestion/partitioning.md","sourceDirName":"ingestion","slug":"/in [...]
\ No newline at end of file
diff --git a/assets/js/f6284e97.29d28272.js b/assets/js/f6284e97.29d28272.js
deleted file mode 100644
index 3ff33d622..000000000
--- a/assets/js/f6284e97.29d28272.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4600],{28453:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>a});var i=r(96540);const o={},s=i.createContext(o);function t(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),i.createElement(s.Provider,{value:n},e.children)}},61515:(e,n,r)=>{r.r(n),r.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/f7b190ec.c3da104c.js b/assets/js/f7b190ec.c3da104c.js
deleted file mode 100644
index f03263d3c..000000000
--- a/assets/js/f7b190ec.c3da104c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[182],{28453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>l});var r=s(96540);const a={},t=r.createContext(a);function i(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(t.Provider,{value:n},e.children)}},65537:(e,n,s)=>{s.d(n,{A:()=>y}); [...]
\ No newline at end of file
diff --git a/assets/js/f86ff023.d4a12bf4.js b/assets/js/f86ff023.d4a12bf4.js
deleted file mode 100644
index 6cfb3c9ed..000000000
--- a/assets/js/f86ff023.d4a12bf4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2854],{11286:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/tutorial-quickstart-04-10eea489c28fe821798a99cd69f18ea6.png"},24575:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/tutorial-quickstart-05-85c807249150e21f285bbbbff7dc9a4a.png"},25345:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"tutorials/index","title":"Local [...]
\ No newline at end of file
diff --git a/assets/js/f8edf111.2d9805ca.js b/assets/js/f8edf111.2d9805ca.js
deleted file mode 100644
index 341fdbfb6..000000000
--- a/assets/js/f8edf111.2d9805ca.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2123],{28453:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>d});var t=s(96540);const r={},i=t.createContext(r);function c(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),t.createElement(i.Provider,{value:n},e.children)}},64223:(e,n,s)=>{s.r(n),s.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/f9398440.ccdff328.js b/assets/js/f9398440.ccdff328.js
deleted file mode 100644
index ae3e4d6b4..000000000
--- a/assets/js/f9398440.ccdff328.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[9504],{2135:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>a,contentTitle:()=>l,default:()=>o,frontMatter:()=>i,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"querying/sql-metadata-tables","title":"SQL metadata tables","description":"\x3c!--","source":"@site/docs/34.0.0/querying/sql-metadata-tables.md","sourceDirName":"querying","slug":"/querying/sql-metadata-tables","permalink":"/docs/34.0.0/querying/sql-metadata-tables","draft":f [...]
\ No newline at end of file
diff --git a/assets/js/f95a04e6.93f3379b.js b/assets/js/f95a04e6.93f3379b.js
deleted file mode 100644
index 41785f915..000000000
--- a/assets/js/f95a04e6.93f3379b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7231],{28453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>a});var t=i(96540);const r={},o=t.createContext(r);function s(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(o.Provider,{value:n},e.children)}},90123:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/fa2bda6a.c06fc9e1.js b/assets/js/fa2bda6a.c06fc9e1.js
deleted file mode 100644
index 0a8000f7f..000000000
--- a/assets/js/fa2bda6a.c06fc9e1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5550],{1287:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/web-console-01-home-view-99f09e8760740e04b982b4d4c56fe6ed.png"},2096:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/web-console-10-servers-a6657c30723d278409d8d884d3655ed1.png"},14124:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/images/web-console-09-task-status-3bc2b07f8ebe5dca9d6259d011b97d47.png"},24290:(e,s,n)=>{n.d(s,{A:()=>t});const t=n.p+"assets/ [...]
\ No newline at end of file
diff --git a/assets/js/fa946d16.744960ed.js b/assets/js/fa946d16.744960ed.js
deleted file mode 100644
index 861dfe061..000000000
--- a/assets/js/fa946d16.744960ed.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[468],{28453:(e,s,n)=>{n.d(s,{R:()=>d,x:()=>o});var t=n(96540);const r={},i=t.createContext(r);function d(e){const s=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),t.createElement(i.Provider,{value:s},e.children)}},42972:(e,s,n)=>{n.r(s),n.d(s,{ass [...]
\ No newline at end of file
diff --git a/assets/js/fb95c555.52b02145.js b/assets/js/fb95c555.52b02145.js
deleted file mode 100644
index be0037916..000000000
--- a/assets/js/fb95c555.52b02145.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[3239],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var i=t(96540);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}},89866:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/fc0003ca.77aee8e1.js b/assets/js/fc0003ca.77aee8e1.js
deleted file mode 100644
index b7aac9a47..000000000
--- a/assets/js/fc0003ca.77aee8e1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7681],{28453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>o});var t=i(96540);const a={},r=t.createContext(a);function s(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),t.createElement(r.Provider,{value:n},e.children)}},40989:(e,n,i)=>{i.r(n),i.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/fc6529ab.3cbe8d40.js b/assets/js/fc6529ab.3cbe8d40.js
deleted file mode 100644
index 586894693..000000000
--- a/assets/js/fc6529ab.3cbe8d40.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5795],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var i=t(96540);const s={},c=i.createContext(s);function r(e){const n=i.useContext(c);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(c.Provider,{value:n},e.children)}},73158:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/fcb8805b.61cb1502.js b/assets/js/fcb8805b.61cb1502.js
deleted file mode 100644
index f29bf67d4..000000000
--- a/assets/js/fcb8805b.61cb1502.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8977],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var s=t(96540);const o={},i=s.createContext(o);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:n},e.children)}},43544:(e,n,t)=>{t.r(n),t.d(n,{as [...]
\ No newline at end of file
diff --git a/assets/js/fd068ea5.f6a19bee.js b/assets/js/fd068ea5.f6a19bee.js
deleted file mode 100644
index e13c9c98e..000000000
--- a/assets/js/fd068ea5.f6a19bee.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2028],{28453:(e,o,t)=>{t.d(o,{R:()=>d,x:()=>i});var r=t(96540);const n={},a=r.createContext(n);function d(e){const o=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),r.createElement(a.Provider,{value:o},e.children)}},89054:(e,o,t)=>{t.r(o),t.d(o,{as [...]
\ No newline at end of file
diff --git a/assets/js/fdb07466.9f468fb2.js b/assets/js/fdb07466.9f468fb2.js
deleted file mode 100644
index d2f737003..000000000
--- a/assets/js/fdb07466.9f468fb2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7662],{14152:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>l,frontMatter:()=>r,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"development/extensions-contrib/gce-extensions","title":"GCE Extensions","description":"\x3c!--","source":"@site/docs/34.0.0/development/extensions-contrib/gce-extensions.md","sourceDirName":"development/extensions-contrib","slug":"/development/extensions-contrib/gce-extensio [...]
\ No newline at end of file
diff --git a/assets/js/fef5691f.e464a744.js b/assets/js/fef5691f.e464a744.js
deleted file mode 100644
index 966ab9d42..000000000
--- a/assets/js/fef5691f.e464a744.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4937],{28453:(e,s,t)=>{t.d(s,{R:()=>o,x:()=>c});var n=t(96540);const r={},i=n.createContext(r);function o(e){const s=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(i.Provider,{value:s},e.children)}},31099:(e,s,t)=>{t.r(s),t.d(s,{as [...]
\ No newline at end of file
diff --git a/assets/js/ff9b333f.115341be.js b/assets/js/ff9b333f.115341be.js
deleted file mode 100644
index c56a84989..000000000
--- a/assets/js/ff9b333f.115341be.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5887],{28453:(e,n,r)=>{r.d(n,{R:()=>d,x:()=>o});var t=r(96540);const s={},i=t.createContext(s);function d(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(i.Provider,{value:n},e.children)}},65537:(e,n,r)=>{r.d(n,{A:()=>b}) [...]
\ No newline at end of file
diff --git a/assets/js/main.4054a563.js b/assets/js/main.4054a563.js
deleted file mode 100644
index 24fbfb7d8..000000000
--- a/assets/js/main.4054a563.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.4054a563.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[8792],{102:(e,t,n)=>{"use strict";n.d(t,{dV:()=>m,fM:()=>g,_q:()=>p,ZC:()=>f,Be:()=>h});var r=n(3909),o=n(77387);function a(e){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},a(e)}var s=n(63662);function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(i=function(){return!!e})()}function l(e){var t="function"==t [...]
\ No newline at end of file
diff --git a/assets/js/main.4054a563.js.LICENSE.txt b/assets/js/main.4054a563.js.LICENSE.txt
deleted file mode 100644
index ae63de0ab..000000000
--- a/assets/js/main.4054a563.js.LICENSE.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
- * @license MIT */
-
-/*! Bundled license information:
-
-prismjs/prism.js:
-  (**
-   * Prism: Lightweight, robust, elegant syntax highlighting
-   *
-   * @license MIT <https://opensource.org/licenses/MIT>
-   * @author Lea Verou <https://lea.verou.me>
-   * @namespace
-   * @public
-   *)
-*/
-
-/*!***************************************************
-* mark.js v8.11.1
-* https://markjs.io/
-* Copyright (c) 2014–2018, Julian Kühnel
-* Released under the MIT license https://git.io/vwTVl
-*****************************************************/
-
-/**
- * @license React
- * react-dom.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/**
- * @license React
- * react-jsx-runtime.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/**
- * @license React
- * react.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/**
- * @license React
- * scheduler.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/** @license React v16.13.1
- * react-is.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
diff --git a/assets/js/main.5b161358.js b/assets/js/main.5b161358.js
deleted file mode 100644
index feb4bbbca..000000000
--- a/assets/js/main.5b161358.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.5b161358.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[8792],{102:(e,t,n)=>{"use strict";n.d(t,{dV:()=>m,fM:()=>g,_q:()=>p,ZC:()=>f,Be:()=>h});var r=n(3909),o=n(77387);function a(e){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},a(e)}var i=n(63662);function s(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(s=function(){return!!e})()}function c(e){var t="function"==t [...]
\ No newline at end of file
diff --git a/assets/js/main.5b161358.js.LICENSE.txt b/assets/js/main.5b161358.js.LICENSE.txt
deleted file mode 100644
index ae63de0ab..000000000
--- a/assets/js/main.5b161358.js.LICENSE.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
- * @license MIT */
-
-/*! Bundled license information:
-
-prismjs/prism.js:
-  (**
-   * Prism: Lightweight, robust, elegant syntax highlighting
-   *
-   * @license MIT <https://opensource.org/licenses/MIT>
-   * @author Lea Verou <https://lea.verou.me>
-   * @namespace
-   * @public
-   *)
-*/
-
-/*!***************************************************
-* mark.js v8.11.1
-* https://markjs.io/
-* Copyright (c) 2014–2018, Julian Kühnel
-* Released under the MIT license https://git.io/vwTVl
-*****************************************************/
-
-/**
- * @license React
- * react-dom.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/**
- * @license React
- * react-jsx-runtime.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/**
- * @license React
- * react.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/**
- * @license React
- * scheduler.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/** @license React v16.13.1
- * react-is.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
diff --git a/assets/js/runtime~main.34793403.js b/assets/js/runtime~main.34793403.js
deleted file mode 100644
index 7f176b9b5..000000000
--- a/assets/js/runtime~main.34793403.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{"use strict";var e,a,f,d,b={},c={};function r(e){var a=c[e];if(void 0!==a)return a.exports;var f=c[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=c,e=[],r.O=(a,f,d,b)=>{if(!f){var c=1/0;for(i=0;i<e.length;i++){for(var[f,d,b]=e[i],t=!0,o=0;o<f.length;o++)(!1&b||c>=b)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,b<c&&(c=b));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}b=b||0;for(var i=e.lengt [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.ee6fe393.js b/assets/js/runtime~main.ee6fe393.js
deleted file mode 100644
index bf48b2cbc..000000000
--- a/assets/js/runtime~main.ee6fe393.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{"use strict";var e,c,a,f,d={},b={};function r(e){var c=b[e];if(void 0!==c)return c.exports;var a=b[e]={id:e,loaded:!1,exports:{}};return d[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=d,r.c=b,e=[],r.O=(c,a,f,d)=>{if(!a){var b=1/0;for(i=0;i<e.length;i++){for(var[a,f,d]=e[i],t=!0,o=0;o<a.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=f();void 0!==n&&(c=n)}}return c}d=d||0;for(var i=e.lengt [...]
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 425023539..c8da8ae02 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -5,8 +5,8 @@
 <meta name="generator" content="Docusaurus v3.7.0">
 <title data-rh="true">Redirecting... | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/blog"><meta data- [...]
 <script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.ee6fe393.js" defer="defer"></script>
-<script src="/assets/js/main.4054a563.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.8b66d127.js" defer="defer"></script>
+<script src="/assets/js/main.e6692f9d.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
diff --git a/community/cla/index.html b/community/cla/index.html
index b49c11762..1613f9cf1 100644
--- a/community/cla/index.html
+++ b/community/cla/index.html
@@ -5,8 +5,8 @@
 <meta name="generator" content="Docusaurus v3.7.0">
 <title data-rh="true">Druid Contributor License Agreement | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache. [...]
 <script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.ee6fe393.js" defer="defer"></script>
-<script src="/assets/js/main.4054a563.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.8b66d127.js" defer="defer"></script>
+<script src="/assets/js/main.e6692f9d.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
diff --git a/community/index.html b/community/index.html
index 6c405ccc1..0c0a7490b 100644
--- a/community/index.html
+++ b/community/index.html
@@ -5,8 +5,8 @@
 <meta name="generator" content="Docusaurus v3.7.0">
 <title data-rh="true">Apache Druid Community | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/community [...]
 <script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.ee6fe393.js" defer="defer"></script>
-<script src="/assets/js/main.4054a563.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.8b66d127.js" defer="defer"></script>
+<script src="/assets/js/main.e6692f9d.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
@@ -37,8 +37,9 @@ While Slack limits message history to the last 90 days, you can continue to acce
 Similar to Linen, Struct archives Slack threads so that you can continue to access messages beyond Slack&#x27;s 90 day retention period.</li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="getting-help">Getting help<a href="#getting-help" class="hash-link" aria-label="Direct link to Getting help" title="Direct link to Getting help">​</a></h2>
-<p>The best place to get a wide variety of help about Druid is on Slack. Use this link to join and invite others: <a href="/community/join-slack?v=1">https://druid.apache.org/community/join-slack</a>.</p>
-<p>You can also report issues and problems, or suggest a new feature, on <a href="https://github.com/apache/druid" target="_blank" rel="noopener noreferrer">GitHub</a>.</p>
+<p>The best place to get a wide variety of help about Druid is via <code>#druid</code> on the Apache Slack team. There is also a druid user
+google group <a href="https://groups.google.com/forum/#!forum/druid-user" target="_blank" rel="noopener noreferrer">druid-user@googlegroups.com</a> however slack is the preferred way to get help. You can also report issues and problems, or suggest
+new features, on <a href="https://github.com/apache/druid" target="_blank" rel="noopener noreferrer">GitHub</a>.</p>
 <p>Third party companies also provide commercial support and services for Druid, including:</p>
 <ul>
 <li><a href="https://www.cloudera.com/" target="_blank" rel="noopener noreferrer">Cloudera</a></li>
diff --git a/community/join-slack/index.html b/community/join-slack/index.html
index c33bbd788..4b83f1a26 100644
--- a/community/join-slack/index.html
+++ b/community/join-slack/index.html
@@ -5,11 +5,11 @@
 <meta name="generator" content="Docusaurus v3.7.0">
 <title data-rh="true">Redirecting... | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/community/join-sl [...]
 <script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.ee6fe393.js" defer="defer"></script>
-<script src="/assets/js/main.4054a563.js" defer="defer"></script>
+<script src="/assets/js/runtime~main.8b66d127.js" defer="defer"></script>
+<script src="/assets/js/main.e6692f9d.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<a href="https://join.slack.com/t/apachedruidworkspace/shared_invite/zt-32uc1hu5e-b27JR1wdik_RRma~Z3VgHw">Click here if you&#x27;re not redirected.</a></article></div></div></main></div><footer class="footer"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/favicon.png" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/favicon.png" class="footer__logo themedComponent_mlkZ theme [...]
+<a href="https://join.slack.com/t/apachedruidworkspace/shared_invite/zt-32htswe5e-lUvNjDHsjA92HeTlwEqPIg">Click here if you&#x27;re not redirected.</a></article></div></div></main></div><footer class="footer"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/favicon.png" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/favicon.png" class="footer__logo themedComponent_mlkZ theme [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference.html/index.html b/docs/34.0.0/api-reference.html/index.html
deleted file mode 100644
index 8f66f6498..000000000
--- a/docs/34.0.0/api-reference.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/automatic-compaction-api.html/index.html b/docs/34.0.0/api-reference/automatic-compaction-api.html/index.html
deleted file mode 100644
index dc330f0d9..000000000
--- a/docs/34.0.0/api-reference/automatic-compaction-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/automatic-compaction-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/automatic-compaction-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/automatic-compaction-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/automatic-compaction-api/index.html b/docs/34.0.0/api-reference/automatic-compaction-api/index.html
deleted file mode 100644
index fb46534bc..000000000
--- a/docs/34.0.0/api-reference/automatic-compaction-api/index.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/automatic-compaction-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Automatic compaction API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34 [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Experimental</div><div class="admonitionContent_BuS1"><p>Instead of the automatic  [...]
-<p>In this topic, <code>http://ROUTER_IP:ROUTER_PORT</code> is a placeholder for your Router service address and port. Replace it with the information for your deployment. For example, use <code>http://localhost:8888</code> for quickstart deployments.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="manage-automatic-compaction">Manage automatic compaction<a href="#manage-automatic-compaction" class="hash-link" aria-label="Direct link to Manage automatic compaction" title="Direct link to Manage automatic compaction">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-or-update-automatic-compaction-configuration">Create or update automatic compaction configuration<a href="#create-or-update-automatic-compaction-configuration" class="hash-link" aria-label="Direct link to Create or update automatic compaction configuration" title="Direct link to Create or update automatic compaction configuration">​</a></h3>
-<p>Creates or updates the automatic compaction configuration for a datasource. Pass the automatic compaction as a JSON object in the request body.</p>
-<p>The automatic compaction configuration requires only the <code>dataSource</code> property. Druid fills all other properties with default values if not specified. See <a href="/docs/34.0.0/configuration/#automatic-compaction-dynamic-configuration">Automatic compaction dynamic configuration</a> for configuration details.</p>
-<p>Note that this endpoint returns an HTTP <code>200 OK</code> message code even if the datasource name does not exist.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/coordinator/v1/config/compaction</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully submitted auto compaction configuration</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example creates an automatic compaction configuration for the datasource <code>wikipedia_hour</code>, which was ingested with <code>HOUR</code> segment granularity. This automatic compaction configuration performs compaction on <code>wikipedia_hour</code>, resulting in compacted segments that represent a day interval of data.</p>
-<p>In this example:</p>
-<ul>
-<li><code>wikipedia_hour</code> is a datasource with <code>HOUR</code> segment granularity.</li>
-<li><code>skipOffsetFromLatest</code> is set to <code>PT0S</code>, meaning that no data is skipped.</li>
-<li><code>partitionsSpec</code> is set to the default <code>dynamic</code>, allowing Druid to dynamically determine the optimal partitioning strategy.</li>
-<li><code>type</code> is set to <code>index_parallel</code>, meaning that parallel indexing is used.</li>
-<li><code>segmentGranularity</code> is set to <code>DAY</code>, meaning that each compacted segment is a day of data.</li>
-</ul>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="remove-automatic-compaction-configuration">Remove automatic compaction configuration<a href="#remove-automatic-compaction-configuration" class="hash-link" aria-label="Direct link to Remove automatic compaction configuration" title="Direct link to Remove automatic compaction configuration">​</a></h3>
-<p>Removes the automatic compaction configuration for a datasource. This updates the compaction status of the datasource to &quot;Not enabled.&quot;</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>DELETE</code> <code>/druid/coordinator/v1/config/compaction/{dataSource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully deleted automatic compaction configuration</em></p></div><div role="tabpanel" [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="update-capacity-for-compaction-tasks">Update capacity for compaction tasks<a href="#update-capacity-for-compaction-tasks" class="hash-link" aria-label="Direct link to Update capacity for compaction tasks" title="Direct link to Update capacity for compaction tasks">​</a></h3>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>This API is now deprecated. Use < [...]
-<p>Updates the capacity for compaction tasks. The minimum number of compaction tasks is 1 and the maximum is 2147483647.</p>
-<p>Note that while the max compaction tasks can theoretically be set to 2147483647, the practical limit is determined by the available cluster capacity and is capped at 10% of the cluster&#x27;s total capacity.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/coordinator/v1/config/compaction/taskslots</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters">Query parameters<a href="#query-parameters" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<p>To limit the maximum number of compaction tasks, use the optional query parameters <code>ratio</code> and <code>max</code>:</p>
-<ul>
-<li><code>ratio</code> (optional)<!-- -->
-<ul>
-<li>Type: Float</li>
-<li>Default: 0.1</li>
-<li>Limits the ratio of the total task slots to compaction task slots.</li>
-</ul>
-</li>
-<li><code>max</code> (optional)<!-- -->
-<ul>
-<li>Type: Int</li>
-<li>Default: 2147483647</li>
-<li>Limits the maximum number of task slots for compaction tasks.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated compaction configuration</em></p></div><div role="tabpanel" class="ta [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="view-automatic-compaction-configuration">View automatic compaction configuration<a href="#view-automatic-compaction-configuration" class="hash-link" aria-label="Direct link to View automatic compaction configuration" title="Direct link to View automatic compaction configuration">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-all-automatic-compaction-configurations">Get all automatic compaction configurations<a href="#get-all-automatic-compaction-configurations" class="hash-link" aria-label="Direct link to Get all automatic compaction configurations" title="Direct link to Get all automatic compaction configurations">​</a></h3>
-<p>Retrieves all automatic compaction configurations. Returns a <code>compactionConfigs</code> object containing the active automatic compaction configurations of all datasources.</p>
-<p>You can use this endpoint to retrieve <code>compactionTaskSlotRatio</code> and <code>maxCompactionTaskSlots</code> values for managing resource allocation of compaction tasks.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/config/compaction</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved automatic compaction configurations</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-automatic-compaction-configuration">Get automatic compaction configuration<a href="#get-automatic-compaction-configuration" class="hash-link" aria-label="Direct link to Get automatic compaction configuration" title="Direct link to Get automatic compaction configuration">​</a></h3>
-<p>Retrieves the automatic compaction configuration for a datasource.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-4">URL<a href="#url-4" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/config/compaction/{dataSource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-4">Responses<a href="#responses-4" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved configuration for datasource</em></p></div><div role="tabpanel" cla [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-4">Sample request<a href="#sample-request-4" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example retrieves the automatic compaction configuration for datasource <code>wikipedia_hour</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-4">Sample response<a href="#sample-response-4" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-automatic-compaction-configuration-history">Get automatic compaction configuration history<a href="#get-automatic-compaction-configuration-history" class="hash-link" aria-label="Direct link to Get automatic compaction configuration history" title="Direct link to Get automatic compaction configuration history">​</a></h3>
-<p>Retrieves the history of the automatic compaction configuration for a datasource. Returns an empty list if the  datasource does not exist or there is no compaction history for the datasource.</p>
-<p>The response contains a list of objects with the following keys:</p>
-<ul>
-<li><code>globalConfig</code>: A JSON object containing automatic compaction configuration that applies to the entire cluster.</li>
-<li><code>compactionConfig</code>: A JSON object containing the automatic compaction configuration for the datasource.</li>
-<li><code>auditInfo</code>: A JSON object containing information about the change made, such as <code>author</code>, <code>comment</code> or <code>ip</code>.</li>
-<li><code>auditTime</code>: The date and time when the change was made.</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-5">URL<a href="#url-5" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/config/compaction/{dataSource}/history</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-1">Query parameters<a href="#query-parameters-1" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<ul>
-<li><code>interval</code> (optional)<!-- -->
-<ul>
-<li>Type: ISO-8601</li>
-<li>Limits the results within a specified interval. Use <code>/</code> as the delimiter for the interval string.</li>
-</ul>
-</li>
-<li><code>count</code> (optional)<!-- -->
-<ul>
-<li>Type: Int</li>
-<li>Limits the number of results.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-5">Responses<a href="#responses-5" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved configuration history</em></p></div><div role="tabpanel" class="t [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-5">Sample request<a href="#sample-request-5" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-5">Sample response<a href="#sample-response-5" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="view-automatic-compaction-status">View automatic compaction status<a href="#view-automatic-compaction-status" class="hash-link" aria-label="Direct link to View automatic compaction status" title="Direct link to View automatic compaction status">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-segments-awaiting-compaction">Get segments awaiting compaction<a href="#get-segments-awaiting-compaction" class="hash-link" aria-label="Direct link to Get segments awaiting compaction" title="Direct link to Get segments awaiting compaction">​</a></h3>
-<p>Returns the total size of segments awaiting compaction for a given datasource. Returns a 404 response if a datasource does not have automatic compaction enabled.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-6">URL<a href="#url-6" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/compaction/progress?dataSource={dataSource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameter">Query parameter<a href="#query-parameter" class="hash-link" aria-label="Direct link to Query parameter" title="Direct link to Query parameter">​</a></h4>
-<ul>
-<li><code>dataSource</code> (required)<!-- -->
-<ul>
-<li>Type: String</li>
-<li>Name of the datasource for this status information.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-6">Responses<a href="#responses-6" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved segment size awaiting compaction</em></p></div><div role="tabpanel" [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-6">Sample request<a href="#sample-request-6" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example retrieves the remaining segments to be compacted for datasource <code>wikipedia_hour</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-6">Sample response<a href="#sample-response-6" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-compaction-status-and-statistics">Get compaction status and statistics<a href="#get-compaction-status-and-statistics" class="hash-link" aria-label="Direct link to Get compaction status and statistics" title="Direct link to Get compaction status and statistics">​</a></h3>
-<p>Retrieves an array of <code>latestStatus</code> objects representing the status and statistics from the latest automatic compaction run for all datasources with automatic compaction enabled.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="compaction-status-response">Compaction status response<a href="#compaction-status-response" class="hash-link" aria-label="Direct link to Compaction status response" title="Direct link to Compaction status response">​</a></h4>
-<p>The <code>latestStatus</code> object has the following properties:</p>
-<ul>
-<li><code>dataSource</code>: Name of the datasource for this status information.</li>
-<li><code>scheduleStatus</code>: Automatic compaction scheduling status. Possible values are <code>NOT_ENABLED</code> and <code>RUNNING</code>. Returns <code>RUNNING </code> if the datasource has an active automatic compaction configuration submitted. Otherwise, returns <code>NOT_ENABLED</code>.</li>
-<li><code>bytesAwaitingCompaction</code>: Total bytes of this datasource waiting to be compacted by the automatic compaction (only consider intervals/segments that are eligible for automatic compaction).</li>
-<li><code>bytesCompacted</code>: Total bytes of this datasource that are already compacted with the spec set in the automatic compaction configuration.</li>
-<li><code>bytesSkipped</code>: Total bytes of this datasource that are skipped (not eligible for automatic compaction) by the automatic compaction.</li>
-<li><code>segmentCountAwaitingCompaction</code>: Total number of segments of this datasource waiting to be compacted by the automatic compaction (only consider intervals/segments that are eligible for automatic compaction).</li>
-<li><code>segmentCountCompacted</code>: Total number of segments of this datasource that are already compacted with the spec set in the automatic compaction configuration.</li>
-<li><code>segmentCountSkipped</code>: Total number of segments of this datasource that are skipped (not eligible for automatic compaction) by the automatic compaction.</li>
-<li><code>intervalCountAwaitingCompaction</code>: Total number of intervals of this datasource waiting to be compacted by the automatic compaction (only consider intervals/segments that are eligible for automatic compaction).</li>
-<li><code>intervalCountCompacted</code>: Total number of intervals of this datasource that are already compacted with the spec set in the automatic compaction configuration.</li>
-<li><code>intervalCountSkipped</code>: Total number of intervals of this datasource that are skipped (not eligible for automatic compaction) by the automatic compaction.</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-7">URL<a href="#url-7" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/compaction/status</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-2">Query parameters<a href="#query-parameters-2" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<ul>
-<li><code>dataSource</code> (optional)<!-- -->
-<ul>
-<li>Type: String</li>
-<li>Filter the result by name of a specific datasource.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-7">Responses<a href="#responses-7" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved <code>latestStatus</code> object</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-7">Sample request<a href="#sample-request-7" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-7">Sample response<a href="#sample-response-7" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="experimental-unified-compaction-apis">[Experimental] Unified Compaction APIs<a href="#experimental-unified-compaction-apis" class="hash-link" aria-label="Direct link to [Experimental] Unified Compaction APIs" title="Direct link to [Experimental] Unified Compaction APIs">​</a></h2>
-<p>This section describes the new unified compaction APIs which can be used regardless of whether compaction supervisors are enabled (i.e. <code>useSupervisors</code> is <code>true</code>) or not in the compaction dynamic config.</p>
-<ul>
-<li>If compaction supervisors are disabled, the APIs read or write the compaction dynamic config, same as the Coordinator-based compaction APIs above.</li>
-<li>If compaction supervisors are enabled, the APIs read or write the corresponding compaction supervisors. In conjunction with the APIs described below, the supervisor APIs may also be used to read or write the compaction supervisors as they offer greater flexibility and also serve information related to supervisor and task statuses.</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="update-cluster-level-compaction-config">Update cluster-level compaction config<a href="#update-cluster-level-compaction-config" class="hash-link" aria-label="Direct link to Update cluster-level compaction config" title="Direct link to Update cluster-level compaction config">​</a></h3>
-<p>Updates cluster-level configuration for compaction tasks which applies to all datasources, unless explicitly overridden in the datasource compaction config.
-This includes the following fields:</p>
-<table><thead><tr><th>Config</th><th>Description</th><th>Default value</th></tr></thead><tbody><tr><td><code>compactionTaskSlotRatio</code></td><td>Ratio of number of slots taken up by compaction tasks to the number of total task slots across all workers.</td><td>0.1</td></tr><tr><td><code>maxCompactionTaskSlots</code></td><td>Maximum number of task slots that can be taken up by compaction tasks and sub-tasks. Minimum number of task slots available for compaction is 1. When using MSQ eng [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="compaction-policy-newestsegmentfirst">Compaction policy <code>newestSegmentFirst</code><a href="#compaction-policy-newestsegmentfirst" class="hash-link" aria-label="Direct link to compaction-policy-newestsegmentfirst" title="Direct link to compaction-policy-newestsegmentfirst">​</a></h4>
-<table><thead><tr><th>Field</th><th>Description</th><th>Default value</th></tr></thead><tbody><tr><td><code>type</code></td><td>This must always be <code>newestSegmentFirst</code></td><td></td></tr><tr><td><code>priorityDatasource</code></td><td>Datasource to prioritize for compaction. The intervals of this datasource are chosen for compaction before the intervals of any other datasource. Within this datasource, the intervals are prioritized based on the chosen compaction policy.</td><td [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-8">URL<a href="#url-8" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/compaction/config/cluster</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-8">Responses<a href="#responses-8" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated compaction configuration</em></p></div><div role="tabpanel" class="ta [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-8">Sample request<a href="#sample-request-8" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-8">Sample response<a href="#sample-response-8" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-cluster-level-compaction-config">Get cluster-level compaction config<a href="#get-cluster-level-compaction-config" class="hash-link" aria-label="Direct link to Get cluster-level compaction config" title="Direct link to Get cluster-level compaction config">​</a></h3>
-<p>Retrieves cluster-level configuration for compaction tasks which applies to all datasources, unless explicitly overridden in the datasource compaction config.
-This includes all the fields listed in <a href="#update-cluster-level-compaction-config">Update cluster-level compaction config</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-9">URL<a href="#url-9" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/compaction/config/cluster</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-9">Responses<a href="#responses-9" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved cluster compaction configuration</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-9">Sample request<a href="#sample-request-9" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-9">Sample response<a href="#sample-response-9" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-automatic-compaction-configurations-for-all-datasources">Get automatic compaction configurations for all datasources<a href="#get-automatic-compaction-configurations-for-all-datasources" class="hash-link" aria-label="Direct link to Get automatic compaction configurations for all datasources" title="Direct link to Get automatic compaction configurations for all datasources">​</a></h3>
-<p>Retrieves all datasource compaction configurations.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-10">URL<a href="#url-10" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/compaction/config/datasources</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-10">Responses<a href="#responses-10" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved automatic compaction configurations</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-10">Sample request<a href="#sample-request-10" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-10">Sample response<a href="#sample-response-10" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-automatic-compaction-configuration-for-a-datasource">Get automatic compaction configuration for a datasource<a href="#get-automatic-compaction-configuration-for-a-datasource" class="hash-link" aria-label="Direct link to Get automatic compaction configuration for a datasource" title="Direct link to Get automatic compaction configuration for a datasource">​</a></h3>
-<p>Retrieves the automatic compaction configuration for a datasource.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-11">URL<a href="#url-11" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/compaction/config/datasources/{dataSource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-11">Responses<a href="#responses-11" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved configuration for datasource</em></p></div><div role="tabpanel" cla [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-11">Sample request<a href="#sample-request-11" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example retrieves the automatic compaction configuration for datasource <code>wikipedia_hour</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-11">Sample response<a href="#sample-response-11" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-or-update-automatic-compaction-configuration-for-a-datasource">Create or update automatic compaction configuration for a datasource<a href="#create-or-update-automatic-compaction-configuration-for-a-datasource" class="hash-link" aria-label="Direct link to Create or update automatic compaction configuration for a datasource" title="Direct link to Create or update automatic compaction configuration for a datasource">​</a></h3>
-<p>Creates or updates the automatic compaction configuration for a datasource. Pass the automatic compaction as a JSON object in the request body.</p>
-<p>The automatic compaction configuration requires only the <code>dataSource</code> property. Druid fills all other properties with default values if not specified. See <a href="/docs/34.0.0/configuration/#automatic-compaction-dynamic-configuration">Automatic compaction dynamic configuration</a> for configuration details.</p>
-<p>Note that this endpoint returns an HTTP <code>200 OK</code> message code even if the datasource name does not exist.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-12">URL<a href="#url-12" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/compaction/config/datasources/wikipedia_hour</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-12">Responses<a href="#responses-12" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully submitted auto compaction configuration</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-12">Sample request<a href="#sample-request-12" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example creates an automatic compaction configuration for the datasource <code>wikipedia_hour</code>, which was ingested with <code>HOUR</code> segment granularity. This automatic compaction configuration performs compaction on <code>wikipedia_hour</code>, resulting in compacted segments that represent a day interval of data.</p>
-<p>In this example:</p>
-<ul>
-<li><code>wikipedia_hour</code> is a datasource with <code>HOUR</code> segment granularity.</li>
-<li><code>skipOffsetFromLatest</code> is set to <code>PT0S</code>, meaning that no data is skipped.</li>
-<li><code>partitionsSpec</code> is set to the default <code>dynamic</code>, allowing Druid to dynamically determine the optimal partitioning strategy.</li>
-<li><code>type</code> is set to <code>index_parallel</code>, meaning that parallel indexing is used.</li>
-<li><code>segmentGranularity</code> is set to <code>DAY</code>, meaning that each compacted segment is a day of data.</li>
-</ul>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-12">Sample response<a href="#sample-response-12" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="delete-automatic-compaction-configuration-for-a-datasource">Delete automatic compaction configuration for a datasource<a href="#delete-automatic-compaction-configuration-for-a-datasource" class="hash-link" aria-label="Direct link to Delete automatic compaction configuration for a datasource" title="Direct link to Delete automatic compaction configuration for a datasource">​</a></h3>
-<p>Removes the automatic compaction configuration for a datasource. This updates the compaction status of the datasource to &quot;Not enabled.&quot;</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-13">URL<a href="#url-13" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>DELETE</code> <code>/druid/indexer/v1/compaction/config/datasources/{dataSource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-13">Responses<a href="#responses-13" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully deleted automatic compaction configuration</em></p></div><div role="tabpanel" [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-13">Sample request<a href="#sample-request-13" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-13">Sample response<a href="#sample-response-13" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-compaction-status-for-all-datasources">Get compaction status for all datasources<a href="#get-compaction-status-for-all-datasources" class="hash-link" aria-label="Direct link to Get compaction status for all datasources" title="Direct link to Get compaction status for all datasources">​</a></h3>
-<p>Retrieves an array of <code>latestStatus</code> objects representing the status and statistics from the latest automatic compaction run for all the datasources to which the user has read access.
-The response payload is in the same format as <a href="#compaction-status-response">Compaction status response</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-14">URL<a href="#url-14" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/compaction/status/datasources</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-14">Responses<a href="#responses-14" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved <code>latestStatus</code> object</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-14">Sample request<a href="#sample-request-14" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-14">Sample response<a href="#sample-response-14" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-compaction-status-for-a-single-datasource">Get compaction status for a single datasource<a href="#get-compaction-status-for-a-single-datasource" class="hash-link" aria-label="Direct link to Get compaction status for a single datasource" title="Direct link to Get compaction status for a single datasource">​</a></h3>
-<p>Retrieves the latest status from the latest automatic compaction run for a datasource. The response payload is in the same format as <a href="#compaction-status-response">Compaction status response</a> with zero or one entry.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-15">URL<a href="#url-15" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/compaction/status/datasources/{dataSource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-15">Responses<a href="#responses-15" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved <code>latestStatus</code> object</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-15">Sample request<a href="#sample-request-15" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-15">Sample response<a href="#sample-response-15" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/data-management-api.html/index.html b/docs/34.0.0/api-reference/data-management-api.html/index.html
deleted file mode 100644
index ddc3d472e..000000000
--- a/docs/34.0.0/api-reference/data-management-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/data-management-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/data-management-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/data-management-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/data-management-api/index.html b/docs/34.0.0/api-reference/data-management-api/index.html
deleted file mode 100644
index c64c47992..000000000
--- a/docs/34.0.0/api-reference/data-management-api/index.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/data-management-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Data management API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/ [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-This includes information on how to mark segments as used or unused and delete them from Druid.</p>
-<p>In this topic, <code>http://ROUTER_IP:ROUTER_PORT</code> is a placeholder for your Router service address and port.
-Replace it with the information for your deployment.
-For example, use <code>http://localhost:8888</code> for quickstart deployments.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><ul>
-<li>Coordinator APIs for data management are now deprecated. Use new APIs served by the Overlord instead.</li>
-<li>Do not use these APIs while an indexing task or kill task is in progress for the same datasource and interval.</li>
-</ul></div></div>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="segment-management">Segment management<a href="#segment-management" class="hash-link" aria-label="Direct link to Segment management" title="Direct link to Segment management">​</a></h2>
-<p>You can mark segments as used by sending POST requests to the datasource, but the Coordinator may subsequently mark segments as unused if they meet any configured <a href="/docs/34.0.0/operations/rule-configuration#drop-rules">drop rules</a>.
-Even if these API requests update segments to used, you still need to configure a <a href="/docs/34.0.0/operations/rule-configuration#load-rules">load rule</a> to load them onto Historical processes.</p>
-<p>When you use these APIs concurrently with an indexing task or a kill task, the behavior is undefined.
-Druid terminates some segments and marks others as used.
-Furthermore, it is possible that all segments could be unused, yet an indexing task might still be able to read data from these segments and complete successfully.</p>
-<p>All of the following APIs, except <a href="#segment-deletion">Segment deletion</a> are served by the Overlord as it is the service responsible for performing actions on segment metadata on behalf of indexing tasks.
-This makes it the single source of truth for segment metadata, thus ensuring a consistent view across the Druid cluster and allowing the Overlord to cache metadata to improve performance.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="segment-ids">Segment IDs<a href="#segment-ids" class="hash-link" aria-label="Direct link to Segment IDs" title="Direct link to Segment IDs">​</a></h3>
-<p>You must provide segment IDs when using many of the endpoints described in this topic.
-For information on segment IDs, see <a href="/docs/34.0.0/design/segments#segment-identification">Segment identification</a>.
-For information on finding segment IDs in the web console, see <a href="/docs/34.0.0/operations/web-console#segments">Segments</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="mark-a-single-segment-unused">Mark a single segment unused<a href="#mark-a-single-segment-unused" class="hash-link" aria-label="Direct link to Mark a single segment unused" title="Direct link to Mark a single segment unused">​</a></h3>
-<p>Marks the state of a segment as unused, using the segment ID.
-This is a &quot;soft delete&quot; of the segment from Historicals.
-To undo this action, <a href="#mark-a-single-segment-as-used">mark the segment used</a>.</p>
-<p>Note that this endpoint returns an HTTP <code>200 OK</code> response code even if the segment ID or datasource doesn&#x27;t exist.
-Check the response payload to confirm if any segment was actually updated.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>DELETE</code> <code>/druid/indexer/v1/datasources/{datasource}/segments/{segmentId}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="header">Header<a href="#header" class="hash-link" aria-label="Direct link to Header" title="Direct link to Header">​</a></h4>
-<p>The following headers are required for this request:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">Content-Type</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><s [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated segment</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example updates the segment <code>wikipedia_hour_2015-09-12T16:00:00.000Z_2015-09-12T17:00:00.000Z_2023-08-10T04:12:03.860Z</code> from datasource <code>wikipedia_hour</code> as <code>unused</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="mark-a-single-segment-as-used">Mark a single segment as used<a href="#mark-a-single-segment-as-used" class="hash-link" aria-label="Direct link to Mark a single segment as used" title="Direct link to Mark a single segment as used">​</a></h3>
-<p>Marks the state of a segment as used, using the segment ID.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/datasources/{datasource}/segments/{segmentId}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="header-1">Header<a href="#header-1" class="hash-link" aria-label="Direct link to Header" title="Direct link to Header">​</a></h4>
-<p>The following headers are required for this request:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">Content-Type</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><s [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated segments</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example updates the segment with ID <code>wikipedia_hour_2015-09-12T18:00:00.000Z_2015-09-12T19:00:00.000Z_2023-08-10T04:12:03.860Z</code> to used.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="mark-a-group-of-segments-unused">Mark a group of segments unused<a href="#mark-a-group-of-segments-unused" class="hash-link" aria-label="Direct link to Mark a group of segments unused" title="Direct link to Mark a group of segments unused">​</a></h3>
-<p>Marks the state of a group of segments as unused, using an array of segment IDs or an interval.
-Pass the array of segment IDs or interval as a JSON object in the request body.</p>
-<p>For the interval, specify the start and end times as ISO 8601 strings to identify segments inclusive of the start time and exclusive of the end time.
-Optionally, specify an array of segment versions with interval. Druid updates only the segments completely contained
-within the specified interval that match the optional list of versions; partially overlapping segments are not affected.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/datasources/{datasource}/markUnused</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="request-body">Request body<a href="#request-body" class="hash-link" aria-label="Direct link to Request body" title="Direct link to Request body">​</a></h4>
-<p>The group of segments is sent as a JSON request payload that accepts the following properties:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Required</th><th>Example</th></tr></thead><tbody><tr><td><code>interval</code></td><td>ISO 8601 segments interval.</td><td>Yes, if <code>segmentIds</code> is not specified.</td><td><code>&quot;2015-09-12T03:00:00.000Z/2015-09-12T05:00:00.000Z&quot;</code></td></tr><tr><td><code>segmentIds</code></td><td>List of segment IDs.</td><td>Yes, if <code>interval</code> is not specified.</td><td><code>[&quot;segmentId1&quot;, &quot;segmen [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">204 NO CONTENT</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example marks two segments from the <code>wikipedia_hour</code> datasource unused based on their segment IDs.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="mark-a-group-of-segments-used">Mark a group of segments used<a href="#mark-a-group-of-segments-used" class="hash-link" aria-label="Direct link to Mark a group of segments used" title="Direct link to Mark a group of segments used">​</a></h3>
-<p>Marks the state of a group of segments as used, using an array of segment IDs or an interval.
-Pass the array of segment IDs or interval as a JSON object in the request body.</p>
-<p>For the interval, specify the start and end times as ISO 8601 strings to identify segments inclusive of the start time and exclusive of the end time.
-Optionally, specify an array of segment versions with interval. Druid updates only the segments completely contained
-within the specified interval that match the optional list of versions; partially overlapping segments are not affected.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/datasources/{datasource}/markUsed</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="request-body-1">Request body<a href="#request-body-1" class="hash-link" aria-label="Direct link to Request body" title="Direct link to Request body">​</a></h4>
-<p>The group of segments is sent as a JSON request payload that accepts the following properties:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Required</th><th>Example</th></tr></thead><tbody><tr><td><code>interval</code></td><td>ISO 8601 segments interval.</td><td>Yes, if <code>segmentIds</code> is not specified.</td><td><code>&quot;2015-09-12T03:00:00.000Z/2015-09-12T05:00:00.000Z&quot;</code></td></tr><tr><td><code>segmentIds</code></td><td>List of segment IDs.</td><td>Yes, if <code>interval</code> is not specified.</td><td><code>[&quot;segmentId1&quot;, &quot;segmen [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">204 NO CONTENT</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example marks two segments from the <code>wikipedia_hour</code> datasource used based on their segment IDs.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="mark-all-segments-unused">Mark all segments unused<a href="#mark-all-segments-unused" class="hash-link" aria-label="Direct link to Mark all segments unused" title="Direct link to Mark all segments unused">​</a></h3>
-<p>Marks the state of all segments of a datasource as unused.
-This action performs a &quot;soft delete&quot; of the segments from Historicals.</p>
-<p>Note that this endpoint returns an HTTP <code>200 OK</code> response code even if the datasource doesn&#x27;t exist.
-Check the response payload to confirm if any segment was actually updated.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-4">URL<a href="#url-4" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>DELETE</code> <code>/druid/indexer/v1/datasources/{datasource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-4">Responses<a href="#responses-4" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated segments</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-4">Sample request<a href="#sample-request-4" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-4">Sample response<a href="#sample-response-4" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="mark-all-non-overshadowed-segments-used">Mark all non-overshadowed segments used<a href="#mark-all-non-overshadowed-segments-used" class="hash-link" aria-label="Direct link to Mark all non-overshadowed segments used" title="Direct link to Mark all non-overshadowed segments used">​</a></h3>
-<p>Marks the state of all unused segments of a datasource as used given that they are not already overshadowed by other segments.
-The endpoint returns the number of changed segments.</p>
-<p>Note that this endpoint returns an HTTP <code>200 OK</code> response code even if the datasource doesn&#x27;t exist.
-Check the response payload to get the number of segments actually updated.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-5">URL<a href="#url-5" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/datasources/{datasource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="header-2">Header<a href="#header-2" class="hash-link" aria-label="Direct link to Header" title="Direct link to Header">​</a></h4>
-<p>The following headers are required for this request:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">Content-Type</span><span class="token operator" style="color:rgb(137, 221, 255)">:</span><s [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-5">Responses<a href="#responses-5" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated segments</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-5">Sample request<a href="#sample-request-5" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example updates all unused segments of <code>wikipedia_hour</code> to used.
-<code>wikipedia_hour</code> contains one unused segment eligible to be marked as used.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-5">Sample response<a href="#sample-response-5" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="segment-deletion">Segment deletion<a href="#segment-deletion" class="hash-link" aria-label="Direct link to Segment deletion" title="Direct link to Segment deletion">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="permanently-delete-segments">Permanently delete segments<a href="#permanently-delete-segments" class="hash-link" aria-label="Direct link to Permanently delete segments" title="Direct link to Permanently delete segments">​</a></h3>
-<p>The DELETE endpoint sends a <a href="/docs/34.0.0/ingestion/tasks">kill task</a> for a given interval and datasource. The interval value is an ISO 8601 string delimited by <code>_</code>. This request permanently deletes all metadata for unused segments and removes them from deep storage.</p>
-<p>Note that this endpoint returns an HTTP <code>200 OK</code> response code even if the datasource doesn&#x27;t exist.</p>
-<p>This endpoint supersedes the deprecated endpoint: <code>DELETE /druid/coordinator/v1/datasources/{datasource}?kill=true&amp;interval={interval}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-6">URL<a href="#url-6" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>DELETE</code> <code>/druid/coordinator/v1/datasources/{datasource}/intervals/{interval}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-6">Responses<a href="#responses-6" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully sent kill task</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-6">Sample request<a href="#sample-request-6" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example sends a kill task to permanently delete segments in the datasource <code>wikipedia_hour</code> from the interval <code>2015-09-12</code> to <code>2015-09-13</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-6">Sample response<a href="#sample-response-6" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> and an empty response body.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/api-reference/retention-rules-api"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Retention rules</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/api-reference [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/dynamic-configuration-api.html/index.html b/docs/34.0.0/api-reference/dynamic-configuration-api.html/index.html
deleted file mode 100644
index 41e2b276d..000000000
--- a/docs/34.0.0/api-reference/dynamic-configuration-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/dynamic-configuration-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/dynamic-configuration-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/dynamic-configuration-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/dynamic-configuration-api/index.html b/docs/34.0.0/api-reference/dynamic-configuration-api/index.html
deleted file mode 100644
index 6066b9e70..000000000
--- a/docs/34.0.0/api-reference/dynamic-configuration-api/index.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/dynamic-configuration-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Dynamic configuration API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/3 [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>In this topic, <code>http://ROUTER_IP:ROUTER_PORT</code> is a placeholder for your Router service address and port.
-Replace it with the information for your deployment.
-For example, use <code>http://localhost:8888</code> for quickstart deployments.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator-dynamic-configuration">Coordinator dynamic configuration<a href="#coordinator-dynamic-configuration" class="hash-link" aria-label="Direct link to Coordinator dynamic configuration" title="Direct link to Coordinator dynamic configuration">​</a></h2>
-<p>The Coordinator has dynamic configurations to tune certain behavior on the fly, without requiring a service restart.
-For information on the supported properties, see <a href="/docs/34.0.0/configuration/#dynamic-configuration">Coordinator dynamic configuration</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-dynamic-configuration">Get dynamic configuration<a href="#get-dynamic-configuration" class="hash-link" aria-label="Direct link to Get dynamic configuration" title="Direct link to Get dynamic configuration">​</a></h3>
-<p>Retrieves the current Coordinator dynamic configuration. Returns a JSON object with the dynamic configuration properties.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/config</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved dynamic configuration</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="update-dynamic-configuration">Update dynamic configuration<a href="#update-dynamic-configuration" class="hash-link" aria-label="Direct link to Update dynamic configuration" title="Direct link to Update dynamic configuration">​</a></h3>
-<p>Submits a JSON-based dynamic configuration spec to the Coordinator.
-For information on the supported properties, see <a href="/docs/34.0.0/configuration/#dynamic-configuration">Dynamic configuration</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/coordinator/v1/config</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="header-parameters">Header parameters<a href="#header-parameters" class="hash-link" aria-label="Direct link to Header parameters" title="Direct link to Header parameters">​</a></h4>
-<p>The endpoint supports a set of optional header parameters to populate the <code>author</code> and <code>comment</code> fields in the configuration history.</p>
-<ul>
-<li><code>X-Druid-Author</code>
-<ul>
-<li>Type: String</li>
-<li>Author of the configuration change.</li>
-</ul>
-</li>
-<li><code>X-Druid-Comment</code>
-<ul>
-<li>Type: String</li>
-<li>Description for the update.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated dynamic configuration</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-dynamic-configuration-history">Get dynamic configuration history<a href="#get-dynamic-configuration-history" class="hash-link" aria-label="Direct link to Get dynamic configuration history" title="Direct link to Get dynamic configuration history">​</a></h3>
-<p>Retrieves the history of changes to Coordinator dynamic configuration over an interval of time. Returns an empty array if there are no history records available.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/config/history</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters">Query parameters<a href="#query-parameters" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<p>The endpoint supports a set of optional query parameters to filter results.</p>
-<ul>
-<li>
-<p><code>interval</code></p>
-<ul>
-<li>Type: String</li>
-<li>Limit the results to the specified time interval in ISO 8601 format delimited with <code>/</code>. For example, <code>2023-07-13/2023-07-19</code>. The default interval is one week. You can change this period by setting <code>druid.audit.manager.auditHistoryMillis</code> in the <code>runtime.properties</code> file for the Coordinator.</li>
-</ul>
-</li>
-<li>
-<p><code>count</code></p>
-<ul>
-<li>Type: Integer</li>
-<li>Limit the number of results to the last <code>n</code> entries.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved history</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example retrieves the dynamic configuration history between <code>2022-07-13</code> and <code>2024-07-19</code>. The response is limited to 10 entries.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="overlord-dynamic-configuration">Overlord dynamic configuration<a href="#overlord-dynamic-configuration" class="hash-link" aria-label="Direct link to Overlord dynamic configuration" title="Direct link to Overlord dynamic configuration">​</a></h2>
-<p>The Overlord has dynamic configurations to tune how Druid assigns tasks to workers.
-For information on the supported properties, see <a href="/docs/34.0.0/configuration/#overlord-dynamic-configuration">Overlord dynamic configuration</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-dynamic-configuration-1">Get dynamic configuration<a href="#get-dynamic-configuration-1" class="hash-link" aria-label="Direct link to Get dynamic configuration" title="Direct link to Get dynamic configuration">​</a></h3>
-<p>Retrieves the current Overlord dynamic configuration.
-Returns a JSON object with the dynamic configuration properties.
-Returns an empty response body if there is no current Overlord dynamic configuration.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/worker</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved dynamic configuration</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="update-dynamic-configuration-1">Update dynamic configuration<a href="#update-dynamic-configuration-1" class="hash-link" aria-label="Direct link to Update dynamic configuration" title="Direct link to Update dynamic configuration">​</a></h3>
-<p>Submits a JSON-based dynamic configuration spec to the Overlord.
-For information on the supported properties, see <a href="/docs/34.0.0/configuration/#overlord-dynamic-configuration">Overlord dynamic configuration</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-4">URL<a href="#url-4" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/worker</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="header-parameters-1">Header parameters<a href="#header-parameters-1" class="hash-link" aria-label="Direct link to Header parameters" title="Direct link to Header parameters">​</a></h4>
-<p>The endpoint supports a set of optional header parameters to populate the <code>author</code> and <code>comment</code> fields in the configuration history.</p>
-<ul>
-<li><code>X-Druid-Author</code>
-<ul>
-<li>Type: String</li>
-<li>Author of the configuration change.</li>
-</ul>
-</li>
-<li><code>X-Druid-Comment</code>
-<ul>
-<li>Type: String</li>
-<li>Description for the update.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-4">Responses<a href="#responses-4" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated dynamic configuration</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-4">Sample request<a href="#sample-request-4" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-4">Sample response<a href="#sample-response-4" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-dynamic-configuration-history-1">Get dynamic configuration history<a href="#get-dynamic-configuration-history-1" class="hash-link" aria-label="Direct link to Get dynamic configuration history" title="Direct link to Get dynamic configuration history">​</a></h3>
-<p>Retrieves the history of changes to Overlord dynamic configuration over an interval of time. Returns an empty array if there are no history records available.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-5">URL<a href="#url-5" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/worker/history</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-1">Query parameters<a href="#query-parameters-1" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<p>The endpoint supports a set of optional query parameters to filter results.</p>
-<ul>
-<li>
-<p><code>interval</code></p>
-<ul>
-<li>Type: String</li>
-<li>Limit the results to the specified time interval in ISO 8601 format delimited with <code>/</code>. For example, <code>2023-07-13/2023-07-19</code>. The default interval is one week. You can change this period by setting <code>druid.audit.manager.auditHistoryMillis</code> in the <code>runtime.properties</code> file for the Overlord.</li>
-</ul>
-</li>
-<li>
-<p><code>count</code></p>
-<ul>
-<li>Type: Integer</li>
-<li>Limit the number of results to the last <code>n</code> entries.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-5">Responses<a href="#responses-5" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved history</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-5">Sample request<a href="#sample-request-5" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example retrieves the dynamic configuration history between <code>2022-07-13</code> and <code>2024-07-19</code>. The response is limited to 10 entries.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-5">Sample response<a href="#sample-response-5" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-worker-nodes-in-the-cluster">Get an array of worker nodes in the cluster<a href="#get-an-array-of-worker-nodes-in-the-cluster" class="hash-link" aria-label="Direct link to Get an array of worker nodes in the cluster" title="Direct link to Get an array of worker nodes in the cluster">​</a></h3>
-<p>Returns an array of all the worker nodes in the cluster along with its corresponding metadata.</p>
-<p><code>GET</code> <code>/druid/indexer/v1/workers</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-6">Responses<a href="#responses-6" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved worker nodes</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-6">Sample request<a href="#sample-request-6" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-6">Sample response<a href="#sample-response-6" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-scaling-events">Get scaling events<a href="#get-scaling-events" class="hash-link" aria-label="Direct link to Get scaling events" title="Direct link to Get scaling events">​</a></h3>
-<p>Returns Overlord scaling events if autoscaling runners are in use.
-Returns an empty response body if there are no Overlord scaling events.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-6">URL<a href="#url-6" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/scaling</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-7">Responses<a href="#responses-7" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved scaling events</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-7">Sample request<a href="#sample-request-7" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-7">Sample response<a href="#sample-response-7" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns a <code>200 OK</code> response and an array of scaling events.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/api-reference/service-status-api"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Service status</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/api-refe [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/index.html b/docs/34.0.0/api-reference/index.html
deleted file mode 100644
index b7b125d14..000000000
--- a/docs/34.0.0/api-reference/index.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/api-reference" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">API reference | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/api-re [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="http-apis">HTTP APIs<a href="#http-apis" class="hash-link" aria-label="Direct link to HTTP APIs" title="Direct link to HTTP APIs">​</a></h2>
-<ul>
-<li><a href="/docs/34.0.0/api-reference/sql-api">Druid SQL queries</a> to submit SQL queries using the Druid SQL API.</li>
-<li><a href="/docs/34.0.0/api-reference/sql-ingestion-api">SQL-based ingestion</a> to submit SQL-based batch ingestion requests.</li>
-<li><a href="/docs/34.0.0/api-reference/json-querying-api">JSON querying</a> to submit JSON-based native queries.</li>
-<li><a href="/docs/34.0.0/api-reference/tasks-api">Tasks</a> to manage data ingestion operations.</li>
-<li><a href="/docs/34.0.0/api-reference/supervisor-api">Supervisors</a> to manage supervisors for data ingestion lifecycle and data processing.</li>
-<li><a href="/docs/34.0.0/api-reference/retention-rules-api">Retention rules</a> to define and manage data retention rules across datasources.</li>
-<li><a href="/docs/34.0.0/api-reference/data-management-api">Data management</a> to manage data segments.</li>
-<li><a href="/docs/34.0.0/api-reference/automatic-compaction-api">Automatic compaction</a> to optimize segment sizes after ingestion.</li>
-<li><a href="/docs/34.0.0/api-reference/lookups-api">Lookups</a> to manage and modify key-value datasources.</li>
-<li><a href="/docs/34.0.0/api-reference/service-status-api">Service status</a> to monitor components within the Druid cluster.</li>
-<li><a href="/docs/34.0.0/api-reference/dynamic-configuration-api">Dynamic configuration</a> to configure the behavior of the Coordinator and Overlord processes.</li>
-<li><a href="/docs/34.0.0/api-reference/legacy-metadata-api">Legacy metadata</a> to retrieve datasource metadata.</li>
-</ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="java-apis">Java APIs<a href="#java-apis" class="hash-link" aria-label="Direct link to Java APIs" title="Direct link to Java APIs">​</a></h2>
-<ul>
-<li><a href="/docs/34.0.0/api-reference/sql-jdbc">SQL JDBC driver</a> to connect to Druid and make Druid SQL queries using the Avatica JDBC driver.</li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/querying/geo"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Spatial filters</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/api-reference/sql-api"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Druid SQL</div [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/json-querying-api.html/index.html b/docs/34.0.0/api-reference/json-querying-api.html/index.html
deleted file mode 100644
index 7f1375216..000000000
--- a/docs/34.0.0/api-reference/json-querying-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/json-querying-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/json-querying-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/json-querying-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/json-querying-api/index.html b/docs/34.0.0/api-reference/json-querying-api/index.html
deleted file mode 100644
index c5cf167e1..000000000
--- a/docs/34.0.0/api-reference/json-querying-api/index.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/json-querying-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">JSON querying API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/ap [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>In this topic, <code>http://SERVICE_IP:SERVICE_PORT</code> is a placeholder for the server address of deployment and the service port. For example, on the quickstart configuration, replace <code>http://ROUTER_IP:ROUTER_PORT</code> with <code>http://localhost:8888</code>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="submit-a-query">Submit a query<a href="#submit-a-query" class="hash-link" aria-label="Direct link to Submit a query" title="Direct link to Submit a query">​</a></h2>
-<p>Submits a JSON-based native query. The body of the request is the native query itself.</p>
-<p>Druid supports different types of queries for different use cases. All queries require the following properties:</p>
-<ul>
-<li><code>queryType</code>: A string representing the type of query. Druid supports the following native query types: <code>timeseries</code>, <code>topN</code>, <code>groupBy</code>, <code>timeBoundaries</code>, <code>segmentMetadata</code>, <code>datasourceMetadata</code>, <code>scan</code>, and <code>search</code>.</li>
-<li><code>dataSource</code>: A string or object defining the source of data to query. The most common value is the name of the datasource to query. For more information, see <a href="/docs/34.0.0/querying/datasource">Datasources</a>.</li>
-</ul>
-<p>For additional properties based on your query type or use case, see <a href="/docs/34.0.0/querying/#available-queries">available native queries</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>POST</code> <code>/druid/v2</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters">Query parameters<a href="#query-parameters" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h3>
-<ul>
-<li><code>pretty</code> (optional)<!-- -->
-<ul>
-<li>Druid returns the response in a pretty-printed format using indentation and line breaks.</li>
-</ul>
-</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully submitted query</em></p></div><div role="tabpanel" class="tabItem_Ymn6" hid [...]
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="example-query-topn">Example query: <code>topN</code><a href="#example-query-topn" class="hash-link" aria-label="Direct link to example-query-topn" title="Direct link to example-query-topn">​</a></h3>
-<p>The following example shows a <code>topN</code> query. The query analyzes the <code>social_media</code> datasource to return the top five users from the <code>username</code> dimension with the highest number of views from the <code>views</code> metric.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-response-topn">Example response: <code>topN</code><a href="#example-response-topn" class="hash-link" aria-label="Direct link to example-response-topn" title="Direct link to example-response-topn">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="example-query-groupby">Example query: <code>groupBy</code><a href="#example-query-groupby" class="hash-link" aria-label="Direct link to example-query-groupby" title="Direct link to example-query-groupby">​</a></h3>
-<p>The following example submits a JSON query of the <code>groupBy</code> type to retrieve the <code>username</code> with the highest votes to posts ratio from the <code>social_media</code> datasource.</p>
-<p>In this query:</p>
-<ul>
-<li>The <code>upvoteSum</code> aggregation calculates the sum of the <code>upvotes</code> for each user.</li>
-<li>The <code>postCount</code> aggregation calculates the sum of posts for each user.</li>
-<li>The <code>upvoteToPostRatio</code> is a post-aggregation of the <code>upvoteSum</code> and the <code>postCount</code>, divided to calculate the ratio.</li>
-<li>The result is sorted based on the <code>upvoteToPostRatio</code> in descending order.</li>
-</ul>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-response-groupby">Example response: <code>groupBy</code><a href="#example-response-groupby" class="hash-link" aria-label="Direct link to example-response-groupby" title="Direct link to example-response-groupby">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-segment-information-for-query">Get segment information for query<a href="#get-segment-information-for-query" class="hash-link" aria-label="Direct link to Get segment information for query" title="Direct link to Get segment information for query">​</a></h2>
-<p>Retrieves an array that contains objects with segment information, including the server locations associated with the query provided in the request body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>POST</code> <code>/druid/v2/candidates</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-1">Query parameters<a href="#query-parameters-1" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h3>
-<ul>
-<li><code>pretty</code> (optional)<!-- -->
-<ul>
-<li>Druid returns the response in a pretty-printed format using indentation and line breaks.</li>
-</ul>
-</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved segment information</em></p></div><div role="tabpanel" class="tab [...]
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/legacy-metadata-api.html/index.html b/docs/34.0.0/api-reference/legacy-metadata-api.html/index.html
deleted file mode 100644
index 8e5f6fa61..000000000
--- a/docs/34.0.0/api-reference/legacy-metadata-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/legacy-metadata-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/legacy-metadata-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/legacy-metadata-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/legacy-metadata-api/index.html b/docs/34.0.0/api-reference/legacy-metadata-api/index.html
deleted file mode 100644
index 92a53ef3d..000000000
--- a/docs/34.0.0/api-reference/legacy-metadata-api/index.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/legacy-metadata-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Legacy metadata API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/ [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="segment-loading">Segment loading<a href="#segment-loading" class="hash-link" aria-label="Direct link to Segment loading" title="Direct link to Segment loading">​</a></h2>
-<p><code>GET /druid/coordinator/v1/loadstatus</code></p>
-<p>Returns the percentage of segments actually loaded in the cluster versus segments that should be loaded in the cluster.</p>
-<p><code>GET /druid/coordinator/v1/loadstatus?simple</code></p>
-<p>Returns the number of segments left to load until segments that should be loaded in the cluster are available for queries. This does not include segment replication counts.</p>
-<p><code>GET /druid/coordinator/v1/loadstatus?full</code></p>
-<p>Returns the number of segments left to load in each tier until segments that should be loaded in the cluster are all available. This includes segment replication counts.</p>
-<p><code>GET /druid/coordinator/v1/loadstatus?full&amp;computeUsingClusterView</code></p>
-<p>Returns the number of segments not yet loaded for each tier until all segments loading in the cluster are available.
-The result includes segment replication counts. It also factors in the number of available nodes that are of a service type that can load the segment when computing the number of segments remaining to load.
-A segment is considered fully loaded when:</p>
-<ul>
-<li>Druid has replicated it the number of times configured in the corresponding load rule.</li>
-<li>Or the number of replicas for the segment in each tier where it is configured to be replicated equals the available nodes of a service type that are currently allowed to load the segment in the tier.</li>
-</ul>
-<p><code>GET /druid/coordinator/v1/loadqueue</code></p>
-<p>Returns the ids of segments to load and drop for each Historical process.</p>
-<p><code>GET /druid/coordinator/v1/loadqueue?simple</code></p>
-<p>Returns the number of segments to load and drop, as well as the total segment load and drop size in bytes for each Historical process.</p>
-<p><code>GET /druid/coordinator/v1/loadqueue?full</code></p>
-<p>Returns the serialized JSON of segments to load and drop for each Historical process.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="segment-loading-by-datasource">Segment loading by datasource<a href="#segment-loading-by-datasource" class="hash-link" aria-label="Direct link to Segment loading by datasource" title="Direct link to Segment loading by datasource">​</a></h2>
-<p>Note that all <em>interval</em> query parameters are ISO 8601 strings—for example, 2016-06-27/2016-06-28.
-Also note that these APIs only guarantees that the segments are available at the time of the call.
-Segments can still become missing because of historical process failures or any other reasons afterward.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/loadstatus?forceMetadataRefresh={boolean}&amp;interval={myInterval}</code></p>
-<p>Returns the percentage of segments actually loaded in the cluster versus segments that should be loaded in the cluster for the given
-datasource over the given interval (or last 2 weeks if interval is not given). <code>forceMetadataRefresh</code> is required to be set.</p>
-<ul>
-<li>Setting <code>forceMetadataRefresh</code> to true will force the coordinator to poll latest segment metadata from the metadata store
-(Note: <code>forceMetadataRefresh=true</code> refreshes Coordinator&#x27;s metadata cache of all datasources. This can be a heavy operation in terms
-of the load on the metadata store but can be necessary to make sure that we verify all the latest segments&#x27; load status)</li>
-<li>Setting <code>forceMetadataRefresh</code> to false will use the metadata cached on the coordinator from the last force/periodic refresh.
-If no used segments are found for the given inputs, this API returns <code>204 No Content</code></li>
-</ul>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/loadstatus?simple&amp;forceMetadataRefresh={boolean}&amp;interval={myInterval}</code></p>
-<p>Returns the number of segments left to load until segments that should be loaded in the cluster are available for the given datasource
-over the given interval (or last 2 weeks if interval is not given). This does not include segment replication counts. <code>forceMetadataRefresh</code> is required to be set.</p>
-<ul>
-<li>Setting <code>forceMetadataRefresh</code> to true will force the coordinator to poll latest segment metadata from the metadata store
-(Note: <code>forceMetadataRefresh=true</code> refreshes Coordinator&#x27;s metadata cache of all datasources. This can be a heavy operation in terms
-of the load on the metadata store but can be necessary to make sure that we verify all the latest segments&#x27; load status)</li>
-<li>Setting <code>forceMetadataRefresh</code> to false will use the metadata cached on the coordinator from the last force/periodic refresh.
-If no used segments are found for the given inputs, this API returns <code>204 No Content</code></li>
-</ul>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/loadstatus?full&amp;forceMetadataRefresh={boolean}&amp;interval={myInterval}</code></p>
-<p>Returns the number of segments left to load in each tier until segments that should be loaded in the cluster are all available for the given datasource  over the given interval (or last 2 weeks if interval is not given). This includes segment replication counts. <code>forceMetadataRefresh</code> is required to be set.</p>
-<ul>
-<li>Setting <code>forceMetadataRefresh</code> to true will force the coordinator to poll latest segment metadata from the metadata store
-(Note: <code>forceMetadataRefresh=true</code> refreshes Coordinator&#x27;s metadata cache of all datasources. This can be a heavy operation in terms
-of the load on the metadata store but can be necessary to make sure that we verify all the latest segments&#x27; load status)</li>
-<li>Setting <code>forceMetadataRefresh</code> to false will use the metadata cached on the coordinator from the last force/periodic refresh.</li>
-</ul>
-<p>You can pass the optional query parameter <code>computeUsingClusterView</code> to factor in the available cluster services when calculating
-the segments left to load. See <a href="#segment-loading">Coordinator Segment Loading</a> for details.
-If no used segments are found for the given inputs, this API returns <code>204 No Content</code></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metadata-store-information">Metadata store information<a href="#metadata-store-information" class="hash-link" aria-label="Direct link to Metadata store information" title="Direct link to Metadata store information">​</a></h2>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Note: Much of this information is [...]
-<a href="/docs/34.0.0/querying/sql-metadata-tables#segments-table"><code>sys.segments</code></a> table.</p></div></div>
-<p><code>GET /druid/coordinator/v1/metadata/segments</code></p>
-<p>Returns a list of all segments for each datasource enabled in the cluster.</p>
-<p><code>GET /druid/coordinator/v1/metadata/segments?datasources={dataSourceName1}&amp;datasources={dataSourceName2}</code></p>
-<p>Returns a list of all segments for one or more specific datasources enabled in the cluster.</p>
-<p><code>GET /druid/coordinator/v1/metadata/segments?includeOvershadowedStatus</code></p>
-<p>Returns a list of all segments for each datasource with the full segment metadata and an extra field <code>overshadowed</code>.</p>
-<p><code>GET /druid/coordinator/v1/metadata/segments?includeOvershadowedStatus&amp;includeRealtimeSegments</code></p>
-<p>Returns a list of all published and realtime segments for each datasource with the full segment metadata and extra fields <code>overshadowed</code>,<code>realtime</code> &amp; <code>numRows</code>. Realtime segments are returned only when <code>druid.centralizedDatasourceSchema.enabled</code> is set on the Coordinator.</p>
-<p><code>GET /druid/coordinator/v1/metadata/segments?includeOvershadowedStatus&amp;datasources={dataSourceName1}&amp;datasources={dataSourceName2}</code></p>
-<p>Returns a list of all segments for one or more specific datasources with the full segment metadata and an extra field <code>overshadowed</code>.</p>
-<p><code>GET /druid/coordinator/v1/metadata/segments?includeOvershadowedStatus&amp;includeRealtimeSegments&amp;datasources={dataSourceName1}&amp;datasources={dataSourceName2}</code></p>
-<p>Returns a list of all published and realtime segments for the specified datasources with the full segment metadata and extra fields <code>overshadwed</code>,<code>realtime</code> &amp; <code>numRows</code>. Realtime segments are returned only when <code>druid.centralizedDatasourceSchema.enabled</code> is set on the Coordinator.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources</code></p>
-<p>Returns a list of the names of datasources with at least one used segment in the cluster, retrieved from the metadata database. Users should call this API to get the eventual state that the system will be in.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources?includeUnused</code></p>
-<p>Returns a list of the names of datasources, regardless of whether there are used segments belonging to those datasources in the cluster or not.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources?includeDisabled</code></p>
-<p>Returns a list of the names of datasources, regardless of whether the datasource is disabled or not.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources?full</code></p>
-<p>Returns a list of all datasources with at least one used segment in the cluster. Returns all metadata about those datasources as stored in the metadata store.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources/{dataSourceName}</code></p>
-<p>Returns full metadata for a datasource as stored in the metadata store.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources/{dataSourceName}/segments</code></p>
-<p>Returns a list of all segments for a datasource as stored in the metadata store.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources/{dataSourceName}/segments?full</code></p>
-<p>Returns a list of all segments for a datasource with the full segment metadata as stored in the metadata store.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources/{dataSourceName}/segments/{segmentId}</code></p>
-<p>Returns full segment metadata for a specific segment as stored in the metadata store, if the segment is used. If the
-segment is unused, or is unknown, a 404 response is returned.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources/{dataSourceName}/segments/{segmentId}?includeUnused=true</code></p>
-<p>Returns full segment metadata for a specific segment as stored in the metadata store. If it is unknown, a 404 response
-is returned.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources/{dataSourceName}/segments</code></p>
-<p>Returns a list of all segments, overlapping with any of given intervals,  for a datasource as stored in the metadata store. Request body is array of string IS0 8601 intervals like <code>[interval1, interval2,...]</code>—for example, <code>[&quot;2012-01-01T00:00:00.000/2012-01-03T00:00:00.000&quot;, &quot;2012-01-05T00:00:00.000/2012-01-07T00:00:00.000&quot;]</code>.</p>
-<p><code>GET /druid/coordinator/v1/metadata/datasources/{dataSourceName}/segments?full</code></p>
-<p>Returns a list of all segments, overlapping with any of given intervals, for a datasource with the full segment metadata as stored in the metadata store. Request body is array of string ISO 8601 intervals like <code>[interval1, interval2,...]</code>—for example, <code>[&quot;2012-01-01T00:00:00.000/2012-01-03T00:00:00.000&quot;, &quot;2012-01-05T00:00:00.000/2012-01-07T00:00:00.000&quot;]</code>.</p>
-<p><code>POST /druid/coordinator/v1/metadata/dataSourceInformation</code></p>
-<p>Returns information about the specified datasources, including the datasource schema.</p>
-<p><code>POST /druid/coordinator/v1/metadata/bootstrapSegments</code></p>
-<p>Returns information about bootstrap segments for all datasources. The returned set includes all broadcast segments if broadcast rules are configured.</p>
-<a name="coordinator-datasources"></a>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="datasources">Datasources<a href="#datasources" class="hash-link" aria-label="Direct link to Datasources" title="Direct link to Datasources">​</a></h2>
-<p>Note that all <em>interval</em> URL parameters are ISO 8601 strings delimited by a <code>_</code> instead of a <code>/</code>—for example, <code>2016-06-27_2016-06-28</code>.</p>
-<p><code>GET /druid/coordinator/v1/datasources</code></p>
-<p>Returns a list of datasource names found in the cluster as seen by the coordinator. This view is updated every <a href="/docs/34.0.0/configuration/#coordinator-operation"><code>druid.coordinator.period</code></a>.</p>
-<p><code>GET /druid/coordinator/v1/datasources?simple</code></p>
-<p>Returns a list of JSON objects containing the name and properties of datasources found in the cluster. Properties include segment count, total segment byte size, replicated total segment byte size, minTime, and maxTime.</p>
-<p><code>GET /druid/coordinator/v1/datasources?full</code></p>
-<p>Returns a list of datasource names found in the cluster with all metadata about those datasources.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}</code></p>
-<p>Returns a JSON object containing the name and properties of a datasource. Properties include segment count, total segment byte size, replicated total segment byte size, minTime, and maxTime.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}?full</code></p>
-<p>Returns full metadata for a datasource.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/intervals</code></p>
-<p>Returns a set of segment intervals.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/intervals?simple</code></p>
-<p>Returns a map of an interval to a JSON object containing the total byte size of segments and number of segments for that interval.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/intervals?full</code></p>
-<p>Returns a map of an interval to a map of segment metadata to a set of server names that contain the segment for that interval.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/intervals/{interval}</code></p>
-<p>Returns a set of segment ids for an interval.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/intervals/{interval}?simple</code></p>
-<p>Returns a map of segment intervals contained within the specified interval to a JSON object containing the total byte size of segments and number of segments for an interval.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/intervals/{interval}?full</code></p>
-<p>Returns a map of segment intervals contained within the specified interval to a map of segment metadata to a set of server names that contain the segment for an interval.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/intervals/{interval}/serverview</code></p>
-<p>Returns a map of segment intervals contained within the specified interval to information about the servers that contain the segment for an interval.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/segments</code></p>
-<p>Returns a list of all segments for a datasource in the cluster.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/segments?full</code></p>
-<p>Returns a list of all segments for a datasource in the cluster with the full segment metadata.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/segments/{segmentId}</code></p>
-<p>Returns full segment metadata for a specific segment in the cluster.</p>
-<p><code>GET /druid/coordinator/v1/datasources/{dataSourceName}/tiers</code></p>
-<p>Return the tiers that a datasource exists in.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="intervals">Intervals<a href="#intervals" class="hash-link" aria-label="Direct link to Intervals" title="Direct link to Intervals">​</a></h2>
-<p>Note that all <em>interval</em> URL parameters are ISO 8601 strings delimited by a <code>_</code> instead of a <code>/</code> as in <code>2016-06-27_2016-06-28</code>.</p>
-<p><code>GET /druid/coordinator/v1/intervals</code></p>
-<p>Returns all intervals for all datasources with total size and count.</p>
-<p><code>GET /druid/coordinator/v1/intervals/{interval}</code></p>
-<p>Returns aggregated total size and count for all intervals that intersect given ISO interval.</p>
-<p><code>GET /druid/coordinator/v1/intervals/{interval}?simple</code></p>
-<p>Returns total size and count for each interval within given ISO interval.</p>
-<p><code>GET /druid/coordinator/v1/intervals/{interval}?full</code></p>
-<p>Returns total size and count for each datasource for each interval within given ISO interval.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="server-information">Server information<a href="#server-information" class="hash-link" aria-label="Direct link to Server information" title="Direct link to Server information">​</a></h2>
-<p><code>GET /druid/coordinator/v1/servers</code></p>
-<p>Returns a list of servers URLs using the format <code>{hostname}:{port}</code>. Note that
-processes that run with different types will appear multiple times with different
-ports.</p>
-<p><code>GET /druid/coordinator/v1/servers?simple</code></p>
-<p>Returns a list of server data objects in which each object has the following keys:</p>
-<ul>
-<li><code>host</code>: host URL include (<code>{hostname}:{port}</code>)</li>
-<li><code>type</code>: process type (<code>indexer-executor</code>, <code>historical</code>)</li>
-<li><code>currSize</code>: storage size currently used</li>
-<li><code>maxSize</code>: maximum storage size</li>
-<li><code>priority</code></li>
-<li><code>tier</code></li>
-</ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="query-server">Query server<a href="#query-server" class="hash-link" aria-label="Direct link to Query server" title="Direct link to Query server">​</a></h2>
-<p>This section documents the API endpoints for the services that reside on Query servers (Brokers) in the suggested <a href="/docs/34.0.0/design/architecture#druid-servers">three-server configuration</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="broker">Broker<a href="#broker" class="hash-link" aria-label="Direct link to Broker" title="Direct link to Broker">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="datasource-information">Datasource information<a href="#datasource-information" class="hash-link" aria-label="Direct link to Datasource information" title="Direct link to Datasource information">​</a></h4>
-<p>Note that all <em>interval</em> URL parameters are ISO 8601 strings delimited by a <code>_</code> instead of a <code>/</code>
-as in <code>2016-06-27_2016-06-28</code>.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Note: Much of this information is [...]
-<a href="/docs/34.0.0/querying/sql-metadata-tables#tables-table"><code>INFORMATION_SCHEMA.TABLES</code></a>,
-<a href="/docs/34.0.0/querying/sql-metadata-tables#columns-table"><code>INFORMATION_SCHEMA.COLUMNS</code></a>, and
-<a href="/docs/34.0.0/querying/sql-metadata-tables#segments-table"><code>sys.segments</code></a> tables.</p></div></div>
-<p><code>GET /druid/v2/datasources</code></p>
-<p>Returns a list of queryable datasources.</p>
-<p><code>GET /druid/v2/datasources/{dataSourceName}</code></p>
-<p>Returns the dimensions and metrics of the datasource. Optionally, you can provide request parameter &quot;full&quot; to get list of served intervals with dimensions and metrics being served for those intervals. You can also provide request param &quot;interval&quot; explicitly to refer to a particular interval.</p>
-<p>If no interval is specified, a default interval spanning a configurable period before the current time will be used. The default duration of this interval is specified in ISO 8601 duration format via: <code>druid.query.segmentMetadata.defaultHistory</code></p>
-<p><code>GET /druid/v2/datasources/{dataSourceName}/dimensions</code></p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>This API is deprecated and will b [...]
-which provides more comprehensive information and supports all dataSource types including streaming dataSources. It&#x27;s also encouraged to use <a href="/docs/34.0.0/querying/sql-metadata-tables">INFORMATION_SCHEMA tables</a>
-if you&#x27;re using SQL.</p></div></div>
-<p>Returns the dimensions of the datasource.</p>
-<p><code>GET /druid/v2/datasources/{dataSourceName}/metrics</code></p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>This API is deprecated and will b [...]
-which provides more comprehensive information and supports all dataSource types including streaming dataSources. It&#x27;s also encouraged to use <a href="/docs/34.0.0/querying/sql-metadata-tables">INFORMATION_SCHEMA tables</a>
-if you&#x27;re using SQL.</p></div></div>
-<p>Returns the metrics of the datasource.</p>
-<p><code>GET /druid/v2/datasources/{dataSourceName}/candidates?intervals={comma-separated-intervals}&amp;numCandidates={numCandidates}</code></p>
-<p>Returns segment information lists including server locations for the given datasource and intervals. If &quot;numCandidates&quot; is not specified, it will return all servers for each interval.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/api-reference/dynamic-configuration-api"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">D [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/lookups-api.html/index.html b/docs/34.0.0/api-reference/lookups-api.html/index.html
deleted file mode 100644
index 237f6b31e..000000000
--- a/docs/34.0.0/api-reference/lookups-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/lookups-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/lookups-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/lookups-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/lookups-api/index.html b/docs/34.0.0/api-reference/lookups-api/index.html
deleted file mode 100644
index 35f03b4c2..000000000
--- a/docs/34.0.0/api-reference/lookups-api/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/lookups-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Lookups API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/api-refe [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configure-lookups">Configure lookups<a href="#configure-lookups" class="hash-link" aria-label="Direct link to Configure lookups" title="Direct link to Configure lookups">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="bulk-update">Bulk update<a href="#bulk-update" class="hash-link" aria-label="Direct link to Bulk update" title="Direct link to Bulk update">​</a></h3>
-<p>Lookups can be updated in bulk by posting a JSON object to <code>/druid/coordinator/v1/lookups/config</code>. The format of the json object is as follows:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<p>Note that &quot;version&quot; is an arbitrary string assigned by the user, when making updates to existing lookup then user would need to specify a lexicographically higher version.</p>
-<p>For example, a config might look something like:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<p>All entries in the map will UPDATE existing entries. No entries will be deleted.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="update-lookup">Update lookup<a href="#update-lookup" class="hash-link" aria-label="Direct link to Update lookup" title="Direct link to Update lookup">​</a></h3>
-<p>A <code>POST</code> to a particular lookup extractor factory via <code>/druid/coordinator/v1/lookups/config/{tier}/{id}</code> creates or updates that specific extractor factory.</p>
-<p>For example, a post to <code>/druid/coordinator/v1/lookups/config/realtime_customer1/site_id_customer1</code> might contain the following:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<p>This will replace the <code>site_id_customer1</code> lookup in the <code>realtime_customer1</code> with the definition above.</p>
-<p>Assign a unique version identifier each time you update a lookup extractor factory. Otherwise the call will fail.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-all-lookups">Get all lookups<a href="#get-all-lookups" class="hash-link" aria-label="Direct link to Get all lookups" title="Direct link to Get all lookups">​</a></h3>
-<p>A <code>GET</code> to <code>/druid/coordinator/v1/lookups/config/all</code> will return all known lookup specs for all tiers.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-lookup">Get lookup<a href="#get-lookup" class="hash-link" aria-label="Direct link to Get lookup" title="Direct link to Get lookup">​</a></h3>
-<p>A <code>GET</code> to a particular lookup extractor factory is accomplished via <code>/druid/coordinator/v1/lookups/config/{tier}/{id}</code></p>
-<p>Using the prior example, a <code>GET</code> to <code>/druid/coordinator/v1/lookups/config/realtime_customer2/site_id_customer2</code> should return</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="delete-lookup">Delete lookup<a href="#delete-lookup" class="hash-link" aria-label="Direct link to Delete lookup" title="Direct link to Delete lookup">​</a></h3>
-<p>A <code>DELETE</code> to <code>/druid/coordinator/v1/lookups/config/{tier}/{id}</code> will remove that lookup from the cluster. If it was last lookup in the tier, then tier is deleted as well.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="delete-tier">Delete tier<a href="#delete-tier" class="hash-link" aria-label="Direct link to Delete tier" title="Direct link to Delete tier">​</a></h3>
-<p>A <code>DELETE</code> to <code>/druid/coordinator/v1/lookups/config/{tier}</code> will remove that tier from the cluster.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="list-tier-names">List tier names<a href="#list-tier-names" class="hash-link" aria-label="Direct link to List tier names" title="Direct link to List tier names">​</a></h3>
-<p>A <code>GET</code> to <code>/druid/coordinator/v1/lookups/config</code> will return a list of known tier names in the dynamic configuration.
-To discover a list of tiers currently active in the cluster in addition to ones known in the dynamic configuration, the parameter <code>discover=true</code> can be added as per <code>/druid/coordinator/v1/lookups/config?discover=true</code>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="list-lookup-names">List lookup names<a href="#list-lookup-names" class="hash-link" aria-label="Direct link to List lookup names" title="Direct link to List lookup names">​</a></h3>
-<p>A <code>GET</code> to <code>/druid/coordinator/v1/lookups/config/{tier}</code> will return a list of known lookup names for that tier.</p>
-<p>These end points can be used to get the propagation status of configured lookups to processes using lookups such as Historicals.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="lookup-status">Lookup status<a href="#lookup-status" class="hash-link" aria-label="Direct link to Lookup status" title="Direct link to Lookup status">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="list-load-status-of-all-lookups">List load status of all lookups<a href="#list-load-status-of-all-lookups" class="hash-link" aria-label="Direct link to List load status of all lookups" title="Direct link to List load status of all lookups">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/lookups/status</code> with optional query parameter <code>detailed</code>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="list-load-status-of-lookups-in-a-tier">List load status of lookups in a tier<a href="#list-load-status-of-lookups-in-a-tier" class="hash-link" aria-label="Direct link to List load status of lookups in a tier" title="Direct link to List load status of lookups in a tier">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/lookups/status/{tier}</code> with optional query parameter <code>detailed</code>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="list-load-status-of-single-lookup">List load status of single lookup<a href="#list-load-status-of-single-lookup" class="hash-link" aria-label="Direct link to List load status of single lookup" title="Direct link to List load status of single lookup">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/lookups/status/{tier}/{lookup}</code> with optional query parameter <code>detailed</code>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="list-lookup-state-of-all-processes">List lookup state of all processes<a href="#list-lookup-state-of-all-processes" class="hash-link" aria-label="Direct link to List lookup state of all processes" title="Direct link to List lookup state of all processes">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/lookups/nodeStatus</code> with optional query parameter <code>discover</code> to discover tiers advertised by other Druid nodes, or by default, returning all configured lookup tiers. The default response will also include the lookups which are loaded, being loaded, or being dropped on each node, for each tier, including the complete lookup spec. Add the optional query parameter <code>detailed=false</code> to only include the &#x27;version&# [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="list-lookup-state-of-processes-in-a-tier">List lookup state of processes in a tier<a href="#list-lookup-state-of-processes-in-a-tier" class="hash-link" aria-label="Direct link to List lookup state of processes in a tier" title="Direct link to List lookup state of processes in a tier">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/lookups/nodeStatus/{tier}</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="list-lookup-state-of-single-process">List lookup state of single process<a href="#list-lookup-state-of-single-process" class="hash-link" aria-label="Direct link to List lookup state of single process" title="Direct link to List lookup state of single process">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/lookups/nodeStatus/{tier}/{host:port}</code></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="internal-api">Internal API<a href="#internal-api" class="hash-link" aria-label="Direct link to Internal API" title="Direct link to Internal API">​</a></h2>
-<p>The Peon, Router, Broker, and Historical processes all have the ability to consume lookup configuration.
-There is an internal API these processes use to list/load/drop their lookups starting at <code>/druid/listen/v1/lookups</code>.
-These follow the same convention for return values as the cluster wide dynamic configuration. Following endpoints
-can be used for debugging purposes but not otherwise.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-lookups">Get lookups<a href="#get-lookups" class="hash-link" aria-label="Direct link to Get lookups" title="Direct link to Get lookups">​</a></h3>
-<p>A <code>GET</code> to the process at <code>/druid/listen/v1/lookups</code> will return a json map of all the lookups currently active on the process.
-The return value will be a json map of the lookups to their extractor factories.</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-lookup-1">Get lookup<a href="#get-lookup-1" class="hash-link" aria-label="Direct link to Get lookup" title="Direct link to Get lookup">​</a></h3>
-<p>A <code>GET</code> to the process at <code>/druid/listen/v1/lookups/some_lookup_name</code> will return the LookupExtractorFactory for the lookup identified by <code>some_lookup_name</code>.
-The return value will be the json representation of the factory.</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/retention-rules-api.html/index.html b/docs/34.0.0/api-reference/retention-rules-api.html/index.html
deleted file mode 100644
index 9683efce7..000000000
--- a/docs/34.0.0/api-reference/retention-rules-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/retention-rules-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/retention-rules-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/retention-rules-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/retention-rules-api/index.html b/docs/34.0.0/api-reference/retention-rules-api/index.html
deleted file mode 100644
index a6ce3e405..000000000
--- a/docs/34.0.0/api-reference/retention-rules-api/index.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/retention-rules-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Retention rules API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/ [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>Druid uses retention rules to determine what data is retained in the cluster. Druid supports load, drop, and broadcast rules. For more information, see <a href="/docs/34.0.0/operations/rule-configuration">Using rules to drop and retain data</a>.</p>
-<p>In this topic, <code>http://ROUTER_IP:ROUTER_PORT</code> is a placeholder for your Router service address and port. Replace it with the information for your deployment. For example, use <code>http://localhost:8888</code> for quickstart deployments.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="update-retention-rules-for-a-datasource">Update retention rules for a datasource<a href="#update-retention-rules-for-a-datasource" class="hash-link" aria-label="Direct link to Update retention rules for a datasource" title="Direct link to Update retention rules for a datasource">​</a></h2>
-<p>Updates one or more retention rules for a datasource. The request body takes an array of retention rule objects. For details on defining retention rules, see the following sources:</p>
-<ul>
-<li><a href="/docs/34.0.0/operations/rule-configuration#load-rules">Load rules</a></li>
-<li><a href="/docs/34.0.0/operations/rule-configuration#drop-rules">Drop rules</a></li>
-<li><a href="/docs/34.0.0/operations/rule-configuration#broadcast-rules">Broadcast rules</a></li>
-</ul>
-<p>This request overwrites any existing rules for the datasource.
-Druid reads rules in the order in which they appear; for more information, see <a href="/docs/34.0.0/operations/rule-configuration">rule structure</a>.</p>
-<p>Note that this endpoint returns an HTTP <code>200 OK</code> even if the datasource does not exist.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>POST</code> <code>/druid/coordinator/v1/rules/{dataSource}</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="header-parameters">Header parameters<a href="#header-parameters" class="hash-link" aria-label="Direct link to Header parameters" title="Direct link to Header parameters">​</a></h3>
-<p>The endpoint supports a set of optional header parameters to populate the <code>author</code> and <code>comment</code> fields in the <code>auditInfo</code> property for audit history.</p>
-<ul>
-<li><code>X-Druid-Author</code> (optional)<!-- -->
-<ul>
-<li>Type: String</li>
-<li>A string representing the author making the configuration change.</li>
-</ul>
-</li>
-<li><code>X-Druid-Comment</code> (optional)<!-- -->
-<ul>
-<li>Type: String</li>
-<li>A string describing the update.</li>
-</ul>
-</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated retention rules for specified datasource</em></p></div></div></div>
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<p>The following example sets a set of broadcast, load, and drop retention rules for the <code>kttm1</code> datasource.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="update-default-retention-rules-for-all-datasources">Update default retention rules for all datasources<a href="#update-default-retention-rules-for-all-datasources" class="hash-link" aria-label="Direct link to Update default retention rules for all datasources" title="Direct link to Update default retention rules for all datasources">​</a></h2>
-<p>Updates one or more default retention rules for all datasources. Submit retention rules as an array of objects in the request body. For details on defining retention rules, see the following sources:</p>
-<ul>
-<li><a href="/docs/34.0.0/operations/rule-configuration#load-rules">Load rules</a></li>
-<li><a href="/docs/34.0.0/operations/rule-configuration#drop-rules">Drop rules</a></li>
-<li><a href="/docs/34.0.0/operations/rule-configuration#broadcast-rules">Broadcast rules</a></li>
-</ul>
-<p>This request overwrites any existing rules for all datasources. To remove default retention rules for all datasources, submit an empty rule array in the request body. Rules are read in the order in which they appear; for more information, see <a href="/docs/34.0.0/operations/rule-configuration">rule structure</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>POST</code> <code>/druid/coordinator/v1/rules/_default</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="header-parameters-1">Header parameters<a href="#header-parameters-1" class="hash-link" aria-label="Direct link to Header parameters" title="Direct link to Header parameters">​</a></h3>
-<p>The endpoint supports a set of optional header parameters to populate the <code>author</code> and <code>comment</code> fields in the <code>auditInfo</code> property for audit history.</p>
-<ul>
-<li><code>X-Druid-Author</code> (optional)<!-- -->
-<ul>
-<li>Type: String</li>
-<li>A string representing the author making the configuration change.</li>
-</ul>
-</li>
-<li><code>X-Druid-Comment</code> (optional)<!-- -->
-<ul>
-<li>Type: String</li>
-<li>A string describing the update.</li>
-</ul>
-</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">500 SERVER ERROR</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully updated default retention rules</em></p></div><div role="tabpanel" class=" [...]
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<p>The following example updates the default retention rule for all datasources with a <code>loadByInterval</code> rule.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<p>A successful request returns an HTTP <code>200 OK</code> message code and an empty response body.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-all-retention-rules">Get an array of all retention rules<a href="#get-an-array-of-all-retention-rules" class="hash-link" aria-label="Direct link to Get an array of all retention rules" title="Direct link to Get an array of all retention rules">​</a></h2>
-<p>Retrieves all current retention rules in the cluster including the default retention rule. Returns an array of objects for each datasource and their associated retention rules.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/rules</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved retention rules</em></p></div></div></div>
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-retention-rules-for-a-datasource">Get an array of retention rules for a datasource<a href="#get-an-array-of-retention-rules-for-a-datasource" class="hash-link" aria-label="Direct link to Get an array of retention rules for a datasource" title="Direct link to Get an array of retention rules for a datasource">​</a></h2>
-<p>Retrieves an array of rule objects for a single datasource. Returns an empty array if there are no retention rules.</p>
-<p>Note that this endpoint returns an HTTP <code>200 OK</code> message code even if the datasource doesn&#x27;t exist.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/rules/{dataSource}</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters">Query parameters<a href="#query-parameters" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h3>
-<ul>
-<li><code>full</code> (optional)<!-- -->
-<ul>
-<li>Includes the default retention rule for the datasource in the response.</li>
-</ul>
-</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved retention rules</em></p></div></div></div>
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<p>The following example retrieves the custom retention rules and default retention rules for datasource with the name <code>social_media</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-audit-history-for-all-datasources">Get audit history for all datasources<a href="#get-audit-history-for-all-datasources" class="hash-link" aria-label="Direct link to Get audit history for all datasources" title="Direct link to Get audit history for all datasources">​</a></h2>
-<p>Retrieves the audit history of rules for all datasources over an interval of time. The default interval is 1 week. You can change this period by setting <code>druid.audit.manager.auditHistoryMillis</code> in the <code>runtime.properties</code> file for the Coordinator.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url-4">URL<a href="#url-4" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>GET</code> <code>/druid/coordinator/v1/rules/history</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-1">Query parameters<a href="#query-parameters-1" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h3>
-<p>Note that the following query parameters cannot be chained.</p>
-<ul>
-<li><code>interval</code> (optional)<!-- -->
-<ul>
-<li>Type: ISO 8601.</li>
-<li>Limits the number of results to the specified time interval. Delimit with <code>/</code>. For example, <code>2023-07-13/2023-07-19</code>.</li>
-</ul>
-</li>
-<li><code>count</code> (optional)<!-- -->
-<ul>
-<li>Type: Int</li>
-<li>Limits the number of results to the last <code>n</code> entries.</li>
-</ul>
-</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses-4">Responses<a href="#responses-4" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_ [...]
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-4">Sample request<a href="#sample-request-4" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<p>The following example retrieves the audit history for all datasources from <code>2023-07-13</code> to <code>2023-07-19</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-4">Sample response<a href="#sample-response-4" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/service-status-api.html/index.html b/docs/34.0.0/api-reference/service-status-api.html/index.html
deleted file mode 100644
index a931983ba..000000000
--- a/docs/34.0.0/api-reference/service-status-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/service-status-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/service-status-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/service-status-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/service-status-api/index.html b/docs/34.0.0/api-reference/service-status-api/index.html
deleted file mode 100644
index bddba66b6..000000000
--- a/docs/34.0.0/api-reference/service-status-api/index.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/service-status-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Service status API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/a [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>In this document, <code>http://SERVICE_IP:SERVICE_PORT</code> is a placeholder for the server address of deployment and the service port. For example, on the quickstart configuration, replace <code>http://ROUTER_IP:ROUTER_PORT</code> with <code>http://localhost:8888</code>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="common">Common<a href="#common" class="hash-link" aria-label="Direct link to Common" title="Direct link to Common">​</a></h2>
-<p>All services support the following endpoints.</p>
-<p>You can use each endpoint with the ports for each type of service. The following table contains port addresses for a local configuration:</p>
-<table><thead><tr><th>Service</th><th>Port address</th></tr></thead><tbody><tr><td>Coordinator</td><td>8081</td></tr><tr><td>Overlord</td><td>8081</td></tr><tr><td>Router</td><td>8888</td></tr><tr><td>Broker</td><td>8082</td></tr><tr><td>Historical</td><td>8083</td></tr><tr><td>Middle Manager</td><td>8091</td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-service-information">Get service information<a href="#get-service-information" class="hash-link" aria-label="Direct link to Get service information" title="Direct link to Get service information">​</a></h3>
-<p>Retrieves the Druid version, loaded extensions, memory used, total memory, and other useful information about the individual service.</p>
-<p>Modify the host and port for the endpoint to match the service to query. Refer to the <a href="#common">default service ports</a> for the port numbers.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/status</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved service information</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-service-health">Get service health<a href="#get-service-health" class="hash-link" aria-label="Direct link to Get service health" title="Direct link to Get service health">​</a></h3>
-<p>Retrieves the online status of the individual Druid service. It is a simple health check to determine if the service is running and accessible. If online, it will always return a boolean <code>true</code> value, indicating that the service can receive API calls. This endpoint is suitable for automated health checks.</p>
-<p>Modify the host and port for the endpoint to match the service to query. Refer to the <a href="#common">default service ports</a> for the port numbers.</p>
-<p>Additional checks for readiness should use the <a href="#get-segment-readiness">Historical segment readiness</a> and <a href="#get-broker-query-readiness">Broker query readiness</a> endpoints.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/status/health</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved service health</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-configuration-properties">Get configuration properties<a href="#get-configuration-properties" class="hash-link" aria-label="Direct link to Get configuration properties" title="Direct link to Get configuration properties">​</a></h3>
-<p>Retrieves the current configuration properties of the individual service queried.</p>
-<p>Modify the host and port for the endpoint to match the service to query. Refer to the <a href="#common">default service ports</a> for the port numbers.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/status/properties</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved service configuration properties</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-node-discovery-status-and-cluster-integration-confirmation">Get node discovery status and cluster integration confirmation<a href="#get-node-discovery-status-and-cluster-integration-confirmation" class="hash-link" aria-label="Direct link to Get node discovery status and cluster integration confirmation" title="Direct link to Get node discovery status and cluster integration confirmation">​</a></h3>
-<p>Retrieves a JSON map of the form <code>{&quot;selfDiscovered&quot;: true/false}</code>, indicating whether the node has received a confirmation from the central node discovery mechanism (currently ZooKeeper) of the Druid cluster that the node has been added to the cluster.</p>
-<p>Only consider a Druid node &quot;healthy&quot; or &quot;ready&quot; in automated deployment/container management systems when this endpoint returns <code>{&quot;selfDiscovered&quot;: true}</code>. Nodes experiencing network issues may become isolated and are not healthy.
-For nodes that use Zookeeper segment discovery, a response of <code>{&quot;selfDiscovered&quot;: true}</code> indicates that the node&#x27;s Zookeeper client has started receiving data from the Zookeeper cluster, enabling timely discovery of segments and other nodes.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/status/selfDiscovered/status</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Node was successfully added to the cluster</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-node-self-discovery-status">Get node self-discovery status<a href="#get-node-self-discovery-status" class="hash-link" aria-label="Direct link to Get node self-discovery status" title="Direct link to Get node self-discovery status">​</a></h3>
-<p>Returns an HTTP status code to indicate node discovery within the Druid cluster. This endpoint is similar to the <code>status/selfDiscovered/status</code> endpoint, but relies on HTTP status codes alone.
-Use this endpoint for monitoring checks that are unable to examine the response body. For example, AWS load balancer health checks.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-4">URL<a href="#url-4" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/status/selfDiscovered</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-4">Responses<a href="#responses-4" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">503 SERVICE UNAVAILABLE</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved node status</em></p></div><div role="tabpanel" class= [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-4">Sample request<a href="#sample-request-4" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-4">Sample response<a href="#sample-response-4" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful response to this endpoint results in an empty response body.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator">Coordinator<a href="#coordinator" class="hash-link" aria-label="Direct link to Coordinator" title="Direct link to Coordinator">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-coordinator-leader-address">Get Coordinator leader address<a href="#get-coordinator-leader-address" class="hash-link" aria-label="Direct link to Get Coordinator leader address" title="Direct link to Get Coordinator leader address">​</a></h3>
-<p>Retrieves the address of the current leader Coordinator of the cluster. If any request is sent to a non-leader Coordinator, the request is automatically redirected to the leader Coordinator.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-5">URL<a href="#url-5" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/leader</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-5">Responses<a href="#responses-5" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved leader Coordinator address</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-5">Sample request<a href="#sample-request-5" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-5">Sample response<a href="#sample-response-5" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-coordinator-leader-status">Get Coordinator leader status<a href="#get-coordinator-leader-status" class="hash-link" aria-label="Direct link to Get Coordinator leader status" title="Direct link to Get Coordinator leader status">​</a></h3>
-<p>Retrieves a JSON object with a <code>leader</code> key. Returns <code>true</code> if this server is the current leader Coordinator of the cluster. To get the individual address of the leader Coordinator node, see the <a href="#get-coordinator-leader-address">leader endpoint</a>.</p>
-<p>Use this endpoint as a load balancer status check when you only want the active leader to be considered in-service at the load balancer.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-6">URL<a href="#url-6" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/isLeader</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-6">Responses<a href="#responses-6" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Current server is the leader</em></p></div><div role="tabpanel" class="tabItem_Ymn6" h [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-6">Sample request<a href="#sample-request-6" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-6">Sample response<a href="#sample-response-6" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-historical-cloning-status">Get Historical Cloning Status<a href="#get-historical-cloning-status" class="hash-link" aria-label="Direct link to Get Historical Cloning Status" title="Direct link to Get Historical Cloning Status">​</a></h3>
-<p>Retrieves the current status of Historical cloning from the Coordinator.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-7">URL<a href="#url-7" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/config/cloneStatus</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-7">Responses<a href="#responses-7" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved cloning status</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-7">Sample request<a href="#sample-request-7" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-7">Sample response<a href="#sample-response-7" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-broker-dynamic-configuration-view">Get Broker dynamic configuration view<a href="#get-broker-dynamic-configuration-view" class="hash-link" aria-label="Direct link to Get Broker dynamic configuration view" title="Direct link to Get Broker dynamic configuration view">​</a></h3>
-<p>Retrieves the list of Brokers which have an up-to-date view of Coordinator dynamic configuration.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-8">URL<a href="#url-8" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/coordinator/v1/config/syncedBrokers</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-8">Responses<a href="#responses-8" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved Broker Configuration view</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-8">Sample request<a href="#sample-request-8" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-8">Sample response<a href="#sample-response-8" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="overlord">Overlord<a href="#overlord" class="hash-link" aria-label="Direct link to Overlord" title="Direct link to Overlord">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-overlord-leader-address">Get Overlord leader address<a href="#get-overlord-leader-address" class="hash-link" aria-label="Direct link to Get Overlord leader address" title="Direct link to Get Overlord leader address">​</a></h3>
-<p>Retrieves the address of the current leader Overlord of the cluster. In a cluster of multiple Overlords, only one Overlord assumes the leading role, while the remaining Overlords remain on standby.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-9">URL<a href="#url-9" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/leader</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-9">Responses<a href="#responses-9" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved leader Overlord address</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-9">Sample request<a href="#sample-request-9" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-9">Sample response<a href="#sample-response-9" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-overlord-leader-status">Get Overlord leader status<a href="#get-overlord-leader-status" class="hash-link" aria-label="Direct link to Get Overlord leader status" title="Direct link to Get Overlord leader status">​</a></h3>
-<p>Retrieves a JSON object with a <code>leader</code> property. The value can be <code>true</code> or <code>false</code>, indicating if this server is the current leader Overlord of the cluster. To get the individual address of the leader Overlord node, see the <a href="#get-overlord-leader-address">leader endpoint</a>.</p>
-<p>Use this endpoint as a load balancer status check when you only want the active leader to be considered in-service at the load balancer.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-10">URL<a href="#url-10" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/isLeader</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-10">Responses<a href="#responses-10" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Current server is the leader</em></p></div><div role="tabpanel" class="tabItem_Ymn6" h [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-10">Sample request<a href="#sample-request-10" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-10">Sample response<a href="#sample-response-10" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="middle-manager">Middle Manager<a href="#middle-manager" class="hash-link" aria-label="Direct link to Middle Manager" title="Direct link to Middle Manager">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-middle-manager-state-status">Get Middle Manager state status<a href="#get-middle-manager-state-status" class="hash-link" aria-label="Direct link to Get Middle Manager state status" title="Direct link to Get Middle Manager state status">​</a></h3>
-<p>Retrieves the enabled state of the Middle Manager process. Returns JSON object keyed by the combined <code>druid.host</code> and <code>druid.port</code> with a boolean <code>true</code> or <code>false</code> state as the value.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-11">URL<a href="#url-11" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/worker/v1/enabled</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-11">Responses<a href="#responses-11" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved Middle Manager state</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-11">Sample request<a href="#sample-request-11" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-11">Sample response<a href="#sample-response-11" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-active-tasks">Get active tasks<a href="#get-active-tasks" class="hash-link" aria-label="Direct link to Get active tasks" title="Direct link to Get active tasks">​</a></h3>
-<p>Retrieves a list of active tasks being run on the Middle Manager. Returns JSON list of task ID strings. Note that for normal usage, you should use the <code>/druid/indexer/v1/tasks</code> <a href="/docs/34.0.0/api-reference/tasks-api">Tasks API</a> endpoint or one of the task state specific variants instead.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-12">URL<a href="#url-12" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/worker/v1/tasks</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-12">Responses<a href="#responses-12" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved active tasks</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-12">Sample request<a href="#sample-request-12" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-12">Sample response<a href="#sample-response-12" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-task-log">Get task log<a href="#get-task-log" class="hash-link" aria-label="Direct link to Get task log" title="Direct link to Get task log">​</a></h3>
-<p>Retrieves task log output stream by task ID. For normal usage, you should use the <code>/druid/indexer/v1/task/{taskId}/log</code>
-<a href="/docs/34.0.0/api-reference/tasks-api">Tasks API</a> endpoint instead.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-13">URL<a href="#url-13" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/worker/v1/task/{taskId}/log</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="shut-down-running-task">Shut down running task<a href="#shut-down-running-task" class="hash-link" aria-label="Direct link to Shut down running task" title="Direct link to Shut down running task">​</a></h3>
-<p>Shuts down a running task by ID. For normal usage, you should use the <code>/druid/indexer/v1/task/{taskId}/shutdown</code>
-<a href="/docs/34.0.0/api-reference/tasks-api">Tasks API</a> endpoint instead.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-14">URL<a href="#url-14" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/worker/v1/task/{taskId}/shutdown</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-13">Responses<a href="#responses-13" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully shut down a task</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-13">Sample request<a href="#sample-request-13" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shuts down a task with specified ID <code>index_kafka_wikiticker_f7011f8ffba384b_fpeclode</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-13">Sample response<a href="#sample-response-13" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="disable-middle-manager">Disable Middle Manager<a href="#disable-middle-manager" class="hash-link" aria-label="Direct link to Disable Middle Manager" title="Direct link to Disable Middle Manager">​</a></h3>
-<p>Disables a Middle Manager, causing it to stop accepting new tasks but complete all existing tasks. Returns a JSON  object
-keyed by the combined <code>druid.host</code> and <code>druid.port</code>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-15">URL<a href="#url-15" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/worker/v1/disable</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-14">Responses<a href="#responses-14" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully disabled Middle Manager</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-14">Sample request<a href="#sample-request-14" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-14">Sample response<a href="#sample-response-14" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="enable-middle-manager">Enable Middle Manager<a href="#enable-middle-manager" class="hash-link" aria-label="Direct link to Enable Middle Manager" title="Direct link to Enable Middle Manager">​</a></h3>
-<p>Enables a Middle Manager, allowing it to accept new tasks again if it was previously disabled. Returns a JSON object keyed by the combined <code>druid.host</code> and <code>druid.port</code>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-16">URL<a href="#url-16" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/worker/v1/enable</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-15">Responses<a href="#responses-15" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully enabled Middle Manager</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-15">Sample request<a href="#sample-request-15" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-15">Sample response<a href="#sample-response-15" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="historical">Historical<a href="#historical" class="hash-link" aria-label="Direct link to Historical" title="Direct link to Historical">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-segment-load-status">Get segment load status<a href="#get-segment-load-status" class="hash-link" aria-label="Direct link to Get segment load status" title="Direct link to Get segment load status">​</a></h3>
-<p>Retrieves a JSON object of the form <code>{&quot;cacheInitialized&quot;:value}</code>, where value is either <code>true</code> or <code>false</code> indicating if all segments in the local cache have been loaded.</p>
-<p>Use this endpoint to know when a Broker service is ready to accept queries after a restart.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-17">URL<a href="#url-17" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/historical/v1/loadstatus</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-16">Responses<a href="#responses-16" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved status</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-16">Sample request<a href="#sample-request-16" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-16">Sample response<a href="#sample-response-16" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-segment-readiness">Get segment readiness<a href="#get-segment-readiness" class="hash-link" aria-label="Direct link to Get segment readiness" title="Direct link to Get segment readiness">​</a></h3>
-<p>Retrieves a status code to indicate if all segments in the local cache have been loaded. Similar to <code>/druid/historical/v1/loadstatus</code>, but instead of returning JSON with a flag, it returns status codes.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-18">URL<a href="#url-18" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/historical/v1/readiness</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-17">Responses<a href="#responses-17" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">503 SERVICE UNAVAILABLE</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Segments in local cache successfully loaded</em></p></div><div role="tabpane [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-17">Sample request<a href="#sample-request-17" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-17">Sample response<a href="#sample-response-17" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful response to this endpoint results in an empty response body.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="load-status">Load Status<a href="#load-status" class="hash-link" aria-label="Direct link to Load Status" title="Direct link to Load Status">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-broker-query-load-status">Get Broker query load status<a href="#get-broker-query-load-status" class="hash-link" aria-label="Direct link to Get Broker query load status" title="Direct link to Get Broker query load status">​</a></h3>
-<p>Retrieves a flag indicating if the Broker knows about all segments in the cluster. Use this endpoint to know when a Broker service is ready to accept queries after a restart.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-19">URL<a href="#url-19" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/broker/v1/loadstatus</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-18">Responses<a href="#responses-18" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Segments successfully loaded</em></p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-18">Sample request<a href="#sample-request-18" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-18">Sample response<a href="#sample-response-18" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-broker-query-readiness">Get Broker query readiness<a href="#get-broker-query-readiness" class="hash-link" aria-label="Direct link to Get Broker query readiness" title="Direct link to Get Broker query readiness">​</a></h3>
-<p>Retrieves a status code to indicate Broker readiness. Readiness signifies the Broker knows about all segments in the cluster and is ready to accept queries after a restart. Similar to <code>/druid/broker/v1/loadstatus</code>, but instead of returning a JSON, it returns status codes.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-20">URL<a href="#url-20" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/broker/v1/readiness</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-19">Responses<a href="#responses-19" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">503 SERVICE UNAVAILABLE</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Segments successfully loaded</em></p></div><div role="tabpanel" class="tabIt [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-19">Sample request<a href="#sample-request-19" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-19">Sample response<a href="#sample-response-19" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful response to this endpoint results in an empty response body.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/api-reference/lookups-api"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Lookups</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/api-reference/dynamic-configuration-api" [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/sql-api.html/index.html b/docs/34.0.0/api-reference/sql-api.html/index.html
deleted file mode 100644
index 04bd7cb32..000000000
--- a/docs/34.0.0/api-reference/sql-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/sql-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/sql-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/sql-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/sql-api/index.html b/docs/34.0.0/api-reference/sql-api/index.html
deleted file mode 100644
index c027cc481..000000000
--- a/docs/34.0.0/api-reference/sql-api/index.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/sql-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Druid SQL API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/api-re [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-This document describes the SQL language.</p></div></div>
-<p>In this topic, <code>http://ROUTER_IP:ROUTER_PORT</code> is a placeholder for your Router service address and port. Replace it with the information for your deployment. For example, use <code>http://localhost:8888</code> for quickstart deployments.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="query-from-historicals">Query from Historicals<a href="#query-from-historicals" class="hash-link" aria-label="Direct link to Query from Historicals" title="Direct link to Query from Historicals">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="submit-a-query">Submit a query<a href="#submit-a-query" class="hash-link" aria-label="Direct link to Submit a query" title="Direct link to Submit a query">​</a></h3>
-<p>Submits a SQL-based query in the JSON or text format request body.
-Returns a JSON object with the query results and optional metadata for the results. You can also use this endpoint to query <a href="/docs/34.0.0/querying/sql-metadata-tables">metadata tables</a>.</p>
-<p>Each query has an associated SQL query ID. You can set this ID manually using the SQL context parameter <code>sqlQueryId</code>. If not set, Druid automatically generates <code>sqlQueryId</code> and returns it in the response header for <code>X-Druid-SQL-Query-Id</code>. Note that you need the <code>sqlQueryId</code> to <a href="#cancel-a-query">cancel a query</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/v2/sql</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="json-format-request-body">JSON Format Request body<a href="#json-format-request-body" class="hash-link" aria-label="Direct link to JSON Format Request body" title="Direct link to JSON Format Request body">​</a></h4>
-<p>To send queries in JSON format, the <code>Content-Type</code> in the HTTP request MUST be <code>application/json</code>.
-If there are multiple <code>Content-Type</code> headers, the <strong>first</strong> one is used.</p>
-<p>The request body takes the following properties:</p>
-<ul>
-<li>
-<p><code>query</code>: SQL query string. HTTP requests are permitted to include multiple <code>SET</code> statements to assign <a href="/docs/34.0.0/querying/sql-query-context">SQL query context parameter</a> values to apply to the query statement, see <a href="/docs/34.0.0/querying/sql#set">SET</a> for details. Context parameters set by <code>SET</code> statements take priority over values set in <code>context</code>.</p>
-</li>
-<li>
-<p><code>resultFormat</code>: String that indicates the format to return query results. Select one of the following formats:</p>
-<ul>
-<li>
-<p><code>object</code>: Returns a JSON array of JSON objects with the HTTP response header <code>Content-Type: application/json</code>.<br>
-<!-- -->Object field names match the columns returned by the SQL query in the same order as the SQL query.</p>
-</li>
-<li>
-<p><code>array</code>: Returns a JSON array of JSON arrays with the HTTP response header <code>Content-Type: application/json</code>.<br>
-<!-- -->Each inner array has elements matching the columns returned by the SQL query, in order.</p>
-</li>
-<li>
-<p><code>objectLines</code>: Returns newline-delimited JSON objects with the HTTP response header <code>Content-Type: text/plain</code>.<br>
-<!-- -->Newline separation facilitates parsing the entire response set as a stream if you don&#x27;t have a streaming JSON parser.
-This format includes a single trailing newline character so you can detect a truncated response.</p>
-</li>
-<li>
-<p><code>arrayLines</code>: Returns newline-delimited JSON arrays with the HTTP response header <code>Content-Type: text/plain</code>.<br>
-<!-- -->Newline separation facilitates parsing the entire response set as a stream if you don&#x27;t have a streaming JSON parser.
-This format includes a single trailing newline character so you can detect a truncated response.</p>
-</li>
-<li>
-<p><code>csv</code>: Returns comma-separated values with one row per line. Sent with the HTTP response header <code>Content-Type: text/csv</code>.<br>
-<!-- -->Druid uses double quotes to escape individual field values. For example, a value with a comma returns <code>&quot;A,B&quot;</code>.
-If the field value contains a double quote character, Druid escapes it with a second double quote character.
-For example, <code>foo&quot;bar</code> becomes <code>foo&quot;&quot;bar</code>.
-This format includes a single trailing newline character so you can detect a truncated response.</p>
-</li>
-</ul>
-</li>
-<li>
-<p><code>header</code>: Boolean value that determines whether to return information on column names. When set to <code>true</code>, Druid returns the column names as the first row of the results. To also get information on the column types, set <code>typesHeader</code> or <code>sqlTypesHeader</code> to <code>true</code>. For a comparative overview of data formats and configurations for the header, see the <a href="#query-output-format">Query output format</a> table.</p>
-</li>
-<li>
-<p><code>typesHeader</code>: Adds Druid runtime type information in the header. Requires <code>header</code> to be set to <code>true</code>. Complex types, like sketches, will be reported as <code>COMPLEX&lt;typeName&gt;</code> if a particular complex type name is known for that field, or as <code>COMPLEX</code> if the particular type name is unknown or mixed.</p>
-</li>
-<li>
-<p><code>sqlTypesHeader</code>: Adds SQL type information in the header. Requires <code>header</code> to be set to <code>true</code>.</p>
-<p>For compatibility, Druid returns the HTTP header <code>X-Druid-SQL-Header-Included: yes</code> when all of the following conditions are met:</p>
-<ul>
-<li>The <code>header</code> property is set to true.</li>
-<li>The version of Druid supports <code>typesHeader</code> and <code>sqlTypesHeader</code>, regardless of whether either property is set.</li>
-</ul>
-</li>
-<li>
-<p><code>context</code>: JSON object containing optional <a href="/docs/34.0.0/querying/sql-query-context">SQL query context parameters</a>, such as to set the query ID, time zone, and whether to use an approximation algorithm for distinct count. You can also set the context through the SQL SET command. For more information, see <a href="/docs/34.0.0/querying/sql#set">Druid SQL overview</a>.</p>
-</li>
-<li>
-<p><code>parameters</code>: List of query parameters for parameterized queries. Each parameter in the array should be a JSON object containing the parameter&#x27;s SQL data type and parameter value. For more information on using dynamic parameters, see <a href="/docs/34.0.0/querying/sql#dynamic-parameters">Dynamic parameters</a>. For a list of supported SQL types, see <a href="/docs/34.0.0/querying/sql-data-types">Data types</a>.</p>
-<p>For example:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-</li>
-</ul>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="text-format-request-body">Text Format Request body<a href="#text-format-request-body" class="hash-link" aria-label="Direct link to Text Format Request body" title="Direct link to Text Format Request body">​</a></h5>
-<p>Druid also allows you to submit SQL queries in text format which is simpler than above JSON format.
-To do this, just set the <code>Content-Type</code> request header to <code>text/plain</code> or <code>application/x-www-form-urlencoded</code>, and pass SQL via the HTTP Body.</p>
-<p>If <code>application/x-www-form-urlencoded</code> is used, make sure the SQL query is URL-encoded.</p>
-<p>If there are multiple <code>Content-Type</code> headers, the <strong>first</strong> one is used.</p>
-<p>For response, the <code>resultFormat</code> is always <code>object</code> with the HTTP response header <code>Content-Type: application/json</code>.
-If you want more control over the query context or response format, use the above JSON format request body instead.</p>
-<p>The following example demonstrates how to submit a SQL query in text format:</p>
-<div class="language-commandline codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-commandline codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">echo &#x27;SELECT 1&#x27; | curl -H &#x27;Content-Type: text/plain&#x27; http [...]
-<p>We can also use <code>application/x-www-form-urlencoded</code> to submit URL-encoded SQL queries as shown by the following examples:</p>
-<div class="language-commandline codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-commandline codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">echo &#x27;SELECT%20%31&#x27; | curl http://ROUTER_IP:ROUTER_PORT/druid/v2/sq [...]
-<p>The <code>curl</code> tool uses <code>application/x-www-form-urlencoded</code> as Content-Type header if the header is not given.</p>
-<p>The first example pass the URL-encoded query <code>SELECT%20%31</code>, which is <code>SELECT 1</code>, to the <code>curl</code> and <code>curl</code> will directly sends it to the server.
-While the second example passes the raw query <code>SELECT 1</code> to <code>curl</code> and the <code>curl</code> encodes the query to <code>SELECT%20%31</code> because of <code>--data-urlencode</code> option and sends the encoded text to the server.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">500 INTERNAL SERVER ERROR</li></ul><div class="margin-top--md"><div role="tabpanel" cla [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="client-side-error-handling-and-truncated-responses">Client-side error handling and truncated responses<a href="#client-side-error-handling-and-truncated-responses" class="hash-link" aria-label="Direct link to Client-side error handling and truncated responses" title="Direct link to Client-side error handling and truncated responses">​</a></h4>
-<p>Druid reports errors that occur before the response body is sent as JSON with an HTTP 500 status code. The errors are reported using the same format as <a href="/docs/34.0.0/querying/#query-errors">native Druid query errors</a>.
-If an error occurs while Druid is sending the response body, the server handling the request stops the response midstream and logs an error.</p>
-<p>This means that when you call the SQL API, you must properly handle response truncation.
-For  <code>object</code> and <code>array</code> formats, truncated responses are invalid JSON.
-For line-oriented formats, Druid includes a newline character as the final character of every complete response. Absence of a final newline character indicates a truncated response.</p>
-<p>If you detect a truncated response, treat it as an error.</p>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>In the following example, this query demonstrates the following actions:</p>
-<ul>
-<li>Retrieves all rows from the <code>wikipedia</code> datasource.</li>
-<li>Filters the results where the <code>user</code> value is <code>BlueMoon2662</code>.</li>
-<li>Applies the <code>sqlTimeZone</code> context parameter to set the time zone of results to <code>America/Los_Angeles</code>.</li>
-<li>Returns descriptors for <code>header</code>, <code>typesHeader</code>, and <code>sqlTypesHeader</code>.</li>
-</ul>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<p>You can also specify query-level context parameters directly within the SQL query string using the <code>SET</code> command. For more details, see <a href="/docs/34.0.0/querying/sql#set">SET</a>.</p>
-<p>The following request body is functionally equivalent to the previous example and uses SET instead of the <code>context</code> parameter:</p>
-<div class="language-JSON language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></sp [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="cancel-a-query">Cancel a query<a href="#cancel-a-query" class="hash-link" aria-label="Direct link to Cancel a query" title="Direct link to Cancel a query">​</a></h3>
-<p>Cancels a query on the Router or the Broker with the associated <code>sqlQueryId</code>. The <code>sqlQueryId</code> can be manually set when the query is submitted in the query context parameter, or if not set, Druid will generate one and return it in the response header when the query is successfully submitted. Note that Druid does not enforce a unique <code>sqlQueryId</code> in the query context. If you&#x27;ve set the same <code>sqlQueryId</code> for multiple queries, Druid cancel [...]
-<p>When you cancel a query, Druid handles the cancellation in a best-effort manner. Druid immediately marks the query as canceled and aborts the query execution as soon as possible. However, the query may continue running for a short time after you make the cancellation request.</p>
-<p>Cancellation requests require READ permission on all resources used in the SQL query.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>DELETE</code> <code>/druid/v2/sql/{sqlQueryId}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">202 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">403 FORBIDDEN</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ym [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example cancels a request with the set query ID <code>request01</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful response results in an <code>HTTP 202</code> message code and an empty response body.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-output-format">Query output format<a href="#query-output-format" class="hash-link" aria-label="Direct link to Query output format" title="Direct link to Query output format">​</a></h3>
-<p>The following table shows examples of how Druid returns the column names and data types based on the result format and the type request.
-In all cases, <code>header</code> is true.
-The examples includes the first row of results, where the value of <code>user</code> is <code>BlueMoon2662</code>.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">| Format | typesHeader | sqlTypesHeader | Example output                                                  [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="query-from-deep-storage">Query from deep storage<a href="#query-from-deep-storage" class="hash-link" aria-label="Direct link to Query from deep storage" title="Direct link to Query from deep storage">​</a></h2>
-<p>You can use the <code>sql/statements</code> endpoint to query segments that exist only in deep storage and are not loaded onto your Historical processes as determined by your load rules.</p>
-<p>Note that at least one segment of a datasource must be available on a Historical process so that the Broker can plan your query. A quick way to check if this is true is whether or not a datasource is visible in the Druid console.</p>
-<p>For more information, see <a href="/docs/34.0.0/querying/query-deep-storage">Query from deep storage</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="submit-a-query-1">Submit a query<a href="#submit-a-query-1" class="hash-link" aria-label="Direct link to Submit a query" title="Direct link to Submit a query">​</a></h3>
-<p>Submit a query for data stored in deep storage. Any data ingested into Druid is placed into deep storage. The query is contained in the &quot;query&quot; field in the JSON object within the request payload.</p>
-<p>Note that at least part of a datasource must be available on a Historical process so that Druid can plan your query and only the user who submits a query can see the results.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/v2/sql/statements</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="request-body">Request body<a href="#request-body" class="hash-link" aria-label="Direct link to Request body" title="Direct link to Request body">​</a></h4>
-<p>Generally, the <code>sql</code> and <code>sql/statements</code> endpoints support the same response body fields with minor differences. For general information about the available fields, see <a href="#submit-a-query">Submit a query to the <code>sql</code> endpoint</a>.</p>
-<p>Keep the following in mind when submitting queries to the <code>sql/statements</code> endpoint:</p>
-<ul>
-<li>
-<p>Apart from the context parameters mentioned <a href="/docs/34.0.0/multi-stage-query/reference#context-parameters">here</a> there are additional context parameters for <code>sql/statements</code> specifically:</p>
-<ul>
-<li><code>executionMode</code>  determines how query results are fetched. Druid currently only supports <code>ASYNC</code>. You must manually retrieve your results after the query completes.</li>
-<li><code>selectDestination</code> determines where final results get written. By default, results are written to task reports. Set this parameter to <code>durableStorage</code> to instruct Druid to write the results from SELECT queries to durable storage, which allows you to fetch larger result sets. For result sets with more than 3000 rows, it is highly recommended to use <code>durableStorage</code>. Note that this requires you to have <a href="/docs/34.0.0/operations/durable-storage"> [...]
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully queried from deep storage</em></p></div><div role="tabpanel" class="tabItem [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-query-status">Get query status<a href="#get-query-status" class="hash-link" aria-label="Direct link to Get query status" title="Direct link to Get query status">​</a></h3>
-<p>Retrieves information about the query associated with the given query ID. The response matches the response from the POST API if the query is accepted or running and the execution mode is  <code>ASYNC</code>. In addition to the fields that this endpoint shares with <code>POST /sql/statements</code>, a completed query&#x27;s status includes the following:</p>
-<ul>
-<li>A <code>result</code> object that summarizes information about your results, such as the total number of rows and sample records.</li>
-<li>A <code>pages</code> object that includes the following information for each page of results:<!-- -->
-<ul>
-<li><code>numRows</code>: the number of rows in that page of results.</li>
-<li><code>sizeInBytes</code>: the size of the page.</li>
-<li><code>id</code>: the page number that you can use to reference a specific page when you get query results.</li>
-</ul>
-</li>
-</ul>
-<p>If the optional query parameter <code>detail</code> is supplied, then the response also includes the following:</p>
-<ul>
-<li>A <code>stages</code> object that summarizes information about the different stages being used for query execution, such as stage number, phase, start time, duration, input and output information, processing methods, and partitioning.</li>
-<li>A <code>counters</code> object that provides details on the rows, bytes, and files processed at various stages for each worker across different channels, along with sort progress.</li>
-<li>A <code>warnings</code> object that provides details about any warnings.</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/v2/sql/statements/{queryId}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters">Query parameters<a href="#query-parameters" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<ul>
-<li><code>detail</code> (optional)<!-- -->
-<ul>
-<li>Type: Boolean</li>
-<li>Default: false</li>
-<li>Fetch additional details about the query, which includes the information about different stages, counters for each stage, and any warnings.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved query status</em></p></div><div role="tabpanel" class="tabItem_Ym [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example retrieves the status of a query with specified ID <code>query-9b93f6f7-ab0e-48f5-986a-3520f84f0804</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-query-results">Get query results<a href="#get-query-results" class="hash-link" aria-label="Direct link to Get query results" title="Direct link to Get query results">​</a></h3>
-<p>Retrieves results for completed queries. Results are separated into pages, so you can use the optional <code>page</code> parameter to refine the results you get. Druid returns information about the composition of each page and its page number (<code>id</code>). For information about pages, see <a href="#get-query-status">Get query status</a>.</p>
-<p>If a page number isn&#x27;t passed, all results are returned sequentially in the same response. If you have large result sets, you may encounter timeouts based on the value configured for <code>druid.router.http.readTimeout</code>.</p>
-<p>Getting the query results for an ingestion query returns an empty response.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-4">URL<a href="#url-4" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/v2/sql/statements/{queryId}/results</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-1">Query parameters<a href="#query-parameters-1" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<ul>
-<li><code>page</code> (optional)<!-- -->
-<ul>
-<li>Type: Int</li>
-<li>Fetch results based on page numbers. If not specified, all results are returned sequentially starting from page 0 to N in the same response.</li>
-</ul>
-</li>
-<li><code>resultFormat</code> (optional)<!-- -->
-<ul>
-<li>Type: String</li>
-<li>Defines the format in which the results are presented. The following options are supported <code>arrayLines</code>,<code>objectLines</code>,<code>array</code>,<code>object</code>, and <code>csv</code>. The default is <code>object</code>.</li>
-</ul>
-</li>
-<li><code>filename</code> (optional)<!-- -->
-<ul>
-<li>Type: String</li>
-<li>If set, attaches a <code>Content-Disposition</code> header to the response with the value of <code>attachment; filename={filename}</code>. The filename must not be longer than 255 characters and must not contain the characters <code>/</code>, <code>\</code>, <code>:</code>, <code>*</code>, <code>?</code>, <code>&quot;</code>, <code>&lt;</code>, <code>&gt;</code>, <code>|</code>, <code>\0</code>, <code>\n</code>, or <code>\r</code>.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-4">Responses<a href="#responses-4" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item  [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-4">Sample request<a href="#sample-request-4" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example retrieves the status of a query with specified ID <code>query-f3bca219-173d-44d4-bdc7-5002e910352f</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-4">Sample response<a href="#sample-response-4" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="cancel-a-query-1">Cancel a query<a href="#cancel-a-query-1" class="hash-link" aria-label="Direct link to Cancel a query" title="Direct link to Cancel a query">​</a></h3>
-<p>Cancels a running or accepted query.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-5">URL<a href="#url-5" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>DELETE</code> <code>/druid/v2/sql/statements/{queryId}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-5">Responses<a href="#responses-5" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 OK</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">202 ACCEPTED</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 SERVER ERROR</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6" [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-5">Sample request<a href="#sample-request-5" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example cancels a query with specified ID <code>query-945c9633-2fa2-49ab-80ae-8221c38c024da</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-5">Sample response<a href="#sample-response-5" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns an HTTP <code>202 ACCEPTED</code> message code and an empty response body.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/api-reference/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Overview</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/api-reference/sql-in [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/sql-ingestion-api.html/index.html b/docs/34.0.0/api-reference/sql-ingestion-api.html/index.html
deleted file mode 100644
index db85ce694..000000000
--- a/docs/34.0.0/api-reference/sql-ingestion-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/sql-ingestion-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/sql-ingestion-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/sql-ingestion-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/sql-ingestion-api/index.html b/docs/34.0.0/api-reference/sql-ingestion-api/index.html
deleted file mode 100644
index 3f7aed096..000000000
--- a/docs/34.0.0/api-reference/sql-ingestion-api/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/sql-ingestion-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">SQL-based ingestion API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34. [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-extension, new in Druid 24.0. Refer to the <a href="/docs/34.0.0/ingestion/#batch">ingestion methods</a> table to determine which
-ingestion method is right for you.</p></div></div>
-<p>The <strong>Query</strong> view in the web console provides a friendly experience for the multi-stage query task engine (MSQ task engine) and multi-stage query architecture. We recommend using the web console if you don&#x27;t need a programmatic interface.</p>
-<p>When using the API for the MSQ task engine, the action you want to take determines the endpoint you use:</p>
-<ul>
-<li><code>/druid/v2/sql/task</code>: Submit a query for ingestion.</li>
-<li><code>/druid/indexer/v1/task</code>: Interact with a query, including getting its status or details, or canceling the query. This page describes a few of the Overlord Task APIs that you can use with the MSQ task engine. For information about Druid APIs, see the <a href="/docs/34.0.0/ingestion/tasks">API reference for Druid</a>.</li>
-</ul>
-<p>In this topic, <code>http://ROUTER_IP:ROUTER_PORT</code> is a placeholder for your Router service address and port. Replace it with the information for your deployment. For example, use <code>http://localhost:8888</code> for quickstart deployments.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="submit-a-query">Submit a query<a href="#submit-a-query" class="hash-link" aria-label="Direct link to Submit a query" title="Direct link to Submit a query">​</a></h2>
-<p>Submits queries to the MSQ task engine.</p>
-<p>The <code>/druid/v2/sql/task</code> endpoint accepts the following:</p>
-<ul>
-<li><a href="/docs/34.0.0/api-reference/sql-api#request-body">SQL requests in the JSON-over-HTTP form</a> using the
-<code>query</code>, <code>context</code>, and <code>parameters</code> fields. The endpoint ignores the <code>resultFormat</code>, <code>header</code>, <code>typesHeader</code>, and <code>sqlTypesHeader</code> fields.</li>
-<li><a href="/docs/34.0.0/multi-stage-query/reference#insert">INSERT</a> and <a href="/docs/34.0.0/multi-stage-query/reference#replace">REPLACE</a> statements.</li>
-<li>SELECT queries (experimental feature). SELECT query results are collected from workers by the controller, and written into the <a href="#get-the-report-for-a-query-task">task report</a> as an array of arrays. The behavior and result format of plain SELECT queries (without INSERT or REPLACE) is subject to change.</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>POST</code> <code>/druid/v2/sql/task</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">500 INTERNAL SERVER ERROR</li></ul><div class="margin-top--md"><div role="tabpanel" cla [...]
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<p>The following example shows a query that fetches data from an external JSON source and inserts it into a table named <code>wikipedia</code>.
-The example specifies two query context parameters:</p>
-<ul>
-<li><code>maxNumTasks=3</code>: Limits the maximum number of parallel tasks to 3.</li>
-<li><code>finalizeAggregations=false</code>: Ensures that Druid saves the aggregation&#x27;s intermediate type during ingestion. For more information, see <a href="/docs/34.0.0/multi-stage-query/concepts#rollup">Rollup</a>.</li>
-</ul>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">HTTP</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="languag [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<p><strong>Response fields</strong></p>
-<table><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><code>taskId</code></td><td>Controller task ID. You can use Druid&#x27;s standard <a href="/docs/34.0.0/api-reference/tasks-api">Tasks API</a> to interact with this controller task.</td></tr><tr><td><code>state</code></td><td>Initial state for the query.</td></tr></tbody></table>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-the-status-for-a-query-task">Get the status for a query task<a href="#get-the-status-for-a-query-task" class="hash-link" aria-label="Direct link to Get the status for a query task" title="Direct link to Get the status for a query task">​</a></h2>
-<p>Retrieves the status of a query task. It returns a JSON object with the task&#x27;s status code, runner status, task type, datasource, and other relevant metadata.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>GET</code> <code>/druid/indexer/v1/task/{taskId}/status</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved task status</em></p></div><div role="tabpanel" class="tabItem_Y [...]
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<p>The following example shows how to retrieve the status of a task with the ID <code>query-3dc0c45d-34d7-4b15-86c9-cdb2d3ebfc4e</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">HTTP</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="languag [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-the-report-for-a-query-task">Get the report for a query task<a href="#get-the-report-for-a-query-task" class="hash-link" aria-label="Direct link to Get the report for a query task" title="Direct link to Get the report for a query task">​</a></h2>
-<p>Retrieves the task report for a query.
-The report provides detailed information about the query task, including things like the stages, warnings, and errors.</p>
-<p>Keep the following in mind when using the task API to view reports:</p>
-<ul>
-<li>The task report for an entire job is associated with the <code>query_controller</code> task. The <code>query_worker</code> tasks don&#x27;t have their own reports; their information is incorporated into the controller report.</li>
-<li>The task report API may report <code>404 Not Found</code> temporarily while the task is in the process of starting up.</li>
-<li>As an experimental feature, the MSQ task engine supports running SELECT queries. SELECT query results are written into
-the <code>multiStageQuery.payload.results.results</code> task report key as an array of arrays. The behavior and result format of plain
-SELECT queries (without INSERT or REPLACE) is subject to change.</li>
-<li><code>multiStageQuery.payload.results.resultsTruncated</code> denotes whether the results of the report have been truncated to prevent the reports from blowing up.</li>
-</ul>
-<p>For an explanation of the fields in a report, see <a href="#report-response-fields">Report response fields</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>GET</code> <code>/druid/indexer/v1/task/{taskId}/reports</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved task report</em></p></div></div></div>
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<p>The following example shows how to retrieve the report for a query with the task ID <code>query-3dc0c45d-34d7-4b15-86c9-cdb2d3ebfc4e</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">HTTP</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="languag [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<p>The response shows an example report for a query.</p>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<a name="report-response-fields"></a>
-<p>The following table describes the response fields when you retrieve a report for a MSQ task engine using the <code>/druid/indexer/v1/task/{taskId}/reports</code> endpoint:</p>
-<table><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><code>multiStageQuery.taskId</code></td><td>Controller task ID.</td></tr><tr><td><code>multiStageQuery.payload.status</code></td><td>Query status container.</td></tr><tr><td><code>multiStageQuery.payload.status.status</code></td><td>RUNNING, SUCCESS, or FAILED.</td></tr><tr><td><code>multiStageQuery.payload.status.startTime</code></td><td>Start time of the query in ISO format. Only present if the query has st [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cancel-a-query-task">Cancel a query task<a href="#cancel-a-query-task" class="hash-link" aria-label="Direct link to Cancel a query task" title="Direct link to Cancel a query task">​</a></h2>
-<p>Cancels a query task.
-Returns a JSON object with the ID of the task that was canceled successfully.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h3>
-<p><code>POST</code> <code>/druid/indexer/v1/task/{taskId}/shutdown</code></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h3>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully shut down task</em></p></div><div role="tabpanel" class="tabItem_Ymn6" hi [...]
-<hr>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h3>
-<p>The following example shows how to cancel a query task with the ID <code>query-655efe33-781a-4c50-ae84-c2911b42d63c</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">HTTP</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Python</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="languag [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h3>
-<p>The response shows the ID of the task that was canceled.</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/sql-jdbc.html/index.html b/docs/34.0.0/api-reference/sql-jdbc.html/index.html
deleted file mode 100644
index c68740624..000000000
--- a/docs/34.0.0/api-reference/sql-jdbc.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/sql-jdbc">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/sql-jdbc" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/sql-jdbc' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/sql-jdbc/index.html b/docs/34.0.0/api-reference/sql-jdbc/index.html
deleted file mode 100644
index 6c81dc8bb..000000000
--- a/docs/34.0.0/api-reference/sql-jdbc/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/sql-jdbc" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">SQL JDBC driver API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/ [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-This document describes the SQL language.</p></div></div>
-<p>You can make <a href="/docs/34.0.0/querying/sql">Druid SQL</a> queries using the <a href="https://calcite.apache.org/avatica/downloads/" target="_blank" rel="noopener noreferrer">Avatica JDBC driver</a>.
-We recommend using Avatica JDBC driver version 1.23.0 or later. Note that starting with Avatica 1.21.0, you may need to set the <a href="https://calcite.apache.org/avatica/docs/client_reference.html#transparent_reconnection" target="_blank" rel="noopener noreferrer"><code>transparent_reconnection</code></a> property to <code>true</code> if you notice intermittent query failures.</p>
-<p>Once you&#x27;ve downloaded the Avatica client jar, add it to your classpath.</p>
-<p>Example connection string:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">jdbc:avatica:remote:url=http://localhost:8888/druid/v2/sql/avatica/;transparent_reconnection=true</span>< [...]
-<p>Or, to use the protobuf protocol instead of JSON:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">jdbc:avatica:remote:url=http://localhost:8888/druid/v2/sql/avatica-protobuf/;transparent_reconnection=tru [...]
-<p>The <code>url</code> is the <code>/druid/v2/sql/avatica/</code> endpoint on the Router, which routes JDBC connections to a consistent Broker.
-For more information, see <a href="#connection-stickiness">Connection stickiness</a>.</p>
-<p>Set <code>transparent_reconnection</code> to <code>true</code> so your connection is not interrupted if the pool of Brokers changes membership,
-or if a Broker is restarted.</p>
-<p>Set <code>serialization</code> to <code>protobuf</code> if using the protobuf endpoint.</p>
-<p>Note that as of the time of this writing, Avatica 1.23.0, the latest version, does not support passing
-<a href="/docs/34.0.0/querying/sql-query-context">connection context parameters</a> from the JDBC connection string to Druid. These context parameters
-must be passed using a <code>Properties</code> object instead. Refer to the Java code below for an example.</p>
-<p>Example Java code:</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">// Connect to /druid/v2/sql/avatica/ on your Broker.</span><br></span><span class="token-li [...]
-<p>For a runnable example that includes a query that you might run, see <a href="#examples">Examples</a>.</p>
-<p>It is also possible to use a protocol buffers JDBC connection with Druid, this offer reduced bloat and potential performance
-improvements for larger result sets. To use it apply the following connection URL instead, everything else remains the same</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">String url = &quot;jdbc:avatica:remote:url=http://localhost:8888/druid/v2/sql/avatica-protobuf/;transpare [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>The protobuf endpoint is also kno [...]
-<p>Table metadata is available over JDBC using <code>connection.getMetaData()</code> or by querying the
-<a href="/docs/34.0.0/querying/sql-metadata-tables">INFORMATION_SCHEMA tables</a>. For an example of this, see <a href="#get-the-metadata-for-a-datasource">Get the metadata for a datasource</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="connection-stickiness">Connection stickiness<a href="#connection-stickiness" class="hash-link" aria-label="Direct link to Connection stickiness" title="Direct link to Connection stickiness">​</a></h2>
-<p>Druid&#x27;s JDBC server does not share connection state between Brokers. This means that if you&#x27;re using JDBC and have
-multiple Druid Brokers, you should either connect to a specific Broker or use a load balancer with sticky sessions
-enabled. The Druid Router process provides connection stickiness when balancing JDBC requests, and can be used to achieve
-the necessary stickiness even with a normal non-sticky load balancer. Please see the
-<a href="/docs/34.0.0/design/router">Router</a> documentation for more details.</p>
-<p>Note that the non-JDBC <a href="/docs/34.0.0/api-reference/sql-api#submit-a-query">JSON over HTTP</a> API is stateless and does not require stickiness.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="dynamic-parameters">Dynamic parameters<a href="#dynamic-parameters" class="hash-link" aria-label="Direct link to Dynamic parameters" title="Direct link to Dynamic parameters">​</a></h2>
-<p>You can use <a href="/docs/34.0.0/querying/sql#dynamic-parameters">parameterized queries</a> in JDBC code, as in this example:</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">PreparedStatement statement = connection.prepareStatement(&quot;SELECT COUNT(*) AS cnt FROM [...]
-<p>Sample code where dynamic parameters replace arrays using STRING_TO_ARRAY:</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">PreparedStatement statement = connection.prepareStatement(&quot;select l1 from numfoo where [...]
-<p>Sample code using native array:</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">PreparedStatement statement = connection.prepareStatement(&quot;select l1 from numfoo where [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h2>
-<p>The following section contains two complete samples that use the JDBC connector:</p>
-<ul>
-<li><a href="#get-the-metadata-for-a-datasource">Get the metadata for a datasource</a> shows you how to query the <code>INFORMATION_SCHEMA</code> to get metadata like column names.</li>
-<li><a href="#query-data">Query data</a> runs a select query against the datasource.</li>
-</ul>
-<p>You can try out these examples after verifying that you meet the <a href="#prerequisites">prerequisites</a>.</p>
-<p>For more information about the connection options, see <a href="https://calcite.apache.org/avatica/docs/client_reference.html" target="_blank" rel="noopener noreferrer">Client Reference</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="prerequisites">Prerequisites<a href="#prerequisites" class="hash-link" aria-label="Direct link to Prerequisites" title="Direct link to Prerequisites">​</a></h3>
-<p>Make sure you meet the following requirements before trying these examples:</p>
-<ul>
-<li>
-<p>A supported <a href="/docs/34.0.0/operations/java">Java version</a></p>
-</li>
-<li>
-<p><a href="https://calcite.apache.org/avatica/downloads/" target="_blank" rel="noopener noreferrer">Avatica JDBC driver</a>. You can add the JAR  to your <code>CLASSPATH</code> directly or manage it externally, such as through Maven and a <code>pom.xml</code> file.</p>
-</li>
-<li>
-<p>An available Druid instance. You can use the <code>micro-quickstart</code> configuration described in <a href="/docs/34.0.0/tutorials/">Quickstart (local)</a>. The examples assume that you are using the quickstart, so no authentication or authorization is expected unless explicitly mentioned.</p>
-</li>
-<li>
-<p>The example <code>wikipedia</code> datasource from the quickstart is loaded on your Druid instance. If you have a different datasource loaded, you can still try these examples. You&#x27;ll have to update the table name and column names to match your datasource.</p>
-</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-the-metadata-for-a-datasource">Get the metadata for a datasource<a href="#get-the-metadata-for-a-datasource" class="hash-link" aria-label="Direct link to Get the metadata for a datasource" title="Direct link to Get the metadata for a datasource">​</a></h3>
-<p>Metadata, such as column names, is available either through the <a href="/docs/34.0.0/querying/sql-metadata-tables"><code>INFORMATION_SCHEMA</code></a> table or through <code>connection.getMetaData()</code>. The following example uses the <code>INFORMATION_SCHEMA</code> table to retrieve and print the list of column names for the <code>wikipedia</code> datasource that you loaded during a previous tutorial.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">import java.sql.*;</span><br></span><span class="token-line" style="color:#bfc7d5"><span cl [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-data">Query data<a href="#query-data" class="hash-link" aria-label="Direct link to Query data" title="Direct link to Query data">​</a></h3>
-<p>Now that you know what columns are available, you can start querying the data. The following example queries the datasource named <code>wikipedia</code> for the timestamps and comments from Japan. It also sets the <a href="/docs/34.0.0/querying/sql-query-context">query context parameter</a> <code>sqlTimeZone</code>. Optionally, you can also parameterize queries by using <a href="#dynamic-parameters">dynamic parameters</a>.</p>
-<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">import java.sql.*;</span><br></span><span class="token-line" style="color:#bfc7d5"><span cl [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/supervisor-api.html/index.html b/docs/34.0.0/api-reference/supervisor-api.html/index.html
deleted file mode 100644
index 4cc47bb7d..000000000
--- a/docs/34.0.0/api-reference/supervisor-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/supervisor-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/supervisor-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/supervisor-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/supervisor-api/index.html b/docs/34.0.0/api-reference/supervisor-api/index.html
deleted file mode 100644
index f956105e6..000000000
--- a/docs/34.0.0/api-reference/supervisor-api/index.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/supervisor-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Supervisor API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/api-r [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-The topic uses the Apache Kafka term offset to refer to the identifier for records in a partition. If you are using Amazon Kinesis, the equivalent is sequence number.</p>
-<p>In this topic, <code>http://ROUTER_IP:ROUTER_PORT</code> is a placeholder for your Router service address and port. Replace it with the information for your deployment. For example, use <code>http://localhost:8888</code> for quickstart deployments.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="supervisor-information">Supervisor information<a href="#supervisor-information" class="hash-link" aria-label="Direct link to Supervisor information" title="Direct link to Supervisor information">​</a></h2>
-<p>The following table lists the properties of a supervisor object:</p>
-<table><thead><tr><th>Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>String</td><td>Unique identifier.</td></tr><tr><td><code>state</code></td><td>String</td><td>Generic state of the supervisor. Available states:<code>UNHEALTHY_SUPERVISOR</code>, <code>UNHEALTHY_TASKS</code>, <code>PENDING</code>, <code>RUNNING</code>, <code>SUSPENDED</code>, <code>STOPPING</code>. See <a href="/docs/34.0.0/ingestion/supervisor#status-report">Supervisor  [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-active-supervisor-ids">Get an array of active supervisor IDs<a href="#get-an-array-of-active-supervisor-ids" class="hash-link" aria-label="Direct link to Get an array of active supervisor IDs" title="Direct link to Get an array of active supervisor IDs">​</a></h3>
-<p>Returns an array of strings representing the names of active supervisors. If there are no active supervisors, it returns an empty array.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved array of active supervisor IDs</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-active-supervisor-objects">Get an array of active supervisor objects<a href="#get-an-array-of-active-supervisor-objects" class="hash-link" aria-label="Direct link to Get an array of active supervisor objects" title="Direct link to Get an array of active supervisor objects">​</a></h3>
-<p>Retrieves an array of active supervisor objects. If there are no active supervisors, it returns an empty array. For reference on the supervisor object properties, see the preceding <a href="#supervisor-information">table</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor?full</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved supervisor objects</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-supervisor-states">Get an array of supervisor states<a href="#get-an-array-of-supervisor-states" class="hash-link" aria-label="Direct link to Get an array of supervisor states" title="Direct link to Get an array of supervisor states">​</a></h3>
-<p>Retrieves an array of objects representing active supervisors and their current state. If there are no active supervisors, it returns an empty array. For reference on the supervisor object properties, see the preceding <a href="#supervisor-information">table</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor?state=true</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved supervisor state objects</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-supervisor-specification">Get supervisor specification<a href="#get-supervisor-specification" class="hash-link" aria-label="Direct link to Get supervisor specification" title="Direct link to Get supervisor specification">​</a></h3>
-<p>Retrieves the specification for a single supervisor. The returned specification includes the <code>dataSchema</code>, <code>ioConfig</code>, and <code>tuningConfig</code> objects.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor/{supervisorId}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved supervisor spec</em></p></div><div role="tabpanel" class="tabItem_Y [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to retrieve the specification of a supervisor with the name <code>wikipedia_stream</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-supervisor-status">Get supervisor status<a href="#get-supervisor-status" class="hash-link" aria-label="Direct link to Get supervisor status" title="Direct link to Get supervisor status">​</a></h3>
-<p>Retrieves the current status report for a single supervisor. The report contains the state of the supervisor tasks and an array of recently thrown exceptions.</p>
-<p>For additional information about the status report, see <a href="/docs/34.0.0/ingestion/supervisor#status-report">Supervisor reference</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-4">URL<a href="#url-4" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/status</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-4">Responses<a href="#responses-4" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved supervisor status</em></p></div><div role="tabpanel" class="tabItem [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-4">Sample request<a href="#sample-request-4" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to retrieve the status of a supervisor with the name <code>social_media</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-4">Sample response<a href="#sample-response-4" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-supervisor-health">Get supervisor health<a href="#get-supervisor-health" class="hash-link" aria-label="Direct link to Get supervisor health" title="Direct link to Get supervisor health">​</a></h3>
-<p>Retrieves the current health report for a single supervisor. The health of a supervisor is determined by the supervisor&#x27;s <code>state</code> (as returned by the <code>/status</code> endpoint) and the <code>druid.supervisor.*</code> Overlord configuration thresholds.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-5">URL<a href="#url-5" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/health</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-5">Responses<a href="#responses-5" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">503 SERVICE UNAVAILABLE</li></ul><div class="margin-top--md"><div role="tabpanel" class=" [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-5">Sample request<a href="#sample-request-5" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to retrieve the health report for a supervisor with the name <code>social_media</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-5">Sample response<a href="#sample-response-5" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-supervisor-ingestion-stats">Get supervisor ingestion stats<a href="#get-supervisor-ingestion-stats" class="hash-link" aria-label="Direct link to Get supervisor ingestion stats" title="Direct link to Get supervisor ingestion stats">​</a></h3>
-<p>Returns a snapshot of the current ingestion row counters for each task being managed by the supervisor, along with moving averages for the row counters. See <a href="/docs/34.0.0/ingestion/tasks#row-stats">Row stats</a> for more information.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-6">URL<a href="#url-6" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/stats</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-6">Responses<a href="#responses-6" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved supervisor stats</em></p></div><div role="tabpanel" class="tabItem_ [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-6">Sample request<a href="#sample-request-6" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to retrieve the current ingestion row counters for a supervisor with the name <code>custom_data</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-6">Sample response<a href="#sample-response-6" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="audit-history">Audit history<a href="#audit-history" class="hash-link" aria-label="Direct link to Audit history" title="Direct link to Audit history">​</a></h2>
-<p>An audit history provides a comprehensive log of events, including supervisor configuration, creation, suspension, and modification history.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-audit-history-for-all-supervisors">Get audit history for all supervisors<a href="#get-audit-history-for-all-supervisors" class="hash-link" aria-label="Direct link to Get audit history for all supervisors" title="Direct link to Get audit history for all supervisors">​</a></h3>
-<p>Retrieves an audit history of specs for all supervisors.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-7">URL<a href="#url-7" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor/history</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-7">Responses<a href="#responses-7" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved audit history</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-7">Sample request<a href="#sample-request-7" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-7">Sample response<a href="#sample-response-7" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-audit-history-for-a-specific-supervisor">Get audit history for a specific supervisor<a href="#get-audit-history-for-a-specific-supervisor" class="hash-link" aria-label="Direct link to Get audit history for a specific supervisor" title="Direct link to Get audit history for a specific supervisor">​</a></h3>
-<p>Retrieves an audit history of specs for a single supervisor.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-8">URL<a href="#url-8" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/history</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-8">Responses<a href="#responses-8" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully retrieved supervisor audit history</em></p></div><div role="tabpanel" class=" [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-8">Sample request<a href="#sample-request-8" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to retrieve the audit history of a supervisor with the name <code>wikipedia_stream</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-8">Sample response<a href="#sample-response-8" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="manage-supervisors">Manage supervisors<a href="#manage-supervisors" class="hash-link" aria-label="Direct link to Manage supervisors" title="Direct link to Manage supervisors">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-or-update-a-supervisor">Create or update a supervisor<a href="#create-or-update-a-supervisor" class="hash-link" aria-label="Direct link to Create or update a supervisor" title="Direct link to Create or update a supervisor">​</a></h3>
-<p>Creates a new supervisor spec or updates an existing one with new configuration and schema information. When updating a supervisor spec, the datasource must remain the same as the previous supervisor.</p>
-<p>You can define a supervisor spec for <a href="/docs/34.0.0/ingestion/kafka-ingestion">Apache Kafka</a> or <a href="/docs/34.0.0/ingestion/kinesis-ingestion">Amazon Kinesis</a> streaming ingestion methods.</p>
-<p>The following table lists the properties of a supervisor spec:</p>
-<table><thead><tr><th>Property</th><th>Type</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>type</code></td><td>String</td><td>The supervisor type. One of<code>kafka</code> or <code>kinesis</code>.</td><td>Yes</td></tr><tr><td><code>spec</code></td><td>Object</td><td>The container object for the supervisor configuration.</td><td>Yes</td></tr><tr><td><code>ioConfig</code></td><td>Object</td><td>The I/O configuration object to define the connection and I/O-relate [...]
-<p>When you call this endpoint on an existing supervisor, the running supervisor signals its tasks to stop reading and begin publishing, exiting itself. Druid then uses the provided configuration from the request body to create a new supervisor. Druid submits a new schema while retaining existing publishing tasks and starts new tasks at the previous task offsets.
-This way, you can apply configuration changes without a pause in ingestion.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-9">URL<a href="#url-9" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-9">Responses<a href="#responses-9" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">415 UNSUPPORTED MEDIA TYPE</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully created a new supervisor or updated an existing supervisor</em>< [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-9">Sample request<a href="#sample-request-9" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example uses JSON input format to create a supervisor spec for Kafka with a <code>social_media</code> datasource and <code>social_media</code> topic.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-with-skiprestartifunmodified">Sample request with <code>skipRestartIfUnmodified</code><a href="#sample-request-with-skiprestartifunmodified" class="hash-link" aria-label="Direct link to sample-request-with-skiprestartifunmodified" title="Direct link to sample-request-with-skiprestartifunmodified">​</a></h4>
-<p>The following example sets the <code>skipRestartIfUnmodified</code> flag to true. With this flag set to true, the Supervisor will only restart if there has been a modification to the SupervisorSpec. If left unset, the flag defaults to false.</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">curl &quot;http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor?skipRestartIfUnmodifi [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-9">Sample response<a href="#sample-response-9" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="suspend-a-running-supervisor">Suspend a running supervisor<a href="#suspend-a-running-supervisor" class="hash-link" aria-label="Direct link to Suspend a running supervisor" title="Direct link to Suspend a running supervisor">​</a></h3>
-<p>Suspends a single running supervisor. Returns the updated supervisor spec, where the <code>suspended</code> property is set to <code>true</code>. The suspended supervisor continues to emit logs and metrics.
-Indexing tasks remain suspended until you <a href="#resume-a-supervisor">resume the supervisor</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-10">URL<a href="#url-10" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/suspend</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-10">Responses<a href="#responses-10" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_ [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-10">Sample request<a href="#sample-request-10" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to suspend a running supervisor with the name <code>social_media</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-10">Sample response<a href="#sample-response-10" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="suspend-all-supervisors">Suspend all supervisors<a href="#suspend-all-supervisors" class="hash-link" aria-label="Direct link to Suspend all supervisors" title="Direct link to Suspend all supervisors">​</a></h3>
-<p>Suspends all supervisors. Note that this endpoint returns an HTTP <code>200 Success</code> code message even if there are no supervisors or running supervisors to suspend.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-11">URL<a href="#url-11" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/suspendAll</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-11">Responses<a href="#responses-11" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully suspended all supervisors</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-11">Sample request<a href="#sample-request-11" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-11">Sample response<a href="#sample-response-11" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="resume-a-supervisor">Resume a supervisor<a href="#resume-a-supervisor" class="hash-link" aria-label="Direct link to Resume a supervisor" title="Direct link to Resume a supervisor">​</a></h3>
-<p>Resumes indexing tasks for a supervisor. Returns an updated supervisor spec with the <code>suspended</code> property set to <code>false</code>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-12">URL<a href="#url-12" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/resume</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-12">Responses<a href="#responses-12" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_ [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-12">Sample request<a href="#sample-request-12" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example resumes a previously suspended supervisor with name <code>social_media</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-12">Sample response<a href="#sample-response-12" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="resume-all-supervisors">Resume all supervisors<a href="#resume-all-supervisors" class="hash-link" aria-label="Direct link to Resume all supervisors" title="Direct link to Resume all supervisors">​</a></h3>
-<p>Resumes all supervisors. Note that this endpoint returns an HTTP <code>200 Success</code> code even if there are no supervisors or suspended supervisors to resume.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-13">URL<a href="#url-13" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/resumeAll</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-13">Responses<a href="#responses-13" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully resumed all supervisors</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-13">Sample request<a href="#sample-request-13" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-13">Sample response<a href="#sample-response-13" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="reset-a-supervisor">Reset a supervisor<a href="#reset-a-supervisor" class="hash-link" aria-label="Direct link to Reset a supervisor" title="Direct link to Reset a supervisor">​</a></h3>
-<p>The supervisor must be running for this endpoint to be available.</p>
-<p>Resets the specified supervisor. This endpoint clears supervisor metadata, prompting the supervisor to resume data reading. The supervisor restarts from the earliest or latest available position, depending on the value of the <code>useEarliestOffset</code> property.
-After clearing all stored offsets, the supervisor kills and recreates active tasks,
-so that tasks begin reading from valid positions.</p>
-<p>Use this endpoint to recover from a stopped state due to missing offsets. Use this endpoint with caution as it may result in skipped messages and lead to data loss or duplicate data.</p>
-<p>The indexing service keeps track of the latest persisted offsets to provide exactly-once ingestion guarantees across tasks. Subsequent tasks must start reading from where the previous task completed for Druid to accept the generated segments. If the messages at the expected starting offsets are no longer available, the supervisor refuses to start and in-flight tasks fail. Possible causes for missing messages include the message retention period elapsing or the topic being removed and  [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-14">URL<a href="#url-14" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/reset</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-14">Responses<a href="#responses-14" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully reset supervisor</em></p></div><div role="tabpanel" class="tabItem_Ymn6" hidd [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-14">Sample request<a href="#sample-request-14" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to reset a supervisor with the name <code>social_media</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-14">Sample response<a href="#sample-response-14" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="reset-offsets-for-a-supervisor">Reset offsets for a supervisor<a href="#reset-offsets-for-a-supervisor" class="hash-link" aria-label="Direct link to Reset offsets for a supervisor" title="Direct link to Reset offsets for a supervisor">​</a></h3>
-<p>The supervisor must be running for this endpoint to be available.</p>
-<p>Resets the specified offsets for partitions without resetting the entire set.</p>
-<p>This endpoint clears only the stored offsets, prompting the supervisor to resume reading data from the specified offsets.
-If there are no stored offsets, the specified offsets are set in the metadata store.</p>
-<p>After resetting stored offsets, the supervisor kills and recreates any active tasks pertaining to the specified partitions,
-so that tasks begin reading specified offsets. For partitions that are not specified in this operation, the supervisor resumes from the last stored offset.</p>
-<p>Use this endpoint with caution. It can cause skipped messages, leading to data loss or duplicate data.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-15">URL<a href="#url-15" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/resetOffsets</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-15">Responses<a href="#responses-15" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully reset offsets</em></p></div><div role="tabpanel" class="tabItem_Ymn6" hidden= [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="reset-offsets-metadata">Reset Offsets Metadata<a href="#reset-offsets-metadata" class="hash-link" aria-label="Direct link to Reset Offsets Metadata" title="Direct link to Reset Offsets Metadata">​</a></h4>
-<p>This section presents the structure and details of the reset offsets metadata payload.</p>
-<table><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>type</code></td><td>String</td><td>The type of reset offsets metadata payload. It must match the supervisor&#x27;s <code>type</code>. Possible values: <code>kafka</code> or <code>kinesis</code>.</td><td>Yes</td></tr><tr><td><code>partitions</code></td><td>Object</td><td>An object representing the reset metadata. See below for details.</td><td>Yes</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="partitions">Partitions<a href="#partitions" class="hash-link" aria-label="Direct link to Partitions" title="Direct link to Partitions">​</a></h4>
-<p>The following table defines the fields within the <code>partitions</code> object in the reset offsets metadata payload.</p>
-<table><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>type</code></td><td>String</td><td>Must be set as <code>end</code>.  Indicates the end sequence numbers for the reset offsets.</td><td>Yes</td></tr><tr><td><code>stream</code></td><td>String</td><td>The stream to be reset. It must be a valid stream consumed by the supervisor.</td><td>Yes</td></tr><tr><td><code>partitionOffsetMap</code></td><td>Object</td><td>A map of partit [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-15">Sample request<a href="#sample-request-15" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to reset offsets for a Kafka supervisor with the name <code>social_media</code>. For example, the supervisor is reading from a Kafka topic <code>ads_media_stream</code> and has the stored offsets: <code>{&quot;0&quot;: 0, &quot;1&quot;: 10, &quot;2&quot;: 20, &quot;3&quot;: 40}</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-when the supervisor&#x27;s tasks restart, they resume reading from <code>{&quot;0&quot;: 100, &quot;1&quot;: 10, &quot;2&quot;: 650, &quot;3&quot;: 40}</code>.</p></div></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-15">Sample response<a href="#sample-response-15" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="terminate-a-supervisor">Terminate a supervisor<a href="#terminate-a-supervisor" class="hash-link" aria-label="Direct link to Terminate a supervisor" title="Direct link to Terminate a supervisor">​</a></h3>
-<p>Terminates a supervisor and its associated indexing tasks, triggering the publishing of their segments. When you terminate a supervisor, Druid places a tombstone marker in the metadata store to prevent reloading on restart.</p>
-<p>The terminated supervisor still exists in the metadata store and its history can be retrieved.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-16">URL<a href="#url-16" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/terminate</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-16">Responses<a href="#responses-16" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully terminated a supervisor</em></p></div><div role="tabpanel" class="tabItem_Ymn [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-16">Sample request<a href="#sample-request-16" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-16">Sample response<a href="#sample-response-16" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="terminate-all-supervisors">Terminate all supervisors<a href="#terminate-all-supervisors" class="hash-link" aria-label="Direct link to Terminate all supervisors" title="Direct link to Terminate all supervisors">​</a></h3>
-<p>Terminates all supervisors. Terminated supervisors still exist in the metadata store and their history can be retrieved. Note that this endpoint returns an HTTP <code>200 Success</code> code even if there are no supervisors or running supervisors to terminate.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-17">URL<a href="#url-17" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/terminateAll</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-17">Responses<a href="#responses-17" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><em>Successfully terminated all supervisors</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-17">Sample request<a href="#sample-request-17" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-17">Sample response<a href="#sample-response-17" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="handoff-task-groups-for-a-supervisor-early">Handoff task groups for a supervisor early<a href="#handoff-task-groups-for-a-supervisor-early" class="hash-link" aria-label="Direct link to Handoff task groups for a supervisor early" title="Direct link to Handoff task groups for a supervisor early">​</a></h3>
-<p>Trigger handoff for specified task groups of a supervisor early. This is a best effort API and makes no guarantees of handoff execution</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-18">URL<a href="#url-18" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/taskGroups/handoff</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-18">Sample request<a href="#sample-request-18" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to handoff task groups for a supervisor with the name <code>social_media</code> and has the task groups: <code>1,2,3</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-18">Sample response<a href="#sample-response-18" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Details</summary><div><div class="collapsibleContent_i85q"><p></p><summary>View the response</summary>
-(empty response)<p></p></div></div></details>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="shut-down-a-supervisor">Shut down a supervisor<a href="#shut-down-a-supervisor" class="hash-link" aria-label="Direct link to Shut down a supervisor" title="Direct link to Shut down a supervisor">​</a></h3>
-<p>Shuts down a supervisor. This endpoint is deprecated and will be removed in future releases. Use the equivalent <a href="#terminate-a-supervisor">terminate</a> endpoint instead.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-19">URL<a href="#url-19" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/supervisor/{supervisorId}/shutdown</code></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/api-reference/tasks-api"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Tasks</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/api-reference/retention-rules-api" [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/tasks-api.html/index.html b/docs/34.0.0/api-reference/tasks-api.html/index.html
deleted file mode 100644
index 3cadfbe92..000000000
--- a/docs/34.0.0/api-reference/tasks-api.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/api-reference/tasks-api">
-    <link rel="canonical" href="/docs/34.0.0/api-reference/tasks-api" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/api-reference/tasks-api' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/api-reference/tasks-api/index.html b/docs/34.0.0/api-reference/tasks-api/index.html
deleted file mode 100644
index b2a917db8..000000000
--- a/docs/34.0.0/api-reference/tasks-api/index.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api-reference/tasks-api" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Tasks API | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/api-refere [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>In this topic, <code>http://ROUTER_IP:ROUTER_PORT</code> is a placeholder for the Router service address and port. For example, on the quickstart configuration, use <code>http://localhost:8888</code>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="task-information-and-retrieval">Task information and retrieval<a href="#task-information-and-retrieval" class="hash-link" aria-label="Direct link to Task information and retrieval" title="Direct link to Task information and retrieval">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-tasks">Get an array of tasks<a href="#get-an-array-of-tasks" class="hash-link" aria-label="Direct link to Get an array of tasks" title="Direct link to Get an array of tasks">​</a></h3>
-<p>Retrieves an array of all tasks in the Druid cluster. Each task object includes information on its ID, status, associated datasource, and other metadata. For definitions of the response properties, see the <a href="/docs/34.0.0/querying/sql-metadata-tables#tasks-table">Tasks table</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url">URL<a href="#url" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/tasks</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters">Query parameters<a href="#query-parameters" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<p>The endpoint supports a set of optional query parameters to filter results.</p>
-<table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>state</code></td><td>String</td><td>Filter list of tasks by task state, valid options are <code>running</code>, <code>complete</code>, <code>waiting</code>, and <code>pending</code>.</td></tr><tr><td><code>datasource</code></td><td>String</td><td>Return tasks filtered by Druid datasource.</td></tr><tr><td><code>createdTimeInterval</code></td><td>String (ISO-8601)</td><td>Return tasks cr [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses">Responses<a href="#responses" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">500 SERVER ERROR</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabIt [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request">Sample request<a href="#sample-request" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following example shows how to retrieve a list of tasks filtered with the following query parameters:</p>
-<ul>
-<li>State: <code>complete</code></li>
-<li>Datasource: <code>wikipedia_api</code></li>
-<li>Time interval: between <code>2015-09-12</code> and <code>2015-09-13</code></li>
-<li>Max entries returned: <code>10</code></li>
-<li>Task type: <code>query_worker</code></li>
-</ul>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response">Sample response<a href="#sample-response" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-complete-tasks">Get an array of complete tasks<a href="#get-an-array-of-complete-tasks" class="hash-link" aria-label="Direct link to Get an array of complete tasks" title="Direct link to Get an array of complete tasks">​</a></h3>
-<p>Retrieves an array of completed tasks in the Druid cluster. This is functionally equivalent to <code>/druid/indexer/v1/tasks?state=complete</code>. For definitions of the response properties, see the <a href="/docs/34.0.0/querying/sql-metadata-tables#tasks-table">Tasks table</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-1">URL<a href="#url-1" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/completeTasks</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-1">Query parameters<a href="#query-parameters-1" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<p>The endpoint supports a set of optional query parameters to filter results.</p>
-<table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>datasource</code></td><td>String</td><td>Return tasks filtered by Druid datasource.</td></tr><tr><td><code>createdTimeInterval</code></td><td>String (ISO-8601)</td><td>Return tasks created within the specified interval. The interval string should be delimited by <code>_</code> instead of <code>/</code>. For example, <code>2023-06-27_2023-06-28</code>.</td></tr><tr><td><code>max</code></ [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-1">Responses<a href="#responses-1" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved list of complete tasks</em></p></div><div role="tabpanel" class [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-1">Sample request<a href="#sample-request-1" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-1">Sample response<a href="#sample-response-1" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-running-tasks">Get an array of running tasks<a href="#get-an-array-of-running-tasks" class="hash-link" aria-label="Direct link to Get an array of running tasks" title="Direct link to Get an array of running tasks">​</a></h3>
-<p>Retrieves an array of running task objects in the Druid cluster. It is functionally equivalent to <code>/druid/indexer/v1/tasks?state=running</code>. For definitions of the response properties, see the <a href="/docs/34.0.0/querying/sql-metadata-tables#tasks-table">Tasks table</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-2">URL<a href="#url-2" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/runningTasks</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-2">Query parameters<a href="#query-parameters-2" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<p>The endpoint supports a set of optional query parameters to filter results.</p>
-<table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>datasource</code></td><td>String</td><td>Return tasks filtered by Druid datasource.</td></tr><tr><td><code>createdTimeInterval</code></td><td>String (ISO-8601)</td><td>Return tasks created within the specified interval. The interval string should be delimited by <code>_</code> instead of <code>/</code>. For example, <code>2023-06-27_2023-06-28</code>.</td></tr><tr><td><code>max</code></ [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-2">Responses<a href="#responses-2" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved list of running tasks</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-2">Sample request<a href="#sample-request-2" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-2">Sample response<a href="#sample-response-2" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-waiting-tasks">Get an array of waiting tasks<a href="#get-an-array-of-waiting-tasks" class="hash-link" aria-label="Direct link to Get an array of waiting tasks" title="Direct link to Get an array of waiting tasks">​</a></h3>
-<p>Retrieves an array of waiting tasks in the Druid cluster. It is functionally equivalent to <code>/druid/indexer/v1/tasks?state=waiting</code>. For definitions of the response properties, see the <a href="/docs/34.0.0/querying/sql-metadata-tables#tasks-table">Tasks table</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-3">URL<a href="#url-3" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/waitingTasks</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-3">Query parameters<a href="#query-parameters-3" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<p>The endpoint supports a set of optional query parameters to filter results.</p>
-<table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>datasource</code></td><td>String</td><td>Return tasks filtered by Druid datasource.</td></tr><tr><td><code>createdTimeInterval</code></td><td>String (ISO-8601)</td><td>Return tasks created within the specified interval. The interval string should be delimited by <code>_</code> instead of <code>/</code>. For example, <code>2023-06-27_2023-06-28</code>.</td></tr><tr><td><code>max</code></ [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-3">Responses<a href="#responses-3" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved list of waiting tasks</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-3">Sample request<a href="#sample-request-3" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-3">Sample response<a href="#sample-response-3" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-an-array-of-pending-tasks">Get an array of pending tasks<a href="#get-an-array-of-pending-tasks" class="hash-link" aria-label="Direct link to Get an array of pending tasks" title="Direct link to Get an array of pending tasks">​</a></h3>
-<p>Retrieves an array of pending tasks in the Druid cluster. It is functionally equivalent to <code>/druid/indexer/v1/tasks?state=pending</code>. For definitions of the response properties, see the <a href="/docs/34.0.0/querying/sql-metadata-tables#tasks-table">Tasks table</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-4">URL<a href="#url-4" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/pendingTasks</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-4">Query parameters<a href="#query-parameters-4" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<p>The endpoint supports a set of optional query parameters to filter results.</p>
-<table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>datasource</code></td><td>String</td><td>Return tasks filtered by Druid datasource.</td></tr><tr><td><code>createdTimeInterval</code></td><td>String (ISO-8601)</td><td>Return tasks created within the specified interval. The interval string should be delimited by <code>_</code> instead of <code>/</code>. For example, <code>2023-06-27_2023-06-28</code>.</td></tr><tr><td><code>max</code></ [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-4">Responses<a href="#responses-4" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved list of pending tasks</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-4">Sample request<a href="#sample-request-4" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-4">Sample response<a href="#sample-response-4" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-task-payload">Get task payload<a href="#get-task-payload" class="hash-link" aria-label="Direct link to Get task payload" title="Direct link to Get task payload">​</a></h3>
-<p>Retrieves the payload of a task given the task ID. It returns a JSON object with the task ID and payload that includes task configuration details and relevant specifications associated with the execution of the task.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-5">URL<a href="#url-5" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/task/{taskId}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-5">Responses<a href="#responses-5" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved payload of task</em></p></div><div role="tabpanel" class="tabIt [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-5">Sample request<a href="#sample-request-5" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following examples shows how to retrieve the task payload of a task with the specified ID <code>index_parallel_wikipedia_short_iajoonnd_2023-07-07T17:53:12.174Z</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-5">Sample response<a href="#sample-response-5" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-task-status">Get task status<a href="#get-task-status" class="hash-link" aria-label="Direct link to Get task status" title="Direct link to Get task status">​</a></h3>
-<p>Retrieves the status of a task given the task ID. It returns a JSON object with the task&#x27;s status code, runner status, task type, datasource, and other relevant metadata.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-6">URL<a href="#url-6" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/task/{taskId}/status</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-6">Responses<a href="#responses-6" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved task status</em></p></div><div role="tabpanel" class="tabItem_Y [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-6">Sample request<a href="#sample-request-6" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following examples shows how to retrieve the status of a task with the specified ID <code>query-223549f8-b993-4483-b028-1b0d54713cad</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-6">Sample response<a href="#sample-response-6" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-task-segments">Get task segments<a href="#get-task-segments" class="hash-link" aria-label="Direct link to Get task segments" title="Direct link to Get task segments">​</a></h3>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>This API is not supported anymore [...]
-Use the metric <code>segment/added/bytes</code> instead to identify the segment IDs committed by a task.</p></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-7">URL<a href="#url-7" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/task/{taskId}/segments</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-7">Responses<a href="#responses-7" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-7">Sample request<a href="#sample-request-7" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following examples shows how to retrieve the task segment of the task with the specified ID <code>query-52a8aafe-7265-4427-89fe-dc51275cc470</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-7">Sample response<a href="#sample-response-7" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<p>A successful request returns a <code>200 OK</code> response and an array of the task segments.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-task-log">Get task log<a href="#get-task-log" class="hash-link" aria-label="Direct link to Get task log" title="Direct link to Get task log">​</a></h3>
-<p>Retrieves the event log associated with a task. It returns a list of logged events during the lifecycle of the task. The endpoint is useful for providing information about the execution of the task, including any errors or warnings raised.</p>
-<p>Task logs are automatically retrieved from the Middle Manager/Indexer or in long-term storage. For reference, see <a href="/docs/34.0.0/ingestion/tasks#task-logs">Task logs</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-8">URL<a href="#url-8" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/task/{taskId}/log</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-parameters-5">Query parameters<a href="#query-parameters-5" class="hash-link" aria-label="Direct link to Query parameters" title="Direct link to Query parameters">​</a></h4>
-<ul>
-<li><code>offset</code> (optional)<!-- -->
-<ul>
-<li>Type: Int</li>
-<li>Exclude the first passed in number of entries from the response.</li>
-</ul>
-</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-8">Responses<a href="#responses-8" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved task log</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-8">Sample request<a href="#sample-request-8" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following examples shows how to retrieve the task log of a task with the specified ID <code>index_kafka_social_media_0e905aa31037879_nommnaeg</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-8">Sample response<a href="#sample-response-8" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-task-completion-report">Get task completion report<a href="#get-task-completion-report" class="hash-link" aria-label="Direct link to Get task completion report" title="Direct link to Get task completion report">​</a></h3>
-<p>Retrieves a <a href="/docs/34.0.0/ingestion/tasks#task-reports">task completion report</a> for a task. It returns a JSON object with information about the number of rows ingested, and any parse exceptions that Druid raised.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-9">URL<a href="#url-9" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>GET</code> <code>/druid/indexer/v1/task/{taskId}/reports</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-9">Responses<a href="#responses-9" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved task report</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-9">Sample request<a href="#sample-request-9" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following examples shows how to retrieve the completion report of a task with the specified ID <code>query-52a8aafe-7265-4427-89fe-dc51275cc470</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-9">Sample response<a href="#sample-response-9" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="task-operations">Task operations<a href="#task-operations" class="hash-link" aria-label="Direct link to Task operations" title="Direct link to Task operations">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="submit-a-task">Submit a task<a href="#submit-a-task" class="hash-link" aria-label="Direct link to Submit a task" title="Direct link to Submit a task">​</a></h3>
-<p>Submits a JSON-based ingestion spec or supervisor spec to the Overlord. It returns the task ID of the submitted task. For information on creating an ingestion spec, refer to the <a href="/docs/34.0.0/ingestion/ingestion-spec">ingestion spec reference</a>.</p>
-<p>Note that for most batch ingestion use cases, you should use the <a href="/docs/34.0.0/api-reference/sql-ingestion-api">SQL-ingestion API</a> instead of JSON-based batch ingestion.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-10">URL<a href="#url-10" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/task</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-10">Responses<a href="#responses-10" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">400 BAD REQUEST</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">415 UNSUPPORTED MEDIA TYPE</li><li role="tab" tabindex="-1" aria-selected="false" class [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-10">Sample request<a href="#sample-request-10" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following request is an example of submitting a task to create a datasource named <code>&quot;wikipedia auto&quot;</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-10">Sample response<a href="#sample-response-10" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="shut-down-a-task">Shut down a task<a href="#shut-down-a-task" class="hash-link" aria-label="Direct link to Shut down a task" title="Direct link to Shut down a task">​</a></h3>
-<p>Shuts down a task if it not already complete. Returns a JSON object with the ID of the task that was shut down successfully.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-11">URL<a href="#url-11" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/task/{taskId}/shutdown</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-11">Responses<a href="#responses-11" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully shut down task</em></p></div><div role="tabpanel" class="tabItem_Ymn6" hi [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-11">Sample request<a href="#sample-request-11" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following request shows how to shut down a task with the ID <code>query-52as 8aafe-7265-4427-89fe-dc51275cc470</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-11">Sample response<a href="#sample-response-11" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="shut-down-all-tasks-for-a-datasource">Shut down all tasks for a datasource<a href="#shut-down-all-tasks-for-a-datasource" class="hash-link" aria-label="Direct link to Shut down all tasks for a datasource" title="Direct link to Shut down all tasks for a datasource">​</a></h3>
-<p>Shuts down all tasks for a specified datasource. If successful, it returns a JSON object with the name of the datasource whose tasks are shut down.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-12">URL<a href="#url-12" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/datasources/{datasource}/shutdownAllTasks</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-12">Responses<a href="#responses-12" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">404 NOT FOUND</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully shut down tasks</em></p></div><div role="tabpanel" class="tabItem_Ymn6" h [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-12">Sample request<a href="#sample-request-12" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following request is an example of shutting down all tasks for datasource <code>wikipedia_auto</code>.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-12">Sample response<a href="#sample-response-12" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="task-management">Task management<a href="#task-management" class="hash-link" aria-label="Direct link to Task management" title="Direct link to Task management">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="retrieve-status-objects-for-tasks">Retrieve status objects for tasks<a href="#retrieve-status-objects-for-tasks" class="hash-link" aria-label="Direct link to Retrieve status objects for tasks" title="Direct link to Retrieve status objects for tasks">​</a></h3>
-<p>Retrieves list of task status objects for list of task ID strings in request body. It returns a set of JSON objects with the status, duration, location of each task, and any error messages.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-13">URL<a href="#url-13" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>POST</code> <code>/druid/indexer/v1/taskStatus</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-13">Responses<a href="#responses-13" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">415 UNSUPPORTED MEDIA TYPE</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully retrieved status objects</em></p></div><div role="tabpanel"  [...]
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-13">Sample request<a href="#sample-request-13" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following request is an example of retrieving status objects for task ID <code>index_parallel_wikipedia_auto_jndhkpbo_2023-06-26T17:23:05.308Z</code> and <code>index_parallel_wikipedia_auto_jbgiianh_2023-06-26T23:17:56.769Z</code> .</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-13">Sample response<a href="#sample-response-13" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="clean-up-pending-segments-for-a-datasource">Clean up pending segments for a datasource<a href="#clean-up-pending-segments-for-a-datasource" class="hash-link" aria-label="Direct link to Clean up pending segments for a datasource" title="Direct link to Clean up pending segments for a datasource">​</a></h3>
-<p>Manually clean up pending segments table in metadata storage for <code>datasource</code>. It returns a JSON object response with
-<code>numDeleted</code> for the number of rows deleted from the pending segments table. This API is used by the
-<code>druid.coordinator.kill.pendingSegments.on</code> <a href="/docs/34.0.0/configuration/#data-management">Coordinator setting</a>
-which automates this operation to perform periodically.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="url-14">URL<a href="#url-14" class="hash-link" aria-label="Direct link to URL" title="Direct link to URL">​</a></h4>
-<p><code>DELETE</code> <code>/druid/indexer/v1/pendingSegments/{datasource}</code></p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="responses-14">Responses<a href="#responses-14" class="hash-link" aria-label="Direct link to Responses" title="Direct link to Responses">​</a></h4>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">200 SUCCESS</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><br><p><em>Successfully deleted pending segments</em></p></div></div></div>
-<hr>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-request-14">Sample request<a href="#sample-request-14" class="hash-link" aria-label="Direct link to Sample request" title="Direct link to Sample request">​</a></h4>
-<p>The following request is an example of cleaning up pending segments for the <code>wikipedia_api</code> datasource.</p>
-<div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">cURL</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">HTTP</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-backgro [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sample-response-14">Sample response<a href="#sample-response-14" class="hash-link" aria-label="Direct link to Sample response" title="Direct link to Sample response">​</a></h4>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>View the response</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><sp [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-elasticsearch.html/index.html b/docs/34.0.0/comparisons/druid-vs-elasticsearch.html/index.html
deleted file mode 100644
index 7acd4b4b4..000000000
--- a/docs/34.0.0/comparisons/druid-vs-elasticsearch.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/comparisons/druid-vs-elasticsearch">
-    <link rel="canonical" href="/docs/34.0.0/comparisons/druid-vs-elasticsearch" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/comparisons/druid-vs-elasticsearch' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-elasticsearch/index.html b/docs/34.0.0/comparisons/druid-vs-elasticsearch/index.html
deleted file mode 100644
index b22cab7d3..000000000
--- a/docs/34.0.0/comparisons/druid-vs-elasticsearch/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-comparisons/druid-vs-elasticsearch" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Apache Druid vs Elasticsearch | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/do [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>Elasticsearch is a search system based on Apache Lucene. It provides full text search for schema-free documents
-and provides access to raw event level data. Elasticsearch is increasingly adding more support for analytics and aggregations.
-<a href="https://groups.google.com/forum/#!msg/druid-development/nlpwTHNclj8/sOuWlKOzPpYJ" target="_blank" rel="noopener noreferrer">Some members of the community</a> have pointed out
-the resource requirements for data ingestion and aggregation in Elasticsearch is much higher than those of Druid.</p>
-<p>Elasticsearch also does not support data summarization/roll-up at ingestion time, which can compact the data that needs to be
-stored up to 100x with real-world data sets. This leads to Elasticsearch having greater storage requirements.</p>
-<p>Druid focuses on OLAP work flows. Druid is optimized for high performance (fast aggregation and ingestion) at low cost,
-and supports a wide range of analytic operations. Druid has some basic search support for structured event data, but does not support
-full text search. Druid also does not support completely unstructured data. Measures must be defined in a Druid schema such that
-summarization/roll-up can be done.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div></div></div></main></div></div></div><footer class="footer"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/favicon.png" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/favicon.png" class="footer__logo themedComponent_mlkZ themedCompone [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-key-value.html/index.html b/docs/34.0.0/comparisons/druid-vs-key-value.html/index.html
deleted file mode 100644
index 98af9c8aa..000000000
--- a/docs/34.0.0/comparisons/druid-vs-key-value.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/comparisons/druid-vs-key-value">
-    <link rel="canonical" href="/docs/34.0.0/comparisons/druid-vs-key-value" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/comparisons/druid-vs-key-value' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-key-value/index.html b/docs/34.0.0/comparisons/druid-vs-key-value/index.html
deleted file mode 100644
index 674460422..000000000
--- a/docs/34.0.0/comparisons/druid-vs-key-value/index.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-comparisons/druid-vs-key-value" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Apache Druid vs. Key/Value Stores (HBase/Cassandra/OpenTSDB) | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" conte [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-is supported in key/value stores in 2 ways:</p>
-<ol>
-<li>Pre-compute all permutations of possible user queries</li>
-<li>Range scans on event data</li>
-</ol>
-<p>When pre-computing results, the key is the exact parameters of the query, and the value is the result of the query.
-The queries return extremely quickly, but at the cost of flexibility, as ad-hoc exploratory queries are not possible with
-pre-computing every possible query permutation. Pre-computing all permutations of all ad-hoc queries leads to result sets
-that grow exponentially with the number of columns of a data set, and pre-computing queries for complex real-world data sets
-can require hours of pre-processing time.</p>
-<p>The other approach to using key/value stores for aggregations to use the dimensions of an event as the key and the event measures as the value.
-Aggregations are done by issuing range scans on this data. Timeseries specific databases such as OpenTSDB use this approach.
-One of the limitations here is that the key/value storage model does not have indexes for any kind of filtering other than prefix ranges,
-which can be used to filter a query down to a metric and time range, but cannot resolve complex predicates to narrow the exact data to scan.
-When the number of rows to scan gets large, this limitation can greatly reduce performance. It is also harder to achieve good
-locality with key/value stores because most don’t support pushing down aggregates to the storage layer.</p>
-<p>For arbitrary exploration of data (flexible data filtering), Druid&#x27;s custom column format enables ad-hoc queries without pre-computation. The format
-also enables fast scans on columns, which is important for good aggregation performance.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div></div></div></main></div></div></div><footer class="footer"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/favicon.png" class="footer__logo themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/favicon.png"  [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-kudu.html/index.html b/docs/34.0.0/comparisons/druid-vs-kudu.html/index.html
deleted file mode 100644
index 8d5c48b29..000000000
--- a/docs/34.0.0/comparisons/druid-vs-kudu.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/comparisons/druid-vs-kudu">
-    <link rel="canonical" href="/docs/34.0.0/comparisons/druid-vs-kudu" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/comparisons/druid-vs-kudu' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-kudu/index.html b/docs/34.0.0/comparisons/druid-vs-kudu/index.html
deleted file mode 100644
index 141ddbdb5..000000000
--- a/docs/34.0.0/comparisons/druid-vs-kudu/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-comparisons/druid-vs-kudu" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Apache Druid vs Kudu | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0 [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-the process for updating old values should be higher latency in Druid. However, the requirements in Kudu for maintaining extra head space to store
-updates as well as organizing data by id instead of time has the potential to introduce some extra latency and accessing
-of data that is not needed to answer a query at query time.</p>
-<p>Druid summarizes/rollups up data at ingestion time, which in practice reduces the raw data that needs to be
-stored significantly (up to 40 times on average), and increases performance of scanning raw data significantly.
-Druid segments also contain bitmap indexes for fast filtering, which Kudu does not currently support.
-Druid&#x27;s segment architecture is heavily geared towards fast aggregates and filters, and for OLAP workflows. Appends are very
-fast in Druid, whereas updates of older data are higher latency. This is by design as the data Druid is good for is typically event data,
-and does not need to be updated too frequently. Kudu supports arbitrary primary keys with uniqueness constraints, and
-efficient lookup by ranges of those keys. Kudu chooses not to include the execution engine, but supports sufficient
-operations so as to allow node-local processing from the execution engines. This means that Kudu can support multiple frameworks on the same data (e.g., MR, Spark, and SQL).
-Druid includes its own query layer that allows it to push down aggregations and computations directly to data processes for faster query processing.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div></div></div></main></div></div></div><footer class="footer"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/favicon.png" class="footer__logo themedComponent_ml [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-redshift.html/index.html b/docs/34.0.0/comparisons/druid-vs-redshift.html/index.html
deleted file mode 100644
index 1e300fa0d..000000000
--- a/docs/34.0.0/comparisons/druid-vs-redshift.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/comparisons/druid-vs-redshift">
-    <link rel="canonical" href="/docs/34.0.0/comparisons/druid-vs-redshift" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/comparisons/druid-vs-redshift' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-redshift/index.html b/docs/34.0.0/comparisons/druid-vs-redshift/index.html
deleted file mode 100644
index 109410892..000000000
--- a/docs/34.0.0/comparisons/druid-vs-redshift/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-comparisons/druid-vs-redshift" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Apache Druid vs Redshift | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34 [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>In terms of drawing a differentiation, Redshift started out as ParAccel (Actian), which Amazon is licensing and has since heavily modified.</p>
-<p>Aside from potential performance differences, there are some functional differences:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="real-time-data-ingestion">Real-time data ingestion<a href="#real-time-data-ingestion" class="hash-link" aria-label="Direct link to Real-time data ingestion" title="Direct link to Real-time data ingestion">​</a></h3>
-<p>Because Druid is optimized to provide insight against massive quantities of streaming data; it is able to load and aggregate data in real-time.</p>
-<p>Generally traditional data warehouses including column stores work only with batch ingestion and are not optimal for streaming data in regularly.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="druid-is-a-read-oriented-analytical-data-store">Druid is a read oriented analytical data store<a href="#druid-is-a-read-oriented-analytical-data-store" class="hash-link" aria-label="Direct link to Druid is a read oriented analytical data store" title="Direct link to Druid is a read oriented analytical data store">​</a></h3>
-<p>Druid’s write semantics are not as fluid and does not support full joins (we support large table to small table joins). Redshift provides full SQL support including joins and insert/update statements.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="data-distribution-model">Data distribution model<a href="#data-distribution-model" class="hash-link" aria-label="Direct link to Data distribution model" title="Direct link to Data distribution model">​</a></h3>
-<p>Druid’s data distribution is segment-based and leverages a highly available &quot;deep&quot; storage such as S3 or HDFS. Scaling up (or down) does not require massive copy actions or downtime; in fact, losing any number of Historical processes does not result in data loss because new Historical processes can always be brought up by reading data from &quot;deep&quot; storage.</p>
-<p>To contrast, ParAccel’s data distribution model is hash-based. Expanding the cluster requires re-hashing the data across the nodes, making it difficult to perform without taking downtime. Amazon’s Redshift works around this issue with a multi-step process:</p>
-<ul>
-<li>set cluster into read-only mode</li>
-<li>copy data from cluster to new cluster that exists in parallel</li>
-<li>redirect traffic to new cluster</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="replication-strategy">Replication strategy<a href="#replication-strategy" class="hash-link" aria-label="Direct link to Replication strategy" title="Direct link to Replication strategy">​</a></h3>
-<p>Druid employs segment-level data distribution meaning that more processes can be added and rebalanced without having to perform a staged swap. The replication strategy also makes all replicas available for querying. Replication is done automatically and without any impact to performance.</p>
-<p>ParAccel’s hash-based distribution generally means that replication is conducted via hot spares. This puts a numerical limit on the number of nodes you can lose without losing data, and this replication strategy often does not allow the hot spare to help share query load.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="indexing-strategy">Indexing strategy<a href="#indexing-strategy" class="hash-link" aria-label="Direct link to Indexing strategy" title="Direct link to Indexing strategy">​</a></h3>
-<p>Along with column oriented structures, Druid uses indexing structures to speed up query execution when a filter is provided. Indexing structures do increase storage overhead (and make it more difficult to allow for mutation), but they also significantly speed up queries.</p>
-<p>ParAccel does not appear to employ indexing strategies.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#how-does-druid-compare-to-redshift" class="table-of-contents__link toc-highlight">How does Druid compare to Redshift?</a></li><li><a href="#real-time-data-in [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-spark.html/index.html b/docs/34.0.0/comparisons/druid-vs-spark.html/index.html
deleted file mode 100644
index c9a663b3c..000000000
--- a/docs/34.0.0/comparisons/druid-vs-spark.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/comparisons/druid-vs-spark">
-    <link rel="canonical" href="/docs/34.0.0/comparisons/druid-vs-spark" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/comparisons/druid-vs-spark' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-spark/index.html b/docs/34.0.0/comparisons/druid-vs-spark/index.html
deleted file mode 100644
index 6b86e1e2b..000000000
--- a/docs/34.0.0/comparisons/druid-vs-spark/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-comparisons/druid-vs-spark" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Apache Druid vs Spark | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0. [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>Spark is a general cluster computing framework initially designed around the concept of Resilient Distributed Datasets (RDDs).
-RDDs enable data reuse by persisting intermediate results
-in memory and enable Spark to provide fast computations for iterative algorithms.
-This is especially beneficial for certain work flows such as machine
-learning, where the same operation may be applied over and over
-again until some result is converged upon. The generality of Spark makes it very suitable as an engine to process (clean or transform) data.
-Although Spark provides the ability to query data through Spark SQL, much like Hadoop, the query latencies are not specifically targeted to be interactive (sub-second).</p>
-<p>Druid&#x27;s focus is on extremely low latency queries, and is ideal for powering applications used by thousands of users, and where each query must
-return fast enough such that users can interactively explore through data. Druid fully indexes all data, and can act as a middle layer between Spark and your application.
-One typical setup seen in production is to process data in Spark, and load the processed data into Druid for faster access.</p>
-<p>For more information about using Druid and Spark together, including benchmarks of the two systems, please see:</p>
-<p><a href="https://www.linkedin.com/pulse/combining-druid-spark-interactive-flexible-analytics-scale-butani" target="_blank" rel="noopener noreferrer">https://www.linkedin.com/pulse/combining-druid-spark-interactive-flexible-analytics-scale-butani</a></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div></div></div></main></div></div></div><footer class="footer"><div class="container container-fluid"><div class="footer__bottom text--c [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop.html/index.html b/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop.html/index.html
deleted file mode 100644
index 536263960..000000000
--- a/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop">
-    <link rel="canonical" href="/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop/index.html b/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop/index.html
deleted file mode 100644
index 695e35b1d..000000000
--- a/docs/34.0.0/comparisons/druid-vs-sql-on-hadoop/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-comparisons/druid-vs-sql-on-hadoop" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Apache Druid vs SQL-on-Hadoop | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/do [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-execution engine for various data formats and data stores, and
-many can be made to push down computations down to Druid, while providing a SQL interface to Druid.</p>
-<p>For a direct comparison between the technologies and when to only use one or the other, things basically comes down to your
-product requirements and what the systems were designed to do.</p>
-<p>Druid was designed to</p>
-<ol>
-<li>be an always on service</li>
-<li>ingest data in real-time</li>
-<li>handle slice-n-dice style ad-hoc queries</li>
-</ol>
-<p>SQL-on-Hadoop engines generally sidestep Map/Reduce, instead querying data directly from HDFS or, in some cases, other storage systems.
-Some of these engines (including Impala and Presto) can be co-located with HDFS data nodes and coordinate with them to achieve data locality for queries.
-What does this mean?  We can talk about it in terms of three general areas</p>
-<ol>
-<li>Queries</li>
-<li>Data Ingestion</li>
-<li>Query Flexibility</li>
-</ol>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="queries">Queries<a href="#queries" class="hash-link" aria-label="Direct link to Queries" title="Direct link to Queries">​</a></h3>
-<p>Druid segments stores data in a custom column format. Segments are scanned directly as part of queries and each Druid server
-calculates a set of results that are eventually merged at the Broker level. This means the data that is transferred between servers
-are queries and results, and all computation is done internally as part of the Druid servers.</p>
-<p>Most SQL-on-Hadoop engines are responsible for query planning and execution for underlying storage layers and storage formats.
-They are processes that stay on even if there is no query running (eliminating the JVM startup costs from Hadoop MapReduce).
-Some (Impala/Presto) SQL-on-Hadoop engines have daemon processes that can be run where the data is stored, virtually eliminating network transfer costs. There is still
-some latency overhead (e.g. serialization/deserialization time) associated with pulling data from the underlying storage layer into the computation layer. We are unaware of exactly
-how much of a performance impact this makes.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="data-ingestion">Data Ingestion<a href="#data-ingestion" class="hash-link" aria-label="Direct link to Data Ingestion" title="Direct link to Data Ingestion">​</a></h3>
-<p>Druid is built to allow for real-time ingestion of data.  You can ingest data and query it immediately upon ingestion,
-the latency between how quickly the event is reflected in the data is dominated by how long it takes to deliver the event to Druid.</p>
-<p>SQL-on-Hadoop, being based on data in HDFS or some other backing store, are limited in their data ingestion rates by the
-rate at which that backing store can make data available.  Generally, the backing store is the biggest bottleneck for
-how quickly data can become available.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-flexibility">Query Flexibility<a href="#query-flexibility" class="hash-link" aria-label="Direct link to Query Flexibility" title="Direct link to Query Flexibility">​</a></h3>
-<p>Druid&#x27;s query language is fairly low level and maps to how Druid operates internally. Although Druid can be combined with a high level query
-planner to support most SQL queries and analytic SQL queries (minus joins among large tables),
-base Druid is less flexible than SQL-on-Hadoop solutions for generic processing.</p>
-<p>SQL-on-Hadoop support SQL style queries with full joins.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="druid-vs-parquet">Druid vs Parquet<a href="#druid-vs-parquet" class="hash-link" aria-label="Direct link to Druid vs Parquet" title="Direct link to Druid vs Parquet">​</a></h2>
-<p>Parquet is a column storage format that is designed to work with SQL-on-Hadoop engines. Parquet doesn&#x27;t have a query execution engine, and instead
-relies on external sources to pull data out of it.</p>
-<p>Druid&#x27;s storage format is highly optimized for linear scans. Although Druid has support for nested data, Parquet&#x27;s storage format is much
-more hierarchical, and is more designed for binary chunking. In theory, this should lead to faster scans in Druid.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#queries" class="table-of-contents__link toc-highlight">Queries</a></li><li><a href="#data-ingestion"  [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration.html/index.html b/docs/34.0.0/configuration.html/index.html
deleted file mode 100644
index 11ffc13b9..000000000
--- a/docs/34.0.0/configuration.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/">
-    <link rel="canonical" href="/docs/34.0.0/configuration/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/auth.html/index.html b/docs/34.0.0/configuration/auth.html/index.html
deleted file mode 100644
index fd6971753..000000000
--- a/docs/34.0.0/configuration/auth.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/operations/auth">
-    <link rel="canonical" href="/docs/34.0.0/operations/auth" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/operations/auth' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/broker.html/index.html b/docs/34.0.0/configuration/broker.html/index.html
deleted file mode 100644
index 11ffc13b9..000000000
--- a/docs/34.0.0/configuration/broker.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/">
-    <link rel="canonical" href="/docs/34.0.0/configuration/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/caching.html/index.html b/docs/34.0.0/configuration/caching.html/index.html
deleted file mode 100644
index 11ffc13b9..000000000
--- a/docs/34.0.0/configuration/caching.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/">
-    <link rel="canonical" href="/docs/34.0.0/configuration/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/coordinator.html/index.html b/docs/34.0.0/configuration/coordinator.html/index.html
deleted file mode 100644
index 11ffc13b9..000000000
--- a/docs/34.0.0/configuration/coordinator.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/">
-    <link rel="canonical" href="/docs/34.0.0/configuration/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/extensions.html/index.html b/docs/34.0.0/configuration/extensions.html/index.html
deleted file mode 100644
index c9c5d7528..000000000
--- a/docs/34.0.0/configuration/extensions.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/extensions">
-    <link rel="canonical" href="/docs/34.0.0/configuration/extensions" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/extensions' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/extensions/index.html b/docs/34.0.0/configuration/extensions/index.html
deleted file mode 100644
index a9ebbff58..000000000
--- a/docs/34.0.0/configuration/extensions/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-configuration/extensions" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Extensions | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/configura [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-are commonly used to add support for deep storages (like HDFS and S3), metadata stores (like MySQL
-and PostgreSQL), new aggregators, new input formats, and so on.</p>
-<p>Production clusters will generally use at least two extensions; one for deep storage and one for a
-metadata store. Many clusters will also use additional extensions.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="core-extensions">Core extensions<a href="#core-extensions" class="hash-link" aria-label="Direct link to Core extensions" title="Direct link to Core extensions">​</a></h2>
-<p>Core extensions are maintained by Druid committers.</p>
-<table><thead><tr><th>Name</th><th>Description</th><th>Docs</th></tr></thead><tbody><tr><td>druid-avro-extensions</td><td>Support for data in Apache Avro data format.</td><td><a href="/docs/34.0.0/development/extensions-core/avro">link</a></td></tr><tr><td>druid-azure-extensions</td><td>Microsoft Azure deep storage.</td><td><a href="/docs/34.0.0/development/extensions-core/azure">link</a></td></tr><tr><td>druid-basic-security</td><td>Support for Basic HTTP authentication and role-based a [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="community-extensions">Community extensions<a href="#community-extensions" class="hash-link" aria-label="Direct link to Community extensions" title="Direct link to Community extensions">​</a></h2>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Community extensions are not main [...]
-<p>A number of community members have contributed their own extensions to Druid that are not packaged with the default Druid tarball.
-If you&#x27;d like to take on maintenance for a community extension, please post on <a href="https://lists.apache.org/list.html?dev@druid.apache.org" target="_blank" rel="noopener noreferrer">dev@druid.apache.org</a> to let us know!</p>
-<p>All of these community extensions can be downloaded using <a href="/docs/34.0.0/operations/pull-deps">pull-deps</a> while specifying a <code>-c</code> coordinate option to pull <code>org.apache.druid.extensions.contrib:{EXTENSION_NAME}:{DRUID_VERSION}</code>.</p>
-<table><thead><tr><th>Name</th><th>Description</th><th>Docs</th></tr></thead><tbody><tr><td>aliyun-oss-extensions</td><td>Aliyun OSS deep storage</td><td><a href="/docs/34.0.0/development/extensions-contrib/aliyun-oss">link</a></td></tr><tr><td>ambari-metrics-emitter</td><td>Ambari Metrics Emitter</td><td><a href="/docs/34.0.0/development/extensions-contrib/ambari-metrics-emitter">link</a></td></tr><tr><td>druid-cassandra-storage</td><td>Apache Cassandra deep storage.</td><td><a href="/d [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="promoting-community-extensions-to-core-extensions">Promoting community extensions to core extensions<a href="#promoting-community-extensions-to-core-extensions" class="hash-link" aria-label="Direct link to Promoting community extensions to core extensions" title="Direct link to Promoting community extensions to core extensions">​</a></h2>
-<p>Please post on <a href="https://lists.apache.org/list.html?dev@druid.apache.org" target="_blank" rel="noopener noreferrer">dev@druid.apache.org</a> if you&#x27;d like an extension to be promoted to core.
-If we see a community extension actively supported by the community, we can promote it to core based on community feedback.</p>
-<p>For information how to create your own extension, please see <a href="/docs/34.0.0/development/modules">here</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="loading-extensions">Loading extensions<a href="#loading-extensions" class="hash-link" aria-label="Direct link to Loading extensions" title="Direct link to Loading extensions">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="loading-core-extensions">Loading core extensions<a href="#loading-core-extensions" class="hash-link" aria-label="Direct link to Loading core extensions" title="Direct link to Loading core extensions">​</a></h3>
-<p>Apache Druid bundles all <a href="/docs/34.0.0/configuration/extensions#core-extensions">core extensions</a> out of the box.
-See the <a href="/docs/34.0.0/configuration/extensions#core-extensions">list of extensions</a> for your options. You
-can load bundled extensions by adding their names to your common.runtime.properties
-<code>druid.extensions.loadList</code> property. For example, to load the postgresql-metadata-storage and
-druid-hdfs-storage extensions, use the configuration:</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.extensions.loadList=[&quot;postgresql-metadata-storage&quot;, &quot;druid [...]
-<p>These extensions are located in the <code>extensions</code> directory of the distribution.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Druid bundles two sets of configu [...]
-one for a <a href="/docs/34.0.0/tutorials/cluster">clustered configuration</a>. Make sure you are updating the correct
-<code>common.runtime.properties</code> for your setup.</p></div></div>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Because of licensing, the mysql-m [...]
-on how to install this library, see the <a href="/docs/34.0.0/development/extensions-core/mysql">MySQL extension page</a>.</p></div></div>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="loading-community-extensions">Loading community extensions<a href="#loading-community-extensions" class="hash-link" aria-label="Direct link to Loading community extensions" title="Direct link to Loading community extensions">​</a></h3>
-<p>You can also load community and third-party extensions not already bundled with Druid. To do this, first download the extension and
-then install it into your <code>extensions</code> directory. You can download extensions from their distributors directly, or
-if they are available from Maven, the included <a href="/docs/34.0.0/operations/pull-deps">pull-deps</a> can download them for you. To use <em>pull-deps</em>,
-specify the full Maven coordinate of the extension in the form <code>groupId:artifactId:version</code>. For example,
-for the (hypothetical) extension <em>com.example:druid-example-extension:1.0.0</em>, run:</p>
-<div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">java \</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token [...]
-<p>You only have to install the extension once. Then, add <code>&quot;druid-example-extension&quot;</code> to
-<code>druid.extensions.loadList</code> in common.runtime.properties to instruct Druid to load the extension.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Please make sure all the Extensio [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>The Maven <code>groupId</code> fo [...]
-of the extension, and the version is the latest Druid stable version.</p></div></div>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="loading-extensions-from-the-classpath">Loading extensions from the classpath<a href="#loading-extensions-from-the-classpath" class="hash-link" aria-label="Direct link to Loading extensions from the classpath" title="Direct link to Loading extensions from the classpath">​</a></h3>
-<p>If you add your extension jar to the classpath at runtime, Druid will also load it into the system. This mechanism is relatively easy to reason about,
-but it also means that you have to ensure that all dependency jars on the classpath are compatible. That is, Druid makes no provisions while using
-this method to maintain class loader isolation so you must make sure that the jars on your classpath are mutually compatible.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/configuration/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Configuration reference</div></a><a class="pagination-nav__link pagination-nav__link--next" href= [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/hadoop.html/index.html b/docs/34.0.0/configuration/hadoop.html/index.html
deleted file mode 100644
index f7b0d3678..000000000
--- a/docs/34.0.0/configuration/hadoop.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/ingestion/hadoop">
-    <link rel="canonical" href="/docs/34.0.0/ingestion/hadoop" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/ingestion/hadoop' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/historical.html/index.html b/docs/34.0.0/configuration/historical.html/index.html
deleted file mode 100644
index 11ffc13b9..000000000
--- a/docs/34.0.0/configuration/historical.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/">
-    <link rel="canonical" href="/docs/34.0.0/configuration/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/human-readable-byte.html/index.html b/docs/34.0.0/configuration/human-readable-byte.html/index.html
deleted file mode 100644
index 5c49e8598..000000000
--- a/docs/34.0.0/configuration/human-readable-byte.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/human-readable-byte">
-    <link rel="canonical" href="/docs/34.0.0/configuration/human-readable-byte" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/human-readable-byte' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/human-readable-byte/index.html b/docs/34.0.0/configuration/human-readable-byte/index.html
deleted file mode 100644
index e174f71d6..000000000
--- a/docs/34.0.0/configuration/human-readable-byte/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-configuration/human-readable-byte" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Human-readable Byte Configuration Reference | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>These properties can be configured through 2 ways:</p>
-<ol>
-<li>a simple number in bytes</li>
-<li>a number with a unit suffix</li>
-</ol>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-number-in-bytes">A number in bytes<a href="#a-number-in-bytes" class="hash-link" aria-label="Direct link to A number in bytes" title="Direct link to A number in bytes">​</a></h2>
-<p>Given that cache size is 3G, there&#x27;s a configuration as below</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain"># 3G bytes = 3_000_000_000 bytes</span><br></span><span class="token-line" styl [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-number-with-a-unit-suffix">A number with a unit suffix<a href="#a-number-with-a-unit-suffix" class="hash-link" aria-label="Direct link to A number with a unit suffix" title="Direct link to A number with a unit suffix">​</a></h2>
-<p>When you have to put a large number for some configuration as above, it is easy to make a mistake such as extra or missing 0s. Druid supports a better way, a number with a unit suffix.</p>
-<p>Given a disk of 1T, the configuration can be</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.segmentCache.locations=[{&quot;path&quot;:&quot;/segment-cache-00&quot;,& [...]
-<p>Note: in above example, both <code>1t</code> and <code>1T</code> are acceptable since it&#x27;s case-insensitive.
-Also, only integers are valid as the number part. For example, you can&#x27;t replace <code>1200g</code> with <code>1.2t</code>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="supported-units">Supported Units<a href="#supported-units" class="hash-link" aria-label="Direct link to Supported Units" title="Direct link to Supported Units">​</a></h3>
-<p>In the world of computer, a unit like <code>K</code> is ambiguous. It means 1000 or 1024 in different contexts, for more information please see <a href="https://en.wikipedia.org/wiki/Binary_prefix" target="_blank" rel="noopener noreferrer">Here</a>.</p>
-<p>To make it clear, the base of units are defined in Druid as below</p>
-<table><thead><tr><th>Unit</th><th>Description</th><th>Base</th></tr></thead><tbody><tr><td>K</td><td>Kilo Decimal Byte</td><td>1_000</td></tr><tr><td>M</td><td>Mega Decimal Byte</td><td>1_000_000</td></tr><tr><td>G</td><td>Giga Decimal Byte</td><td>1_000_000_000</td></tr><tr><td>T</td><td>Tera Decimal Byte</td><td>1_000_000_000_000</td></tr><tr><td>P</td><td>Peta Decimal Byte</td><td>1_000_000_000_000_000</td></tr><tr><td>Ki</td><td>Kilo Binary Byte</td><td>1024</td></tr><tr><td>Mi</td> [...]
-<p>Unit is case-insensitive. <code>k</code>, <code>kib</code>, <code>ki</code>, <code>KiB</code>, <code>Ki</code>, <code>kiB</code> are all acceptable.</p>
-<p>Here are some examples</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain"># 1G bytes = 1_000_000_000 bytes</span><br></span><span class="token-line" styl [...]
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain"># 256MiB bytes = 256 * 1024 * 1024 bytes</span><br></span><span class="token-li [...]
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain"># 256Mi = 256MiB = 256 * 1024 * 1024 bytes</span><br></span><span class="token- [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/index.html b/docs/34.0.0/configuration/index.html
deleted file mode 100644
index 7a79cf092..000000000
--- a/docs/34.0.0/configuration/index.html
+++ /dev/null
@@ -1,778 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-configuration/index" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Configuration reference | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34. [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="recommended-configuration-file-organization">Recommended configuration file organization<a href="#recommended-configuration-file-organization" class="hash-link" aria-label="Direct link to Recommended configuration file organization" title="Direct link to Recommended configuration file organization">​</a></h2>
-<p>A recommended way of organizing Druid configuration files can be seen in the <code>conf</code> directory in the Druid package root, shown below:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">$ ls -R conf</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="token [...]
-<p>Each directory has a <code>runtime.properties</code> file containing configuration properties for the specific Druid service corresponding to the directory, such as <code>historical</code>.</p>
-<p>The <code>jvm.config</code> files contain JVM flags such as heap sizing properties for each service.</p>
-<p>Common properties shared by all services are placed in <code>_common/common.runtime.properties</code>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration-interpolation">Configuration interpolation<a href="#configuration-interpolation" class="hash-link" aria-label="Direct link to Configuration interpolation" title="Direct link to Configuration interpolation">​</a></h2>
-<p>Configuration values can be interpolated from System Properties, Environment Variables, or local files. Below is an example of how this can be used:</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.metadata.storage.type=${env:METADATA_STORAGE_TYPE}</span><br></span><span [...]
-<p>Interpolation is also recursive so you can do:</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.segmentCache.locations=${file:UTF-8:${env:SEGMENT_DEF_LOCATION}}</span><b [...]
-<p>If the property is not set, an exception will be thrown on startup, but a default can be provided if desired. Setting a default value will not work with file interpolation as an exception will be thrown if the file does not exist.</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.metadata.storage.type=${env:METADATA_STORAGE_TYPE:-mysql}</span><br></spa [...]
-<p>If you need to set a variable that is wrapped by <code>${...}</code> but do not want it to be interpolated, you can escape it by adding another <code>$</code>. For example:</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">config.name=$${value}</span><br></span></code></pre><div class="buttonGroup__at [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="common-configurations">Common configurations<a href="#common-configurations" class="hash-link" aria-label="Direct link to Common configurations" title="Direct link to Common configurations">​</a></h2>
-<p>The properties under this section are common configurations that should be shared across all Druid services in a cluster.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="jvm-configuration-best-practices">JVM configuration best practices<a href="#jvm-configuration-best-practices" class="hash-link" aria-label="Direct link to JVM configuration best practices" title="Direct link to JVM configuration best practices">​</a></h3>
-<p>There are four JVM parameters that we set on all of our services:</p>
-<ul>
-<li>
-<p><code>-Duser.timezone=UTC</code>: This sets the default timezone of the JVM to UTC. We always set this and do not test with other default timezones, so local timezones might work, but they also might uncover weird and interesting bugs. To issue queries in a non-UTC timezone, see <a href="/docs/34.0.0/querying/granularities#period-granularities">query granularities</a></p>
-</li>
-<li>
-<p><code>-Dfile.encoding=UTF-8</code> This is similar to timezone, we test assuming UTF-8. Local encodings might work, but they also might result in weird and interesting bugs.</p>
-</li>
-<li>
-<p><code>-Djava.io.tmpdir=&lt;a path&gt;</code> Various parts of Druid use temporary files to interact with the file system. These files can become quite large. This means that systems that have small <code>/tmp</code> directories can cause problems for Druid. Therefore, set the JVM tmp directory to a location with ample space.</p>
-<p>Also consider the following when configuring the JVM tmp directory:</p>
-<ul>
-<li>The temp directory should not be volatile tmpfs.</li>
-<li>This directory should also have good read and write speed.</li>
-<li>Avoid NFS mount.</li>
-<li>The <code>org.apache.druid.java.util.metrics.SysMonitor</code> requires execute privileges on files in <code>java.io.tmpdir</code>. If you are using the system monitor, do not set <code>java.io.tmpdir</code> to <code>noexec</code>.</li>
-</ul>
-</li>
-<li>
-<p><code>-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager</code> This allows log4j2 to handle logs for non-log4j2 components (like jetty) which use standard java logging.</p>
-</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="extensions">Extensions<a href="#extensions" class="hash-link" aria-label="Direct link to Extensions" title="Direct link to Extensions">​</a></h3>
-<p>Many of Druid&#x27;s external dependencies can be plugged in as modules. Extensions can be provided using the following configs:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.extensions.directory</code></td><td>The root extension directory where user can put extensions related files. Druid will load extensions stored under this directory.</td><td><code>extensions</code> (This is a relative path to Druid&#x27;s working directory)</td></tr><tr><td><code>druid.extensions.hadoopDependenciesDir</code></td><td>The root Hadoop dependencies directory where u [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="modules">Modules<a href="#modules" class="hash-link" aria-label="Direct link to Modules" title="Direct link to Modules">​</a></h3>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.modules.excludeList</code></td><td>A JSON array of canonical class names (e.g., <code>&quot;org.apache.druid.somepackage.SomeModule&quot;</code>) of module classes which shouldn&#x27;t be loaded, even if they are found in extensions specified by <code>druid.extensions.loadList</code>, or in the list of core modules specified to be loaded on a particular Druid service type. Usefu [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="zookeeper">ZooKeeper<a href="#zookeeper" class="hash-link" aria-label="Direct link to ZooKeeper" title="Direct link to ZooKeeper">​</a></h3>
-<p>We recommend just setting the base ZK path and the ZK service host, but all ZK paths that Druid uses can be overwritten to absolute paths.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.zk.paths.base</code></td><td>Base ZooKeeper path.</td><td><code>/druid</code></td></tr><tr><td><code>druid.zk.service.host</code></td><td>The ZooKeeper hosts to connect to. This is a REQUIRED property and therefore a host address must be supplied.</td><td>none</td></tr><tr><td><code>druid.zk.service.user</code></td><td>The username to authenticate with ZooKeeper. This is an opti [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="zookeeper-behavior">ZooKeeper behavior<a href="#zookeeper-behavior" class="hash-link" aria-label="Direct link to ZooKeeper behavior" title="Direct link to ZooKeeper behavior">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.zk.service.sessionTimeoutMs</code></td><td>ZooKeeper session timeout, in milliseconds.</td><td><code>30000</code></td></tr><tr><td><code>druid.zk.service.connectionTimeoutMs</code></td><td>ZooKeeper connection timeout, in milliseconds.</td><td><code>15000</code></td></tr><tr><td><code>druid.zk.service.compress</code></td><td>Boolean flag for whether or not created Znodes should  [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="path-configuration">Path configuration<a href="#path-configuration" class="hash-link" aria-label="Direct link to Path configuration" title="Direct link to Path configuration">​</a></h4>
-<p>Druid interacts with ZooKeeper through a set of standard path configurations. We recommend just setting the base ZooKeeper path, but all ZooKeeper paths that Druid uses can be overwritten to absolute paths.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.zk.paths.base</code></td><td>Base ZooKeeper path.</td><td><code>/druid</code></td></tr><tr><td><code>druid.zk.paths.propertiesPath</code></td><td>ZooKeeper properties path.</td><td><code>${druid.zk.paths.base}/properties</code></td></tr><tr><td><code>druid.zk.paths.announcementsPath</code></td><td>Druid service announcement path.</td><td><code>${druid.zk.paths.base}/announcement [...]
-<p>The indexing service also uses its own set of paths. These configs can be included in the common configuration.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.zk.paths.indexer.base</code></td><td>Base ZooKeeper path for</td><td><code>${druid.zk.paths.base}/indexer</code></td></tr><tr><td><code>druid.zk.paths.indexer.announcementsPath</code></td><td>Middle Managers announce themselves here.</td><td><code>${druid.zk.paths.indexer.base}/announcements</code></td></tr><tr><td><code>druid.zk.paths.indexer.tasksPath</code></td><td>Used to as [...]
-<p>If <code>druid.zk.paths.base</code> and <code>druid.zk.paths.indexer.base</code> are both set, and none of the other <code>druid.zk.paths.*</code> or <code>druid.zk.paths.indexer.*</code> values are set, then the other properties will be evaluated relative to their respective <code>base</code>.
-For example, if <code>druid.zk.paths.base</code> is set to <code>/druid1</code> and <code>druid.zk.paths.indexer.base</code> is set to <code>/druid2</code> then <code>druid.zk.paths.announcementsPath</code> will default to <code>/druid1/announcements</code> while <code>druid.zk.paths.indexer.announcementsPath</code> will default to <code>/druid2/announcements</code>.</p>
-<p>The following path is used for service discovery. It is <strong>not</strong> affected by <code>druid.zk.paths.base</code> and <strong>must</strong> be specified separately.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.discovery.curator.path</code></td><td>Services announce themselves under this ZooKeeper path.</td><td><code>/druid/discovery</code></td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tls">TLS<a href="#tls" class="hash-link" aria-label="Direct link to TLS" title="Direct link to TLS">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="general-configuration">General configuration<a href="#general-configuration" class="hash-link" aria-label="Direct link to General configuration" title="Direct link to General configuration">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.enablePlaintextPort</code></td><td>Enable/Disable HTTP connector.</td><td><code>true</code></td></tr><tr><td><code>druid.enableTlsPort</code></td><td>Enable/Disable HTTPS connector.</td><td><code>false</code></td></tr></tbody></table>
-<p>Although not recommended but both HTTP and HTTPS connectors can be enabled at a time and respective ports are configurable using <code>druid.plaintextPort</code>
-and <code>druid.tlsPort</code> properties on each service. Please see <code>Configuration</code> section of individual services to check the valid and default values for these ports.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="jetty-server-tls-configuration">Jetty server TLS configuration<a href="#jetty-server-tls-configuration" class="hash-link" aria-label="Direct link to Jetty server TLS configuration" title="Direct link to Jetty server TLS configuration">​</a></h4>
-<p>Druid uses Jetty as an embedded web server. To learn more about TLS/SSL, certificates, and related concepts in Jetty, including explanations of the configuration settings below, see &quot;Configuring SSL/TLS KeyStores&quot; in the <a href="https://www.eclipse.org/jetty/documentation.php" target="_blank" rel="noopener noreferrer">Jetty Operations Guide</a>.</p>
-<p>For information about TLS/SSL support in Java in general, see the <a href="https://docs.oracle.com/en/java/javase/11/security/java-secure-socket-extension-jsse-reference-guide.html" target="_blank" rel="noopener noreferrer">Java Secure Socket Extension (JSSE) Reference Guide</a>.
-The <a href="https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html" target="_blank" rel="noopener noreferrer">Java Cryptography Architecture
-Standard Algorithm Name Documentation for JDK 11</a> lists all possible
-values for the following properties, among others provided by the Java implementation.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th><th>Required</th></tr></thead><tbody><tr><td><code>druid.server.https.keyStorePath</code></td><td>The file path or URL of the TLS/SSL KeyStore.</td><td>none</td><td>yes</td></tr><tr><td><code>druid.server.https.keyStoreType</code></td><td>The type of the KeyStore.</td><td>none</td><td>yes</td></tr><tr><td><code>druid.server.https.certAlias</code></td><td>Alias of TLS/SSL certificate for the connector.</td><td>none</td [...]
-<p>Following table contains non-mandatory advanced configuration options, use caution.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th><th>Required</th></tr></thead><tbody><tr><td><code>druid.server.https.keyManagerFactoryAlgorithm</code></td><td>Algorithm to use for creating KeyManager, more details <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#KeyManager" target="_blank" rel="noopener noreferrer">here</a>.</td><td><code>javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm()</code></td><td>no</td></tr [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="internal-client-tls-configuration-requires-simple-client-sslcontext-extension">Internal client TLS configuration (requires <code>simple-client-sslcontext</code> extension)<a href="#internal-client-tls-configuration-requires-simple-client-sslcontext-extension" class="hash-link" aria-label="Direct link to internal-client-tls-configuration-requires-simple-client-sslcontext-extension" title="Direct link to internal-client-tls-configuration-r [...]
-<p>These properties apply to the SSLContext that will be provided to the internal HTTP client that Druid services use to communicate with each other. These properties require the <code>simple-client-sslcontext</code> extension to be loaded. Without it, Druid services will be unable to communicate with each other when TLS is enabled.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th><th>Required</th></tr></thead><tbody><tr><td><code>druid.client.https.protocol</code></td><td>SSL protocol to use.</td><td><code>TLSv1.2</code></td><td>no</td></tr><tr><td><code>druid.client.https.trustStoreType</code></td><td>The type of the key store where trusted root certificates are stored.</td><td><code>java.security.KeyStore.getDefaultType()</code></td><td>no</td></tr><tr><td><code>druid.client.https.trustStore [...]
-<p>This <a href="https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html" target="_blank" rel="noopener noreferrer">document</a> lists all the possible
-values for the above mentioned configs among others provided by Java implementation.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="authentication-and-authorization">Authentication and authorization<a href="#authentication-and-authorization" class="hash-link" aria-label="Direct link to Authentication and authorization" title="Direct link to Authentication and authorization">​</a></h3>
-<table><thead><tr><th>Property</th><th>Type</th><th>Description</th><th>Default</th><th>Required</th></tr></thead><tbody><tr><td><code>druid.auth.authenticatorChain</code></td><td>JSON List of Strings</td><td>List of Authenticator type names</td><td>[&quot;allowAll&quot;]</td><td>no</td></tr><tr><td><code>druid.escalator.type</code></td><td>String</td><td>Type of the Escalator that should be used for internal Druid communications. This Escalator must use an authentication scheme that is  [...]
-<p>For more information, please see <a href="/docs/34.0.0/operations/auth">Authentication and Authorization</a>.</p>
-<p>For configuration options for specific auth extensions, please refer to the extension documentation.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="startup-logging">Startup logging<a href="#startup-logging" class="hash-link" aria-label="Direct link to Startup logging" title="Direct link to Startup logging">​</a></h3>
-<p>All services can log debugging information on startup.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.startup.logging.logProperties</code></td><td>Log all properties on startup (from common.runtime.properties, runtime.properties, and the JVM command line).</td><td>false</td></tr><tr><td><code>druid.startup.logging.maskProperties</code></td><td>Masks sensitive properties (passwords, for example) containing theses words.</td><td>[&quot;password&quot;]</td></tr></tbody></table>
-<p>Note that some sensitive information may be logged if these settings are enabled.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="request-logging">Request logging<a href="#request-logging" class="hash-link" aria-label="Direct link to Request logging" title="Direct link to Request logging">​</a></h3>
-<p>All services that can serve queries can also log the query requests they see. Broker services can additionally log the SQL requests (both from HTTP and JDBC) they see.
-For an example of setting up request logging, see <a href="/docs/34.0.0/operations/request-logging">Request logging</a>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.request.logging.type</code></td><td>How to log every query request. Choices: <code>noop</code>, <a href="#file-request-logging"><code>file</code></a>, <a href="#emitter-request-logging"><code>emitter</code></a>, <a href="#slf4j-request-logging"><code>slf4j</code></a>, <a href="#filtered-request-logging"><code>filtered</code></a>, <a href="#composing-request-logging"><code>compos [...]
-<p>To enable sending all the HTTP requests to a log, set <code>org.apache.druid.jetty.RequestLog</code> to the <code>DEBUG</code> level. See <a href="/docs/34.0.0/configuration/logging">Logging</a> for more information.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="file-request-logging">File request logging<a href="#file-request-logging" class="hash-link" aria-label="Direct link to File request logging" title="Direct link to File request logging">​</a></h4>
-<p>The <code>file</code> request logger stores daily request logs on disk.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.request.logging.dir</code></td><td>Historical, Realtime, and Broker services maintain request logs of all of the requests they get (interaction is via POST, so normal request logs don’t generally capture information about the actual query), this specifies the directory to store the request logs in.</td><td>none</td></tr><tr><td><code>druid.request.logging.filePattern</code></td> [...]
-<p>The format of request logs is TSV, one line per requests, with five fields: timestamp, remote_addr, native_query, query_context, sql_query.</p>
-<p>For native JSON request, the <code>sql_query</code> field is empty. For example:</p>
-<div class="language-txt codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-txt codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">2019-01-14T10:00:00.000Z        127.0.0.1   {&quot;queryType&quot;:&quot;topN&quot;,&quot;dat [...]
-<p>For SQL query request, the <code>native_query</code> field is empty. For example:</p>
-<div class="language-txt codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-txt codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">2019-01-14T10:00:00.000Z        127.0.0.1       {&quot;sqlQuery/time&quot;:100, &quot;sqlQuer [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="emitter-request-logging">Emitter request logging<a href="#emitter-request-logging" class="hash-link" aria-label="Direct link to Emitter request logging" title="Direct link to Emitter request logging">​</a></h4>
-<p>The <code>emitter</code> request logger emits every request to the external location specified in the <a href="#metrics-monitors">emitter</a> configuration.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.request.logging.feed</code></td><td>Feed name for requests.</td><td>none</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="slf4j-request-logging">SLF4J request logging<a href="#slf4j-request-logging" class="hash-link" aria-label="Direct link to SLF4J request logging" title="Direct link to SLF4J request logging">​</a></h4>
-<p>The <code>slf4j</code> request logger logs every request using SLF4J. It serializes native queries into JSON in the log message regardless of the SLF4J format specification. Requests are logged under the class <code>org.apache.druid.server.log.LoggingRequestLogger</code>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.request.logging.setMDC</code></td><td>If you want to set MDC entries within the log entry, set this value to <code>true</code>. Your logging system must be configured to support MDC in order to format this data.</td><td>false</td></tr><tr><td><code>druid.request.logging.setContextMDC</code></td><td>Set to &quot;true&quot; to add  the Druid query <code>context</code> to the MDC e [...]
-<p>For a native query, the following MDC fields are populated when <code>setMDC</code> is <code>true</code>:</p>
-<table><thead><tr><th>MDC field</th><th>Description</th></tr></thead><tbody><tr><td><code>queryId</code></td><td>The query ID</td></tr><tr><td><code>sqlQueryId</code></td><td>The SQL query ID if this query is part of a SQL request</td></tr><tr><td><code>dataSource</code></td><td>The datasource the query was against</td></tr><tr><td><code>queryType</code></td><td>The type of the query</td></tr><tr><td><code>hasFilters</code></td><td>If the query has any filters</td></tr><tr><td><code>remo [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="filtered-request-logging">Filtered request logging<a href="#filtered-request-logging" class="hash-link" aria-label="Direct link to Filtered request logging" title="Direct link to Filtered request logging">​</a></h4>
-<p>The <code>filtered</code> request logger filters requests based on the query type or how long a query takes to complete.
-For native queries, the logger only logs requests when the <code>query/time</code> metric exceeds the threshold provided in <code>queryTimeThresholdMs</code>.
-For SQL queries, it only logs requests when the <code>sqlQuery/time</code> metric exceeds threshold provided in <code>sqlQueryTimeThresholdMs</code>.
-See <a href="/docs/34.0.0/operations/metrics">Metrics</a> for more details on query metrics.</p>
-<p>Requests that meet the threshold are logged using the request logger type set in <code>druid.request.logging.delegate.type</code>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.request.logging.queryTimeThresholdMs</code></td><td>Threshold value for the <code>query/time</code> metric in milliseconds.</td><td>0, i.e., no filtering</td></tr><tr><td><code>druid.request.logging.sqlQueryTimeThresholdMs</code></td><td>Threshold value for the <code>sqlQuery/time</code> metric in milliseconds.</td><td>0, i.e., no filtering</td></tr><tr><td><code>druid.request.l [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="composing-request-logging">Composing request logging<a href="#composing-request-logging" class="hash-link" aria-label="Direct link to Composing request logging" title="Direct link to Composing request logging">​</a></h4>
-<p>The <code>composing</code> request logger emits request logs to multiple request loggers.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.request.logging.loggerProviders</code></td><td>List of request loggers for emitting request logs.</td><td>none</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="switching-request-logging">Switching request logging<a href="#switching-request-logging" class="hash-link" aria-label="Direct link to Switching request logging" title="Direct link to Switching request logging">​</a></h4>
-<p>The <code>switching</code> request logger routes native query request logs to one request logger and SQL query request logs to another request logger.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.request.logging.nativeQueryLogger</code></td><td>Request logger for emitting native query request logs.</td><td>none</td></tr><tr><td><code>druid.request.logging.sqlQueryLogger</code></td><td>Request logger for emitting SQL query request logs.</td><td>none</td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="audit-logging">Audit logging<a href="#audit-logging" class="hash-link" aria-label="Direct link to Audit logging" title="Direct link to Audit logging">​</a></h3>
-<p>Coordinator and Overlord log changes to lookups, segment load/drop rules, and dynamic configuration changes for auditing.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.audit.manager.type</code></td><td>Type of audit manager used for handling audited events. Audited events are logged when set to <code>log</code> or persisted in metadata store when set to <code>sql</code>.</td><td>sql</td></tr><tr><td><code>druid.audit.manager.logLevel</code></td><td>Log level of audit events with possible values DEBUG, INFO, WARN. This property is used only whe [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="metadata-storage">Metadata storage<a href="#metadata-storage" class="hash-link" aria-label="Direct link to Metadata storage" title="Direct link to Metadata storage">​</a></h3>
-<p>These properties specify the JDBC connection and other configuration around the metadata storage. The only services that connect to the metadata storage with these properties are the <a href="/docs/34.0.0/design/coordinator">Coordinator</a> and <a href="/docs/34.0.0/design/overlord">Overlord</a>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.metadata.storage.type</code></td><td>The type of metadata storage to use. One of <code>mysql</code>, <code>postgresql</code>, or <code>derby</code>.</td><td><code>derby</code></td></tr><tr><td><code>druid.metadata.storage.connector.connectURI</code></td><td>The JDBC URI for the database to connect to</td><td>none</td></tr><tr><td><code>druid.metadata.storage.connector.user</code [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="deep-storage">Deep storage<a href="#deep-storage" class="hash-link" aria-label="Direct link to Deep storage" title="Direct link to Deep storage">​</a></h3>
-<p>The configurations concern how to push and pull <a href="/docs/34.0.0/design/segments">Segments</a> from deep storage.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.storage.type</code></td><td>The type of deep storage to use. One of <code>local</code>, <code>noop</code>, <code>s3</code>, <code>hdfs</code>, <code>c*</code>.</td><td>local</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="local-deep-storage">Local deep storage<a href="#local-deep-storage" class="hash-link" aria-label="Direct link to Local deep storage" title="Direct link to Local deep storage">​</a></h4>
-<p>Local deep storage uses the local filesystem.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.storage.storageDirectory</code></td><td>Directory on disk to use as deep storage.</td><td><code>/tmp/druid/localStorage</code></td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="noop-deep-storage">Noop deep storage<a href="#noop-deep-storage" class="hash-link" aria-label="Direct link to Noop deep storage" title="Direct link to Noop deep storage">​</a></h4>
-<p>This deep storage doesn&#x27;t do anything. There are no configs.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="s3-deep-storage">S3 deep storage<a href="#s3-deep-storage" class="hash-link" aria-label="Direct link to S3 deep storage" title="Direct link to S3 deep storage">​</a></h4>
-<p>This deep storage is used to interface with Amazon&#x27;s S3. Note that the <code>druid-s3-extensions</code> extension must be loaded.
-The below table shows some important configurations for S3. See <a href="/docs/34.0.0/development/extensions-core/s3">S3 Deep Storage</a> for full configurations.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.storage.bucket</code></td><td>S3 bucket name.</td><td>none</td></tr><tr><td><code>druid.storage.baseKey</code></td><td>S3 object key prefix for storage.</td><td>none</td></tr><tr><td><code>druid.storage.disableAcl</code></td><td>Boolean flag for ACL. If this is set to <code>false</code>, the full control would be granted to the bucket owner. This may require to set additional pe [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="hdfs-deep-storage">HDFS deep storage<a href="#hdfs-deep-storage" class="hash-link" aria-label="Direct link to HDFS deep storage" title="Direct link to HDFS deep storage">​</a></h4>
-<p>This deep storage is used to interface with HDFS. You must load the <code>druid-hdfs-storage</code> extension.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.storage.storageDirectory</code></td><td>HDFS directory to use as deep storage.</td><td>none</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="cassandra-deep-storage">Cassandra deep storage<a href="#cassandra-deep-storage" class="hash-link" aria-label="Direct link to Cassandra deep storage" title="Direct link to Cassandra deep storage">​</a></h4>
-<p>This deep storage is used to interface with Cassandra. You must load the <code>druid-cassandra-storage</code> extension.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.storage.host</code></td><td>Cassandra host.</td><td>none</td></tr><tr><td><code>druid.storage.keyspace</code></td><td>Cassandra key space.</td><td>none</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="centralized-datasource-schema-experimental">Centralized datasource schema (Experimental)<a href="#centralized-datasource-schema-experimental" class="hash-link" aria-label="Direct link to Centralized datasource schema (Experimental)" title="Direct link to Centralized datasource schema (Experimental)">​</a></h4>
-<p>This is an <a href="/docs/34.0.0/development/experimental">experimental feature</a> to improve datasource schema management by persisting segment schemas to the metadata store and caching them on the Coordinator.
-Traditionally, Brokers issue segment metadata queries to data nodes and tasks to fetch the schemas of all available segments.
-Each Broker then individually builds the schema of a datasource by combining the schemas of all the segments of that datasource.
-This mechanism is redundant and prone to errors as there is no single source of truth for schemas.</p>
-<p>Centralized schema management improves upon this design as follows:</p>
-<ul>
-<li>Tasks publish segment schema along with segment metadata to the database.</li>
-<li>Tasks announce schema for realtime segments periodically to the Coordinator.</li>
-<li>Coordinator caches segment schemas and builds a combined schema for each datasource.</li>
-<li>Broker poll the datasource schema cached on the Coordinator rather than building it on their own.</li>
-<li>Brokers still retain the ability to build a datasource schema if they are unable to fetch it from the Coordinator.</li>
-</ul>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th><th>Required</th></tr></thead><tbody><tr><td><code>druid.centralizedDatasourceSchema.enabled</code></td><td>Boolean flag for enabling datasource schema building and caching on the Coordinator. This property should be specified in the common runtime properties.</td><td>false</td><td>No.</td></tr><tr><td><code>druid.indexer.fork.property.druid.centralizedDatasourceSchema.enabled</code></td><td>This config should be set  [...]
-<p>If you enable this feature, you can query datasources that are only stored in deep storage and are not loaded on a Historical. For more information, see <a href="/docs/34.0.0/querying/query-deep-storage">Query from deep storage</a>.</p>
-<p>For stale schema cleanup configs, refer to properties with the prefix <code>druid.coordinator.kill.segmentSchema</code> in <a href="#metadata-management">Metadata Management</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="ingestion-security-configuration">Ingestion security configuration<a href="#ingestion-security-configuration" class="hash-link" aria-label="Direct link to Ingestion security configuration" title="Direct link to Ingestion security configuration">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="hdfs-input-source">HDFS input source<a href="#hdfs-input-source" class="hash-link" aria-label="Direct link to HDFS input source" title="Direct link to HDFS input source">​</a></h4>
-<p>You can set the following property to specify permissible protocols for
-the <a href="/docs/34.0.0/ingestion/input-sources#hdfs-input-source">HDFS input source</a>.</p>
-<table><thead><tr><th>Property</th><th>Possible values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.ingestion.hdfs.allowedProtocols</code></td><td>List of protocols</td><td>Allowed protocols for the HDFS input source.</td><td><code>[&quot;hdfs&quot;]</code></td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="http-input-source">HTTP input source<a href="#http-input-source" class="hash-link" aria-label="Direct link to HTTP input source" title="Direct link to HTTP input source">​</a></h4>
-<p>You can set the following property to specify permissible protocols for
-the <a href="/docs/34.0.0/ingestion/input-sources#http-input-source">HTTP input source</a>.</p>
-<table><thead><tr><th>Property</th><th>Possible values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.ingestion.http.allowedProtocols</code></td><td>List of protocols</td><td>Allowed protocols for the HTTP input source.</td><td><code>[&quot;http&quot;, &quot;https&quot;]</code></td></tr><tr><td><code>druid.ingestion.http.allowedHeaders</code></td><td>A list of permitted request headers for the HTTP input source. By default, the list is empty, which means  [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="external-data-access-security-configuration">External data access security configuration<a href="#external-data-access-security-configuration" class="hash-link" aria-label="Direct link to External data access security configuration" title="Direct link to External data access security configuration">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="jdbc-connections-to-external-databases">JDBC connections to external databases<a href="#jdbc-connections-to-external-databases" class="hash-link" aria-label="Direct link to JDBC connections to external databases" title="Direct link to JDBC connections to external databases">​</a></h4>
-<p>You can use the following properties to specify permissible JDBC options for:</p>
-<ul>
-<li><a href="/docs/34.0.0/ingestion/input-sources#sql-input-source">SQL input source</a></li>
-<li><a href="/docs/34.0.0/querying/lookups-cached-global#jdbc-lookup">globally cached JDBC lookups</a></li>
-<li><a href="/docs/34.0.0/development/extensions-core/druid-lookups#data-fetcher-layer">JDBC Data Fetcher for per-lookup caching</a>.</li>
-</ul>
-<p>These properties do not apply to metadata storage connections.</p>
-<table><thead><tr><th>Property</th><th>Possible values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.access.jdbc.enforceAllowedProperties</code></td><td>Boolean</td><td>When true, Druid applies <code>druid.access.jdbc.allowedProperties</code> to JDBC connections starting with <code>jdbc:postgresql:</code>, <code>jdbc:mysql:</code>, or <code>jdbc:mariadb:</code>. When false, Druid allows any kind of JDBC connections without JDBC property validation. This  [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="task-logging">Task logging<a href="#task-logging" class="hash-link" aria-label="Direct link to Task logging" title="Direct link to Task logging">​</a></h3>
-<p>You can use the <code>druid.indexer</code> configuration to set a <a href="#log-long-term-storage">long-term storage</a> location for task log files, and to set a <a href="#log-retention-policy">retention policy</a>.</p>
-<p>For more information about ingestion tasks and the services of generating logs, see the <a href="/docs/34.0.0/ingestion/tasks">task reference</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="log-long-term-storage">Log long-term storage<a href="#log-long-term-storage" class="hash-link" aria-label="Direct link to Log long-term storage" title="Direct link to Log long-term storage">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.logs.type</code></td><td>Where to store task logs.  <code>noop</code>, <a href="#s3-task-logs"><code>s3</code></a>, <a href="#azure-blob-store-task-logs"><code>azure</code></a>, <a href="#google-cloud-storage-task-logs"><code>google</code></a>, <a href="#hdfs-task-logs"><code>hdfs</code></a>, <a href="#file-task-logs"><code>file</code></a></td><td><code>file</code></td>< [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="file-task-logs">File task logs<a href="#file-task-logs" class="hash-link" aria-label="Direct link to File task logs" title="Direct link to File task logs">​</a></h5>
-<p>Store task logs in the local filesystem.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.logs.directory</code></td><td>Local filesystem path.</td><td>log</td></tr></tbody></table>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="s3-task-logs">S3 task logs<a href="#s3-task-logs" class="hash-link" aria-label="Direct link to S3 task logs" title="Direct link to S3 task logs">​</a></h5>
-<p>Store task logs in S3. Note that the <code>druid-s3-extensions</code> extension must be loaded.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.logs.s3Bucket</code></td><td>S3 bucket name.</td><td>none</td></tr><tr><td><code>druid.indexer.logs.s3Prefix</code></td><td>S3 key prefix.</td><td>none</td></tr><tr><td><code>druid.indexer.logs.disableAcl</code></td><td>Boolean flag for ACL. If this is set to <code>false</code>, the full control would be granted to the bucket owner. If the task logs bucket is the same as [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="azure-blob-store-task-logs">Azure Blob Store task logs<a href="#azure-blob-store-task-logs" class="hash-link" aria-label="Direct link to Azure Blob Store task logs" title="Direct link to Azure Blob Store task logs">​</a></h5>
-<p>Store task logs in Azure Blob Store. To enable this feature, load the <code>druid-azure-extensions</code> extension, and configure deep storage for Azure. Druid uses the same authentication method configured for deep storage and stores task logs in the same storage account (set in <code>druid.azure.account</code>).</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.logs.container</code></td><td>The Azure Blob Store container to write logs to.</td><td>Must be set.</td></tr><tr><td><code>druid.indexer.logs.prefix</code></td><td>The path to prepend to logs.</td><td>Must be set.</td></tr></tbody></table>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="google-cloud-storage-task-logs">Google Cloud Storage task logs<a href="#google-cloud-storage-task-logs" class="hash-link" aria-label="Direct link to Google Cloud Storage task logs" title="Direct link to Google Cloud Storage task logs">​</a></h5>
-<p>Store task logs in Google Cloud Storage.</p>
-<p>Note: The <code>druid-google-extensions</code> extension must be loaded, and this uses the same storage settings as the deep storage module for google.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.logs.bucket</code></td><td>The Google Cloud Storage bucket to write logs to</td><td>none</td></tr><tr><td><code>druid.indexer.logs.prefix</code></td><td>The path to prepend to logs</td><td>none</td></tr></tbody></table>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="hdfs-task-logs">HDFS task logs<a href="#hdfs-task-logs" class="hash-link" aria-label="Direct link to HDFS task logs" title="Direct link to HDFS task logs">​</a></h5>
-<p>Store task logs in HDFS. Note that the <code>druid-hdfs-storage</code> extension must be loaded.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.logs.directory</code></td><td>The directory to store logs.</td><td>none</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="log-retention-policy">Log retention policy<a href="#log-retention-policy" class="hash-link" aria-label="Direct link to Log retention policy" title="Direct link to Log retention policy">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.logs.kill.enabled</code></td><td>Boolean value for whether to enable deletion of old task logs. If set to true, Overlord will submit kill tasks periodically based on <code>druid.indexer.logs.kill.delay</code> specified, which will delete task logs from the log directory as well as tasks and tasklogs table entries in metadata storage except for tasks created in the last < [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="api-error-response">API error response<a href="#api-error-response" class="hash-link" aria-label="Direct link to API error response" title="Direct link to API error response">​</a></h3>
-<p>You can configure Druid API error responses to hide internal information like the Druid class name, stack trace, thread name, servlet name, code, line/column number, host, or IP address.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.server.http.showDetailedJettyErrors</code></td><td>When set to true, any error from the Jetty layer / Jetty filter includes the following fields  in the JSON response: <code>servlet</code>, <code>message</code>, <code>url</code>, <code>status</code>, and <code>cause</code>, if it exists. When set to false, the JSON response only includes <code>message</code>, <code>url</code>, a [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="error-response-transform-strategy">Error response transform strategy<a href="#error-response-transform-strategy" class="hash-link" aria-label="Direct link to Error response transform strategy" title="Direct link to Error response transform strategy">​</a></h4>
-<p>You can use an error response transform strategy to transform error responses from within Druid services to hide internal information.
-When you specify an error response transform strategy other than <code>none</code>, Druid transforms the error responses from Druid services as follows:</p>
-<ul>
-<li>For any query API that fails in the Router service, Druid sets the fields <code>errorClass</code> and <code>host</code> to null. Druid applies the transformation strategy to the <code>errorMessage</code> field.</li>
-<li>For any SQL query API that fails, for example <code>POST /druid/v2/sql/...</code>, Druid sets the fields <code>errorClass</code> and <code>host</code> to null. Druid applies the transformation strategy to the <code>errorMessage</code> field.</li>
-<li>For any JDBC related exceptions, Druid will turn all checked exceptions into <code>QueryInterruptedException</code> otherwise druid will attempt to keep the exception as the same type. For example if the original exception isn&#x27;t owned by Druid it will become <code>QueryInterruptedException</code>. Druid applies the transformation strategy to the <code>errorMessage</code> field.</li>
-</ul>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="no-error-response-transform-strategy">No error response transform strategy<a href="#no-error-response-transform-strategy" class="hash-link" aria-label="Direct link to No error response transform strategy" title="Direct link to No error response transform strategy">​</a></h5>
-<p>In this mode, Druid leaves error responses from underlying services unchanged and returns the unchanged errors to the API client.
-This is the default Druid error response mode. To explicitly enable this strategy, set <code>druid.server.http.errorResponseTransform.strategy</code> to <code>none</code>.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="allowed-regular-expression-error-response-transform-strategy">Allowed regular expression error response transform strategy<a href="#allowed-regular-expression-error-response-transform-strategy" class="hash-link" aria-label="Direct link to Allowed regular expression error response transform strategy" title="Direct link to Allowed regular expression error response transform strategy">​</a></h5>
-<p>In this mode, Druid validates the error responses from underlying services against a list of regular expressions. Only error messages that match a configured regular expression are returned. To enable this strategy, set <code>druid.server.http.errorResponseTransform.strategy</code> to <code>allowedRegex</code>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.server.http.errorResponseTransform.allowedRegex</code></td><td>The list of regular expressions Druid uses to validate error messages. If the error message matches any of the regular expressions, then Druid includes it in the response unchanged. If the error message does not match any of the regular expressions, Druid replaces the error message with null or with a default message [...]
-<p>For example, consider the following error response:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token property">&quot;error&quo [...]
-<p>If <code>druid.server.http.errorResponseTransform.allowedRegex</code> is set to <code>[]</code>, Druid transforms the query error response to the following:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token property">&quot;error&quo [...]
-<p>On the other hand, if <code>druid.server.http.errorResponseTransform.allowedRegex</code> is set to <code>[&quot;.*CalciteContextException.*&quot;]</code> then Druid transforms the query error response to the following:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token property">&quot;error&quo [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="overlord-discovery">Overlord discovery<a href="#overlord-discovery" class="hash-link" aria-label="Direct link to Overlord discovery" title="Direct link to Overlord discovery">​</a></h3>
-<p>This config is used to find the <a href="/docs/34.0.0/design/overlord">Overlord</a> using Curator service discovery. Only required if you are actually running an Overlord.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.selectors.indexing.serviceName</code></td><td>The druid.service name of the Overlord service. To start the Overlord with a different name, set it with this property.</td><td>druid/overlord</td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator-discovery">Coordinator discovery<a href="#coordinator-discovery" class="hash-link" aria-label="Direct link to Coordinator discovery" title="Direct link to Coordinator discovery">​</a></h3>
-<p>This config is used to find the <a href="/docs/34.0.0/design/coordinator">Coordinator</a> using Curator service discovery. This config is used by the realtime indexing services to get information about the segments loaded in the cluster.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.selectors.coordinator.serviceName</code></td><td>The druid.service name of the Coordinator service. To start the Coordinator with a different name, set it with this property.</td><td>druid/coordinator</td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="announcing-segments">Announcing segments<a href="#announcing-segments" class="hash-link" aria-label="Direct link to Announcing segments" title="Direct link to Announcing segments">​</a></h3>
-<p>You can configure how to announce and unannounce Znodes in ZooKeeper (using Curator). For normal operations you do not need to override any of these configs.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="batch-data-segment-announcer">Batch data segment announcer<a href="#batch-data-segment-announcer" class="hash-link" aria-label="Direct link to Batch data segment announcer" title="Direct link to Batch data segment announcer">​</a></h4>
-<p>In current Druid, multiple data segments may be announced under the same Znode.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.announcer.segmentsPerNode</code></td><td>Each Znode contains info for up to this many segments.</td><td>50</td></tr><tr><td><code>druid.announcer.maxBytesPerNode</code></td><td>Max byte size for Znode. Allowed range is [1024, 1048576].</td><td>524288</td></tr><tr><td><code>druid.announcer.skipDimensionsAndMetrics</code></td><td>Skip Dimensions and Metrics list from segment annou [...]
-<p>If you want to turn off the batch data segment announcer, you can add a property to skip announcing segments. <strong>You do not want to enable this config if you have any services using <code>batch</code> for <code>druid.serverview.type</code></strong></p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.announcer.skipSegmentAnnouncementOnZk</code></td><td>Skip announcing segments to ZooKeeper. Note that the batch server view will not work if this is set to true.</td><td>false</td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="javascript">JavaScript<a href="#javascript" class="hash-link" aria-label="Direct link to JavaScript" title="Direct link to JavaScript">​</a></h3>
-<p>Druid supports dynamic runtime extension through JavaScript functions. This functionality can be configured through
-the following properties.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.javascript.enabled</code></td><td>Set to &quot;true&quot; to enable JavaScript functionality. This affects the JavaScript parser, filter, extractionFn, aggregator, post-aggregator, router strategy, and worker selection strategy.</td><td>false</td></tr></tbody></table>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>JavaScript-based functionality is [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="double-column-storage">Double column storage<a href="#double-column-storage" class="hash-link" aria-label="Direct link to Double column storage" title="Direct link to Double column storage">​</a></h3>
-<p>Prior to version 0.13.0, Druid&#x27;s storage layer used a 32-bit float representation to store columns created by the
-doubleSum, doubleMin, and doubleMax aggregators at indexing time.
-Starting from version 0.13.0 the default will be 64-bit floats for Double columns.
-Using 64-bit representation for double column will lead to avoid precision loss at the cost of doubling the storage size of such columns.
-To keep the old format set the system-wide property <code>druid.indexing.doubleStorage=float</code>.
-You can also use <code>floatSum</code>, <code>floatMin</code>, and <code>floatMax</code> to use 32-bit float representation.
-Support for 64-bit floating point columns was released in Druid 0.11.0, so if you use this feature then older versions of Druid will not be able to read your data segments.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexing.doubleStorage</code></td><td>Set to &quot;float&quot; to use 32-bit double representation for double columns.</td><td>double</td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="http-client">HTTP client<a href="#http-client" class="hash-link" aria-label="Direct link to HTTP client" title="Direct link to HTTP client">​</a></h3>
-<p>All Druid components can communicate with each other over HTTP.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.global.http.numConnections</code></td><td>Size of connection pool per destination URL. If there are more HTTP requests than this number that all need to speak to the same URL, then they will queue up.</td><td><code>20</code></td></tr><tr><td><code>druid.global.http.eagerInitialization</code></td><td>Indicates that http connections should be eagerly initialized. If set to true, < [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="common-endpoints-configuration">Common endpoints configuration<a href="#common-endpoints-configuration" class="hash-link" aria-label="Direct link to Common endpoints configuration" title="Direct link to Common endpoints configuration">​</a></h3>
-<p>This section contains the configuration options for endpoints that are supported by all services.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.server.hiddenProperties</code></td><td>If property names or substring of property names (case insensitive) is in this list, responses of the <code>/status/properties</code> endpoint do not show these properties</td><td><code>[&quot;druid.s3.accessKey&quot;,&quot;druid.s3.secretKey&quot;,&quot;druid.metadata.storage.connector.password&quot;, &quot;password&quot;, &quot;key&quot;, [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="master-server">Master server<a href="#master-server" class="hash-link" aria-label="Direct link to Master server" title="Direct link to Master server">​</a></h2>
-<p>This section contains the configuration options for the services that reside on Master servers (Coordinators and Overlords) in the suggested <a href="/docs/34.0.0/design/architecture#druid-servers">three-server configuration</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator">Coordinator<a href="#coordinator" class="hash-link" aria-label="Direct link to Coordinator" title="Direct link to Coordinator">​</a></h3>
-<p>For general Coordinator services information, see <a href="/docs/34.0.0/design/coordinator">Coordinator service</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="static-configuration">Static Configuration<a href="#static-configuration" class="hash-link" aria-label="Direct link to Static Configuration" title="Direct link to Static Configuration">​</a></h4>
-<p>These Coordinator static configurations can be defined in the <code>coordinator/runtime.properties</code> file.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator-service-config">Coordinator service config<a href="#coordinator-service-config" class="hash-link" aria-label="Direct link to Coordinator service config" title="Direct link to Coordinator service config">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.host</code></td><td>The host for the current service. This is used to advertise the current service location as reachable from another service and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this service.</td><td><code>InetAddress.getLocalHost().getCanonicalHostName()</code></td></tr><tr><td><code>druid.bindOnHost</code></td> [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator-operation">Coordinator operation<a href="#coordinator-operation" class="hash-link" aria-label="Direct link to Coordinator operation" title="Direct link to Coordinator operation">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.coordinator.period</code></td><td>The run period for the Coordinator. The Coordinator operates by maintaining the current state of the world in memory and periodically looking at the set of &quot;used&quot; segments and segments being served to make decisions about whether any changes need to be made to the data topology. This property sets the delay between each of these runs.< [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="data-management">Data management<a href="#data-management" class="hash-link" aria-label="Direct link to Data management" title="Direct link to Data management">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.coordinator.period.indexingPeriod</code></td><td>Period to run data management duties on the Coordinator including launching compact tasks and performing clean up of unused data. It is recommended to keep this value longer than <code>druid.manager.segments.pollDuration</code>.</td><td><code>PT1800S</code> (30 mins)</td></tr><tr><td><code>druid.coordinator.kill.pendingSegments.on [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="metadata-management">Metadata management<a href="#metadata-management" class="hash-link" aria-label="Direct link to Metadata management" title="Direct link to Metadata management">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Required</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.coordinator.period.metadataStoreManagementPeriod</code></td><td>How often to run metadata management tasks in <a href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank" rel="noopener noreferrer">ISO 8601</a> duration format.</td><td>No</td><td><code>PT1H</code></td></tr><tr><td><code>druid.coordinator.kill.supervisor.on</code></td><td>Boolean value for whe [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="segment-management">Segment management<a href="#segment-management" class="hash-link" aria-label="Direct link to Segment management" title="Direct link to Segment management">​</a></h5>
-<table><thead><tr><th>Property</th><th>Possible values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.serverview.type</code></td><td>batch or http</td><td>Segment discovery method to use. &quot;http&quot; enables discovering segments using HTTP instead of ZooKeeper.</td><td>http</td></tr><tr><td><code>druid.coordinator.segment.awaitInitializationOnStart</code></td><td>true or false</td><td>Whether the Coordinator will wait for its view of segments to full [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="metadata-retrieval">Metadata retrieval<a href="#metadata-retrieval" class="hash-link" aria-label="Direct link to Metadata retrieval" title="Direct link to Metadata retrieval">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.manager.config.pollDuration</code></td><td>How often the manager polls the config table for updates.</td><td><code>PT1M</code></td></tr><tr><td><code>druid.manager.segments.pollDuration</code></td><td>The duration between polls the Coordinator does for updates to the set of active segments. Generally defines the amount of lag time it can take for the Coordinator to notice new se [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="dynamic-configuration">Dynamic configuration<a href="#dynamic-configuration" class="hash-link" aria-label="Direct link to Dynamic configuration" title="Direct link to Dynamic configuration">​</a></h4>
-<p>The Coordinator has dynamic configurations to tune certain behavior on the fly, without requiring a service restart.
-You can configure these parameters using the <a href="/docs/34.0.0/operations/web-console">web console</a>(recommended) or through the <a href="/docs/34.0.0/api-reference/dynamic-configuration-api#coordinator-dynamic-configuration">Coordinator dynamic configuration API</a>.</p>
-<p>The following table shows the dynamic configuration properties for the Coordinator.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>millisToWaitBeforeDeleting</code></td><td>How long does the Coordinator need to be a leader before it can start marking overshadowed segments as unused in metadata storage.</td><td>900000 (15 mins)</td></tr><tr><td><code>smartSegmentLoading</code></td><td>Enables <a href="#smart-segment-loading">&quot;smart&quot; segment loading mode</a> which dynamically computes the optimal values o [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="smart-segment-loading">Smart segment loading<a href="#smart-segment-loading" class="hash-link" aria-label="Direct link to Smart segment loading" title="Direct link to Smart segment loading">​</a></h5>
-<p>The <code>smartSegmentLoading</code> mode simplifies Coordinator configuration for segment loading and balancing.
-If you enable this mode, do not provide values for the properties in the table below as the Coordinator computes them automatically.
-Druid computes the values to optimize Coordinator performance, based on the current state of the cluster.</p>
-<p>If you enable <code>smartSegmentLoading</code> mode, Druid ignores any value you provide for the following properties.</p>
-<table><thead><tr><th>Property</th><th>Computed value</th><th>Description</th></tr></thead><tbody><tr><td><code>useRoundRobinSegmentAssignment</code></td><td>true</td><td>Speeds up segment assignment.</td></tr><tr><td><code>maxSegmentsInNodeLoadingQueue</code></td><td>0</td><td>Removes the limit on load queue size.</td></tr><tr><td><code>replicationThrottleLimit</code></td><td>5% of used segments, minimum value 100</td><td>Prevents aggressive replication when a Historical disappears only [...]
-<p>When <code>smartSegmentLoading</code> is disabled, Druid uses the configured values of these properties.
-Disable <code>smartSegmentLoading</code> only if you want to explicitly set the values of any of the above properties.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="lookups-dynamic-configuration">Lookups dynamic configuration<a href="#lookups-dynamic-configuration" class="hash-link" aria-label="Direct link to Lookups dynamic configuration" title="Direct link to Lookups dynamic configuration">​</a></h5>
-<p>These configuration options control Coordinator lookup management. For configurations that affect lookup propagation, see <a href="/docs/34.0.0/querying/lookups#dynamic-configuration">Dynamic configuration for lookups</a>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.manager.lookups.hostDeleteTimeout</code></td><td>How long to wait for a <code>DELETE</code> request to a particular service before considering the <code>DELETE</code> a failure.</td><td><code>PT1S</code></td></tr><tr><td><code>druid.manager.lookups.hostUpdateTimeout</code></td><td>How long to wait for a <code>POST</code> request to a particular service before considering the <co [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="automatic-compaction-dynamic-configuration">Automatic compaction dynamic configuration<a href="#automatic-compaction-dynamic-configuration" class="hash-link" aria-label="Direct link to Automatic compaction dynamic configuration" title="Direct link to Automatic compaction dynamic configuration">​</a></h5>
-<p>You can set or update <a href="/docs/34.0.0/data-management/automatic-compaction">automatic compaction</a> properties dynamically using the
-<a href="/docs/34.0.0/api-reference/automatic-compaction-api">Automatic compaction API</a> without restarting Coordinators.</p>
-<p>For details about segment compaction, see <a href="/docs/34.0.0/operations/segment-optimization">Segment size optimization</a>.</p>
-<p>You can configure automatic compaction through the following properties:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>dataSource</code></td><td>The datasource name to be compacted.</td><td>yes</td></tr><tr><td><code>taskPriority</code></td><td><a href="/docs/34.0.0/ingestion/tasks#lock-priority">Priority</a> of compaction task.</td><td>no (default = 25)</td></tr><tr><td><code>inputSegmentSizeBytes</code></td><td>Maximum number of total segment bytes processed per compaction task. Since a time chunk  [...]
-<p>Automatic compaction config example:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<p>Compaction tasks fail when higher priority tasks cause Druid to revoke their locks. By default, realtime tasks like ingestion have a higher priority than compaction tasks. Frequent conflicts between compaction tasks and realtime tasks can cause the Coordinator&#x27;s automatic compaction to hang.
-You may see this issue with streaming ingestion from Kafka and Kinesis, which ingest late-arriving data.</p>
-<p>To mitigate this problem, set <code>skipOffsetFromLatest</code> to a value large enough so that arriving data tends to fall outside the offset value from the current time. This way you can avoid conflicts between compaction tasks and realtime ingestion tasks.
-For example, if you want to skip over segments from thirty days prior to the end time of the most recent segment, assign <code>&quot;skipOffsetFromLatest&quot;: &quot;P30D&quot;</code>.
-For more information, see <a href="/docs/34.0.0/data-management/automatic-compaction#avoid-conflicts-with-ingestion">Avoid conflicts with ingestion</a>.</p>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="automatic-compaction-tuningconfig">Automatic compaction tuningConfig<a href="#automatic-compaction-tuningconfig" class="hash-link" aria-label="Direct link to Automatic compaction tuningConfig" title="Direct link to Automatic compaction tuningConfig">​</a></h6>
-<p>Auto-compaction supports a subset of the <a href="/docs/34.0.0/ingestion/native-batch#tuningconfig">tuningConfig for Parallel task</a>.</p>
-<p>The following table shows the supported configurations for auto-compaction.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td>type</td><td>The task type. If you&#x27;re using Coordinator duties for auto-compaction, set it to <code>index_parallel</code>. If you&#x27;re using compaction supervisors, set it to <code>autocompact</code>.</td><td>yes</td></tr><tr><td><code>maxRowsInMemory</code></td><td>Used in determining when intermediate persists to disk should occur. Normally user does not need to set this, but dep [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="automatic-compaction-granularityspec">Automatic compaction granularitySpec<a href="#automatic-compaction-granularityspec" class="hash-link" aria-label="Direct link to Automatic compaction granularitySpec" title="Direct link to Automatic compaction granularitySpec">​</a></h6>
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>segmentGranularity</code></td><td>Time chunking period for the segment granularity. Defaults to &#x27;null&#x27;, which preserves the original segment granularity. Accepts all <a href="/docs/34.0.0/querying/granularities">Query granularity</a> values.</td><td>No</td></tr><tr><td><code>queryGranularity</code></td><td>The resolution of timestamp storage within each segment. Defaults to &# [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="automatic-compaction-dimensionsspec">Automatic compaction dimensionsSpec<a href="#automatic-compaction-dimensionsspec" class="hash-link" aria-label="Direct link to Automatic compaction dimensionsSpec" title="Direct link to Automatic compaction dimensionsSpec">​</a></h6>
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>dimensions</code></td><td>A list of dimension names or objects. Defaults to null, which preserves the original dimensions. Note that setting this will cause segments manually compacted with <code>dimensionExclusions</code> to be compacted again.</td><td>No</td></tr></tbody></table>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="automatic-compaction-transformspec">Automatic compaction transformSpec<a href="#automatic-compaction-transformspec" class="hash-link" aria-label="Direct link to Automatic compaction transformSpec" title="Direct link to Automatic compaction transformSpec">​</a></h6>
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>filter</code></td><td>Conditionally filters input rows during compaction. Only rows that pass the filter will be included in the compacted segments. Any of Druid&#x27;s standard <a href="/docs/34.0.0/querying/filters">query filters</a> can be used. Defaults to null, which will not filter any row.</td><td>No</td></tr></tbody></table>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="automatic-compaction-ioconfig">Automatic compaction ioConfig<a href="#automatic-compaction-ioconfig" class="hash-link" aria-label="Direct link to Automatic compaction ioConfig" title="Direct link to Automatic compaction ioConfig">​</a></h6>
-<p>Auto-compaction supports a subset of the <a href="/docs/34.0.0/ingestion/native-batch">ioConfig for Parallel task</a>.
-The below is a list of the supported configurations for auto-compaction.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th><th>Required</th></tr></thead><tbody><tr><td><code>dropExisting</code></td><td>If <code>true</code> the compaction task replaces all existing segments fully contained by the umbrella interval of the compacted segments when the task publishes new segments and tombstones. If compaction fails, Druid does not publish any segments or tombstones. WARNING: this functionality is still in beta. Note that changing this config d [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="overlord">Overlord<a href="#overlord" class="hash-link" aria-label="Direct link to Overlord" title="Direct link to Overlord">​</a></h3>
-<p>For general Overlord service information, see <a href="/docs/34.0.0/design/overlord">Overlord</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="overlord-static-configuration">Overlord static configuration<a href="#overlord-static-configuration" class="hash-link" aria-label="Direct link to Overlord static configuration" title="Direct link to Overlord static configuration">​</a></h4>
-<p>These Overlord static configurations can be defined in the <code>overlord/runtime.properties</code> file.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="overlord-service-configs">Overlord service configs<a href="#overlord-service-configs" class="hash-link" aria-label="Direct link to Overlord service configs" title="Direct link to Overlord service configs">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.host</code></td><td>The host for the current service. This is used to advertise the current service location as reachable from another service and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this service.</td><td><code>InetAddress.getLocalHost().getCanonicalHostName()</code></td></tr><tr><td><code>druid.bindOnHost</code></td> [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="overlord-operations">Overlord operations<a href="#overlord-operations" class="hash-link" aria-label="Direct link to Overlord operations" title="Direct link to Overlord operations">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.runner.type</code></td><td>Indicates whether tasks should be run locally using <code>local</code> or in a distributed environment using <code>remote</code>. The recommended option is <code>httpRemote</code>, which is similar to <code>remote</code> but uses HTTP to interact with Middle Managers instead of ZooKeeper.</td><td><code>httpRemote</code></td></tr><tr><td><code>d [...]
-<p>The following configs only apply if the Overlord is running in remote mode. For a description of local vs. remote mode, see <a href="/docs/34.0.0/design/overlord">Overlord service</a>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.runner.taskAssignmentTimeout</code></td><td>How long to wait after a task has been assigned to a Middle Manager before throwing an error.</td><td><code>PT5M</code></td></tr><tr><td><code>druid.indexer.runner.minWorkerVersion</code></td><td>The minimum Middle Manager version to send tasks to. The version number is a string. This affects the expected behavior during certai [...]
-<p>If autoscaling is enabled, you can set these additional configs:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.autoscale.strategy</code></td><td>Sets the strategy to run when autoscaling is required. One of <code>noop</code>, <code>ec2</code> or <code>gce</code>.</td><td><code>noop</code></td></tr><tr><td><code>druid.indexer.autoscale.doAutoscale</code></td><td>If set to true, autoscaling will be enabled.</td><td>false</td></tr><tr><td><code>druid.indexer.autoscale.provisionPerio [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="supervisors">Supervisors<a href="#supervisors" class="hash-link" aria-label="Direct link to Supervisors" title="Direct link to Supervisors">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.supervisor.healthinessThreshold</code></td><td>The number of successful runs before an unhealthy supervisor is again considered healthy.</td><td>3</td></tr><tr><td><code>druid.supervisor.unhealthinessThreshold</code></td><td>The number of failed runs before the supervisor is considered unhealthy.</td><td>3</td></tr><tr><td><code>druid.supervisor.taskHealthinessThreshold</code></ [...]
-<p>The <code>druid.supervisor.idleConfig.*</code> specification in the Overlord runtime properties defines the default behavior for the entire cluster. See <a href="/docs/34.0.0/ingestion/kinesis-ingestion#io-configuration">Idle Configuration in Kafka Supervisor IOConfig</a> to override it for an individual supervisor.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="segment-metadata-cache-experimental">Segment metadata cache (Experimental)<a href="#segment-metadata-cache-experimental" class="hash-link" aria-label="Direct link to Segment metadata cache (Experimental)" title="Direct link to Segment metadata cache (Experimental)">​</a></h5>
-<p>The following properties pertain to segment metadata caching on the Overlord that may be used to speed up segment allocation and other metadata operations.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.manager.segments.useIncrementalCache</code></td><td>Denotes the usage mode of the segment metadata incremental cache. Possible modes are: (a) <code>never</code>: Cache is disabled. (b) <code>always</code>: Reads are always done from the cache. Service start-up will be blocked until cache has synced with the metadata store at least once. Transactions will block until cache has sy [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="auto-kill-unused-segments-experimental">Auto-kill unused segments (Experimental)<a href="#auto-kill-unused-segments-experimental" class="hash-link" aria-label="Direct link to Auto-kill unused segments (Experimental)" title="Direct link to Auto-kill unused segments (Experimental)">​</a></h5>
-<p>These configs pertain to the new embedded mode of running <a href="/docs/34.0.0/data-management/delete#auto-kill-data-on-the-overlord-experimental">kill tasks on the Overlord</a>.
-None of the configs that apply to <a href="/docs/34.0.0/data-management/delete#auto-kill-data-using-coordinator-duties">auto-kill performed by the Coordinator</a> are used by this feature.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.manager.segments.killUnused.enabled</code></td><td>Boolean flag to enable auto-kill of eligible unused segments on the Overlord. This feature can be used only when <a href="#segment-metadata-cache-experimental">segment metadata caching</a> is enabled on the Overlord and MUST NOT be enabled if <code>druid.coordinator.kill.on</code> is already set to <code>true</code> on the Coord [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="overlord-dynamic-configuration">Overlord dynamic configuration<a href="#overlord-dynamic-configuration" class="hash-link" aria-label="Direct link to Overlord dynamic configuration" title="Direct link to Overlord dynamic configuration">​</a></h4>
-<p>The Overlord has dynamic configurations to tune how Druid assigns tasks to workers.
-You can configure these parameters using the <a href="/docs/34.0.0/operations/web-console">web console</a> or through the <a href="/docs/34.0.0/api-reference/dynamic-configuration-api#overlord-dynamic-configuration">Overlord dynamic configuration API</a>.</p>
-<p>The following table shows the dynamic configuration properties for the Overlord.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>selectStrategy</code></td><td>Describes how to assign tasks to Middle Managers. The type can be <code>equalDistribution</code>, <code>equalDistributionWithCategorySpec</code>, <code>fillCapacity</code>, <code>fillCapacityWithCategorySpec</code>, and <code>javascript</code>.</td><td><code>{&quot;type&quot;:&quot;equalDistribution&quot;}</code></td></tr><tr><td><code>autoScaler</code></ [...]
-<p>The following is an example of an Overlord dynamic config:</p>
-<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>Click to view the example</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="worker-select-strategy">Worker select strategy<a href="#worker-select-strategy" class="hash-link" aria-label="Direct link to Worker select strategy" title="Direct link to Worker select strategy">​</a></h5>
-<p>The select strategy controls how Druid assigns tasks to workers (Middle Managers).
-At a high level, the select strategy determines the list of eligible workers for a given task using
-either an <code>affinityConfig</code> or a <code>categorySpec</code>. Then, Druid assigns the task by either trying to distribute load equally
-(<code>equalDistribution</code>) or to fill as many workers as possible to capacity (<code>fillCapacity</code>).
-There are 4 options for select strategies:</p>
-<ul>
-<li><a href="#equaldistribution"><code>equalDistribution</code></a></li>
-<li><a href="#equaldistributionwithcategoryspec"><code>equalDistributionWithCategorySpec</code></a></li>
-<li><a href="#fillcapacity"><code>fillCapacity</code></a></li>
-<li><a href="#fillcapacitywithcategoryspec"><code>fillCapacityWithCategorySpec</code></a></li>
-</ul>
-<p>A <code>javascript</code> option is also available but should only be used for prototyping new strategies.</p>
-<p>If an <code>affinityConfig</code> is provided (as part of <code>fillCapacity</code> and <code>equalDistribution</code> strategies) for a given task, the list of workers eligible to be assigned is determined as follows:</p>
-<ul>
-<li>a non-affinity worker if no affinity is specified for that datasource. Any worker not listed in the <code>affinityConfig</code> is considered a non-affinity worker.</li>
-<li>a non-affinity worker if preferred workers are not available and the affinity is <em>weak</em> i.e. <code>strong: false</code>.</li>
-<li>a preferred worker listed in the <code>affinityConfig</code> for this datasource if it has available capacity</li>
-<li>no worker if preferred workers are not available and affinity is <em>strong</em> i.e. <code>strong: true</code>. In this case, the task remains in &quot;pending&quot; state. The chosen provisioning strategy (e.g. <code>pendingTaskBased</code>) may then use the total number of pending tasks to determine if a new node should be provisioned.</li>
-</ul>
-<p>Note that every worker listed in the <code>affinityConfig</code> will only be used for the assigned datasources and no other.</p>
-<p>If a <code>categorySpec</code> is provided (as part of <code>fillCapacityWithCategorySpec</code> and <code>equalDistributionWithCategorySpec</code> strategies), then a task of a given datasource may be assigned to:</p>
-<ul>
-<li>any worker if no category config is given for task type</li>
-<li>any worker if category config is given for task type but no category is given for datasource and there&#x27;s no default category</li>
-<li>a preferred worker (based on category config and category for datasource) if available</li>
-<li>any worker if category config and category are given but no preferred worker is available and category config is <code>weak</code></li>
-<li>not assigned at all if preferred workers are not available and category config is <code>strong</code></li>
-</ul>
-<p>In both the cases, Druid determines the list of eligible workers and selects one depending on their load with the goal of either distributing the load equally or filling as few workers as possible.</p>
-<p>If you are using auto-scaling, use the <code>fillCapacity</code> select strategy since auto-scaled nodes can
-not be assigned a category, and you want the work to be concentrated on the fewest number of workers to allow the empty ones to scale down.</p>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="equaldistribution"><code>equalDistribution</code><a href="#equaldistribution" class="hash-link" aria-label="Direct link to equaldistribution" title="Direct link to equaldistribution">​</a></h6>
-<p>Tasks are assigned to the Middle Manager with the most free slots at the time the task begins running.
-This evenly distributes work across your Middle Managers.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>type</code></td><td><code>equalDistribution</code></td><td>required; must be <code>equalDistribution</code></td></tr><tr><td><code>affinityConfig</code></td><td><a href="#affinityconfig"><code>AffinityConfig</code></a> object</td><td>null (no affinity)</td></tr><tr><td><code>taskLimits</code></td><td><a href="#tasklimits"><code>TaskLimits</code></a> object</td><td>null (no limits)</td [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="equaldistributionwithcategoryspec"><code>equalDistributionWithCategorySpec</code><a href="#equaldistributionwithcategoryspec" class="hash-link" aria-label="Direct link to equaldistributionwithcategoryspec" title="Direct link to equaldistributionwithcategoryspec">​</a></h6>
-<p>This strategy is a variant of <code>equalDistribution</code>, which supports <code>workerCategorySpec</code> field rather than <code>affinityConfig</code>.
-By specifying <code>workerCategorySpec</code>, you can assign tasks to run on different categories of Middle Managers based on the <strong>type</strong> and <strong>dataSource</strong> of the task.
-This strategy doesn&#x27;t work with <code>AutoScaler</code> since the behavior is undefined.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>type</code></td><td><code>equalDistributionWithCategorySpec</code></td><td>required; must be <code>equalDistributionWithCategorySpec</code></td></tr><tr><td><code>workerCategorySpec</code></td><td><a href="#workercategoryspec"><code>WorkerCategorySpec</code></a> object</td><td>null (no worker category spec)</td></tr><tr><td><code>taskLimits</code></td><td><a href="#tasklimits"><code>T [...]
-<p>The following example shows tasks of type <code>index_kafka</code> that default to running on Middle Managers of category <code>c1</code>, except for tasks that write to datasource <code>ds1</code>, which run on Middle Managers of category <code>c2</code>.</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="fillcapacity"><code>fillCapacity</code><a href="#fillcapacity" class="hash-link" aria-label="Direct link to fillcapacity" title="Direct link to fillcapacity">​</a></h6>
-<p>Tasks are assigned to the worker with the most currently-running tasks. This is
-useful when you are auto-scaling Middle Managers since it tends to pack some full and
-leave others empty. The empty ones can be safely terminated.</p>
-<p>Note that if <code>druid.indexer.runner.pendingTasksRunnerNumThreads</code> is set to <em>N</em> &gt; 1, then this strategy will fill <em>N</em>
-Middle Managers up to capacity simultaneously, rather than a single Middle Manager.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>type</code></td><td><code>fillCapacity</code></td><td>required; must be <code>fillCapacity</code></td></tr><tr><td><code>affinityConfig</code></td><td><a href="#affinityconfig"><code>AffinityConfig</code></a> object</td><td>null (no affinity)</td></tr><tr><td><code>taskLimits</code></td><td><a href="#tasklimits"><code>TaskLimits</code></a> object</td><td>null (no limits)</td></tr></tb [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="fillcapacitywithcategoryspec"><code>fillCapacityWithCategorySpec</code><a href="#fillcapacitywithcategoryspec" class="hash-link" aria-label="Direct link to fillcapacitywithcategoryspec" title="Direct link to fillcapacitywithcategoryspec">​</a></h6>
-<p>This strategy is a variant of <code>fillCapacity</code>, which supports <code>workerCategorySpec</code> instead of an <code>affinityConfig</code>.
-The usage is the same as <code>equalDistributionWithCategorySpec</code> strategy.
-This strategy doesn&#x27;t work with <code>AutoScaler</code> since the behavior is undefined.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>type</code></td><td><code>fillCapacityWithCategorySpec</code>.</td><td>required; must be <code>fillCapacityWithCategorySpec</code></td></tr><tr><td><code>workerCategorySpec</code></td><td><a href="#workercategoryspec"><code>WorkerCategorySpec</code></a> object</td><td>null (no worker category spec)</td></tr><tr><td><code>taskLimits</code></td><td><a href="#tasklimits"><code>TaskLimits [...]
-<a name="javascript-worker-select-strategy"></a>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="javascript-1"><code>javascript</code><a href="#javascript-1" class="hash-link" aria-label="Direct link to javascript-1" title="Direct link to javascript-1">​</a></h6>
-<p>Allows defining arbitrary logic for selecting workers to run task using a JavaScript function.
-The function is passed remoteTaskRunnerConfig, map of workerId to available workers and task to be executed and returns the workerId on which the task should be run or null if the task cannot be run.
-It can be used for rapid development of missing features where the worker selection logic is to be changed or tuned often.
-If the selection logic is quite complex and cannot be easily tested in JavaScript environment,
-its better to write a druid extension module with extending current worker selection strategies written in java.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>type</code></td><td><code>javascript</code></td><td>required; must be <code>javascript</code></td></tr><tr><td><code>function</code></td><td>String representing JavaScript function</td><td></td></tr></tbody></table>
-<p>The following example shows a function that sends <code>batch_index_task</code> to workers <code>10.0.0.1</code> and <code>10.0.0.2</code> and all other tasks to other available workers.</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>JavaScript-based functionality is [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="affinityconfig">affinityConfig<a href="#affinityconfig" class="hash-link" aria-label="Direct link to affinityConfig" title="Direct link to affinityConfig">​</a></h6>
-<p>Use the <code>affinityConfig</code> field to pass affinity configuration to the <code>equalDistribution</code> and <code>fillCapacity</code> strategies.
-If not provided, the default is to have no affinity.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>affinity</code></td><td>JSON object mapping a datasource String name to a list of indexing service Middle Manager <code>host:port</code> values. Druid doesn&#x27;t perform DNS resolution, so the &#x27;host&#x27; value must match what is configured on the Middle Manager and what the Middle Manager announces itself as (examine the Overlord logs to see what your Middle Manager announces  [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="workercategoryspec">workerCategorySpec<a href="#workercategoryspec" class="hash-link" aria-label="Direct link to workerCategorySpec" title="Direct link to workerCategorySpec">​</a></h6>
-<p>You can provide <code>workerCategorySpec</code> to the <code>equalDistributionWithCategorySpec</code> and <code>fillCapacityWithCategorySpec</code> strategies using the <code>workerCategorySpec</code>
-field. If not provided, the default is to not use it at all.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>categoryMap</code></td><td>A JSON map object mapping a task type String name to a <a href="#categoryconfig">CategoryConfig</a> object, by which you can specify category config for different task type.</td><td><code>{}</code></td></tr><tr><td><code>strong</code></td><td>With weak workerCategorySpec (the default), tasks for a dataSource may be assigned to other Middle Managers if the Mi [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="tasklimits"><code>taskLimits</code><a href="#tasklimits" class="hash-link" aria-label="Direct link to tasklimits" title="Direct link to tasklimits">​</a></h6>
-<p>The <code>taskLimits</code> field can be used with the <code>equalDistribution</code>, <code>fillCapacity</code>, <code>equalDistributionWithCategorySpec</code> and <code>fillCapacityWithCategorySpec</code> strategies.
-If you don&#x27;t provide it, it will default to not being used.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>maxSlotCountByType</code></td><td>A map where each key is a task type (<code>String</code>), and the corresponding value represents the absolute limit on the number of task slots that tasks of this type can occupy. The value is an <code>Integer</code> that is greater than or equal to 0. For example, a value of 5 means that tasks of this type can occupy up to 5 task slots in total. If  [...]
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="categoryconfig">CategoryConfig<a href="#categoryconfig" class="hash-link" aria-label="Direct link to CategoryConfig" title="Direct link to CategoryConfig">​</a></h6>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>defaultCategory</code></td><td>Specify default category for a task type.</td><td>null</td></tr><tr><td><code>categoryAffinity</code></td><td>A JSON map object mapping a datasource String name to a category String name of the Middle Manager. If category isn&#x27;t specified for a datasource, then using the <code>defaultCategory</code>. If no specified category and the <code>defaultCate [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="autoscaler">Autoscaler<a href="#autoscaler" class="hash-link" aria-label="Direct link to Autoscaler" title="Direct link to Autoscaler">​</a></h5>
-<p>Amazon&#x27;s EC2 together with Google&#x27;s GCE are currently the only supported autoscalers.</p>
-<p>EC2&#x27;s autoscaler properties are:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>type</code></td><td><code>ec2</code></td><td>0</td></tr><tr><td><code>minNumWorkers</code></td><td>The minimum number of workers that can be in the cluster at any given time.</td><td>0</td></tr><tr><td><code>maxNumWorkers</code></td><td>The maximum number of workers that can be in the cluster at any given time.</td><td>0</td></tr><tr><td><code>envConfig.availabilityZone</code></td><td [...]
-<p>For GCE&#x27;s properties, please refer to the <a href="/docs/34.0.0/development/extensions-contrib/gce-extensions">gce-extensions</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="data-server">Data server<a href="#data-server" class="hash-link" aria-label="Direct link to Data server" title="Direct link to Data server">​</a></h2>
-<p>This section contains the configuration options for the services that reside on Data servers (Middle Managers/Peons and Historicals) in the suggested <a href="/docs/34.0.0/design/architecture#druid-servers">three-server configuration</a>.</p>
-<p>Configuration options for the <a href="/docs/34.0.0/design/indexer">Indexer process</a> are also provided here.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="middle-manager-and-peon">Middle Manager and Peon<a href="#middle-manager-and-peon" class="hash-link" aria-label="Direct link to Middle Manager and Peon" title="Direct link to Middle Manager and Peon">​</a></h3>
-<p>These Middle Manager and Peon configurations can be defined in the <code>middleManager/runtime.properties</code> file.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="middle-manager-service-config">Middle Manager service config<a href="#middle-manager-service-config" class="hash-link" aria-label="Direct link to Middle Manager service config" title="Direct link to Middle Manager service config">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.host</code></td><td>The host for the current service. This is used to advertise the current service location as reachable from another service and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this service</td><td><code>InetAddress.getLocalHost().getCanonicalHostName()</code></td></tr><tr><td><code>druid.bindOnHost</code></td>< [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="middle-manager-configuration">Middle Manager configuration<a href="#middle-manager-configuration" class="hash-link" aria-label="Direct link to Middle Manager configuration" title="Direct link to Middle Manager configuration">​</a></h4>
-<p>Middle Managers pass their configurations down to their child peons. The Middle Manager requires the following configs:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.indexer.runner.allowedPrefixes</code></td><td>Whitelist of prefixes for configs that can be passed down to child peons.</td><td><code>com.metamx</code>, <code>druid</code>, <code>org.apache.druid</code>, <code>user.timezone</code>, <code>file.encoding</code>, <code>java.io.tmpdir</code>, <code>hadoop</code></td></tr><tr><td><code>druid.indexer.runner.compressZnodes</code></td><t [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="peon-processing">Peon processing<a href="#peon-processing" class="hash-link" aria-label="Direct link to Peon processing" title="Direct link to Peon processing">​</a></h4>
-<p>Processing properties set on the Middle Manager are passed through to Peons.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.processing.buffer.sizeBytes</code></td><td>This specifies a buffer size (less than 2GiB) for the storage of intermediate results. The computation engine in both the Historical and Realtime processes will use a scratch buffer of this size to do all of their intermediate computations off-heap. Larger values allow for more aggregations in a single pass over the data while smaller v [...]
-<p>The amount of direct memory needed by Druid is at least
-<code>druid.processing.buffer.sizeBytes * (druid.processing.numMergeBuffers + druid.processing.numThreads + 1)</code>. You can
-ensure at least this amount of direct memory is available by providing <code>-XX:MaxDirectMemorySize=&lt;VALUE&gt;</code> in
-<code>druid.indexer.runner.javaOptsArray</code> as documented above.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="peon-query-configuration">Peon query configuration<a href="#peon-query-configuration" class="hash-link" aria-label="Direct link to Peon query configuration" title="Direct link to Peon query configuration">​</a></h4>
-<p>See <a href="#general-query-configuration">general query configuration</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="peon-caching">Peon caching<a href="#peon-caching" class="hash-link" aria-label="Direct link to Peon caching" title="Direct link to Peon caching">​</a></h4>
-<p>You can optionally configure caching to be enabled on the peons by setting caching configs here.</p>
-<table><thead><tr><th>Property</th><th>Possible Values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.realtime.cache.useCache</code></td><td>true, false</td><td>Enable the cache on the realtime.</td><td>false</td></tr><tr><td><code>druid.realtime.cache.populateCache</code></td><td>true, false</td><td>Populate the cache on the realtime.</td><td>false</td></tr><tr><td><code>druid.realtime.cache.unCacheable</code></td><td>All druid query types</td><td>All qu [...]
-<p>See <a href="#cache-configuration">cache configuration</a> for how to configure cache settings.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="additional-peon-configuration">Additional Peon configuration<a href="#additional-peon-configuration" class="hash-link" aria-label="Direct link to Additional Peon configuration" title="Direct link to Additional Peon configuration">​</a></h4>
-<p>Although Peons inherit the configurations of their parent Middle Managers, explicit child Peon configs in Middle Manager can be set by prefixing them with:</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.indexer.fork.property</span><br></span></code></pre><div class="buttonGro [...]
-<p>Additional Peon configs include:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.peon.mode</code></td><td>One of <code>local</code> or <code>remote</code>. Setting this property to <code>local</code> means you intend to run the Peon as a standalone process which is not recommended.</td><td><code>remote</code></td></tr><tr><td><code>druid.indexer.task.baseDir</code></td><td>Base temporary working directory.</td><td><code>System.getProperty(&quot;java.io.tmpdi [...]
-<p>If the Peon is running in remote mode, there must be an Overlord up and running. Peons in remote mode can set the following configurations:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.peon.taskActionClient.retry.minWait</code></td><td>The minimum retry time to communicate with Overlord.</td><td><code>PT5S</code></td></tr><tr><td><code>druid.peon.taskActionClient.retry.maxWait</code></td><td>The maximum retry time to communicate with Overlord.</td><td><code>PT1M</code></td></tr><tr><td><code>druid.peon.taskActionClient.retry.maxRetryCount</code></td><td>The ma [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="segmentwriteoutmediumfactory">SegmentWriteOutMediumFactory<a href="#segmentwriteoutmediumfactory" class="hash-link" aria-label="Direct link to SegmentWriteOutMediumFactory" title="Direct link to SegmentWriteOutMediumFactory">​</a></h5>
-<p>When new segments are created, Druid temporarily stores some preprocessed data in some buffers.
-The following types of medium exist for the buffers:</p>
-<ul>
-<li>
-<p><strong>Temporary files</strong> (<code>tmpFile</code>) are stored under the task working directory (see <code>druid.worker.baseTaskDirs</code> configuration above) and thus share it&#x27;s mounting properties. For example, they could be backed by HDD, SSD or memory (tmpfs).
-This type of medium may do unnecessary disk I/O and requires some disk space to be available.</p>
-</li>
-<li>
-<p><strong>Off-heap memory</strong> (<code>offHeapMemory</code>) creates buffers in off-heap memory of a JVM process that is running a task.
-This type of medium is preferred, but it may require you to allow the JVM to have more off-heap memory by changing the <code>-XX:MaxDirectMemorySize</code> configuration. It&#x27;s not understood yet how the required off-heap memory size relates to the size of the segments being created. But you shouldn&#x27;t add more extra off-heap memory than the configured maximum <em>heap</em> size (<code>-Xmx</code>) for the same JVM.</p>
-</li>
-<li>
-<p><strong>On-heap memory</strong> (<code>onHeapMemory</code>) creates buffers using the allocated heap memory of the JVM process running a task. Using on-heap memory introduces garbage collection overhead and so is not recommended in most cases. This type of medium is most helpful for tasks run on external clusters where it may be difficult to allocate and work with direct memory effectively.</p>
-</li>
-</ul>
-<p>For most types of tasks, <code>SegmentWriteOutMediumFactory</code> can be configured per-task (see <a href="/docs/34.0.0/ingestion/tasks">Tasks</a> for more information), but if it&#x27;s not specified for a task, or it&#x27;s not supported for a particular task type, then Druid uses the value from the following configuration:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.peon.defaultSegmentWriteOutMediumFactory.type</code></td><td><code>tmpFile</code>, <code>offHeapMemory</code>, or <code>onHeapMemory</code></td><td><code>tmpFile</code></td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="indexer">Indexer<a href="#indexer" class="hash-link" aria-label="Direct link to Indexer" title="Direct link to Indexer">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="indexer-process-configuration">Indexer process configuration<a href="#indexer-process-configuration" class="hash-link" aria-label="Direct link to Indexer process configuration" title="Direct link to Indexer process configuration">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td><code>InetAddress.getLocalHost().getCanonicalHostName()</code></td></tr><tr><td><code>druid.bindOnHost</code></td [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="indexer-general-configuration">Indexer general configuration<a href="#indexer-general-configuration" class="hash-link" aria-label="Direct link to Indexer general configuration" title="Direct link to Indexer general configuration">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.worker.version</code></td><td>Version identifier for the Indexer.</td><td>0</td></tr><tr><td><code>druid.worker.capacity</code></td><td>Maximum number of tasks the Indexer can accept.</td><td>Number of available processors - 1</td></tr><tr><td><code>druid.worker.baseTaskDirs</code></td><td>List of base temporary working directories, one of which is assigned per task in a round-r [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="indexer-concurrent-requests">Indexer concurrent requests<a href="#indexer-concurrent-requests" class="hash-link" aria-label="Direct link to Indexer concurrent requests" title="Direct link to Indexer concurrent requests">​</a></h4>
-<p>Druid uses Jetty to serve HTTP requests.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.server.http.numThreads</code></td><td>Number of threads for HTTP requests. Please see the <a href="/docs/34.0.0/design/indexer#server-http-threads">Indexer Server HTTP threads</a> documentation for more details on how the Indexer uses this configuration.</td><td>max(10, (Number of cores * 17) / 16 + 2) + 30</td></tr><tr><td><code>druid.server.http.queueSize</code></td><td>Size o [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="indexer-processing-resources">Indexer processing resources<a href="#indexer-processing-resources" class="hash-link" aria-label="Direct link to Indexer processing resources" title="Direct link to Indexer processing resources">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.processing.buffer.sizeBytes</code></td><td>This specifies a buffer size (less than 2GiB) for the storage of intermediate results. The computation engine in the Indexer processes will use a scratch buffer of this size to do all of their intermediate computations off-heap. Larger values allow for more aggregations in a single pass over the data while smaller values can require mor [...]
-<p>The amount of direct memory needed by Druid is at least
-<code>druid.processing.buffer.sizeBytes * (druid.processing.numMergeBuffers + druid.processing.numThreads + 1)</code>. You can
-ensure at least this amount of direct memory is available by providing <code>-XX:MaxDirectMemorySize=&lt;VALUE&gt;</code> at the command
-line.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-configurations">Query configurations<a href="#query-configurations" class="hash-link" aria-label="Direct link to Query configurations" title="Direct link to Query configurations">​</a></h4>
-<p>See <a href="#general-query-configuration">general query configuration</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="indexer-caching">Indexer caching<a href="#indexer-caching" class="hash-link" aria-label="Direct link to Indexer caching" title="Direct link to Indexer caching">​</a></h4>
-<p>You can optionally configure caching to be enabled on the Indexer by setting caching configs here.</p>
-<table><thead><tr><th>Property</th><th>Possible Values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.realtime.cache.useCache</code></td><td>true, false</td><td>Enable the cache on the realtime.</td><td>false</td></tr><tr><td><code>druid.realtime.cache.populateCache</code></td><td>true, false</td><td>Populate the cache on the realtime.</td><td>false</td></tr><tr><td><code>druid.realtime.cache.unCacheable</code></td><td>All druid query types</td><td>All qu [...]
-<p>See <a href="#cache-configuration">cache configuration</a> for how to configure cache settings.</p>
-<p>Note that only local caches such as the <code>local</code>-type cache and <code>caffeine</code> cache are supported. If a remote cache such as <code>memcached</code> is used, it will be ignored.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="historical">Historical<a href="#historical" class="hash-link" aria-label="Direct link to Historical" title="Direct link to Historical">​</a></h3>
-<p>For general Historical service information, see <a href="/docs/34.0.0/design/historical">Historical</a>.</p>
-<p>These Historical configurations can be defined in the <code>historical/runtime.properties</code> file.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="historical-service-configuration">Historical service configuration<a href="#historical-service-configuration" class="hash-link" aria-label="Direct link to Historical service configuration" title="Direct link to Historical service configuration">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.host</code></td><td>The host for the current service. This is used to advertise the current service location as reachable from another service and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this service</td><td><code>InetAddress.getLocalHost().getCanonicalHostName()</code></td></tr><tr><td><code>druid.bindOnHost</code></td>< [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="historical-general-configuration">Historical general configuration<a href="#historical-general-configuration" class="hash-link" aria-label="Direct link to Historical general configuration" title="Direct link to Historical general configuration">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.server.maxSize</code></td><td>The maximum number of bytes-worth of segments that the service wants assigned to it. The Coordinator service will attempt to assign segments to a Historical service only if this property is greater than the total size of segments served by it. Since this property defines the upper limit on the total segment size that can be assigned to a Historical, [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="storing-segments">Storing segments<a href="#storing-segments" class="hash-link" aria-label="Direct link to Storing segments" title="Direct link to Storing segments">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.segmentCache.locations</code></td><td>Segments assigned to a Historical services are first stored on the local file system (in a disk cache) and then served by the Historical services. These locations define where that local cache resides. This value cannot be NULL or EMPTY. Here is an example <code>druid.segmentCache.locations=[{&quot;path&quot;: &quot;/mnt/druidSegments&quot;, [...]
-<p>In <code>druid.segmentCache.locations</code>, <code>freeSpacePercent</code> was added because the <code>maxSize</code> setting is only a theoretical limit and assumes that much space will always be available for storing segments. In case of any druid bug leading to unaccounted segment files left alone on disk or some other service writing stuff to disk, This check can start failing segment loading early before filling up the disk completely and leaving the host usable otherwise.</p>
-<p>In <code>druid.segmentCache.locationSelector.strategy</code>, one of <code>leastBytesUsed</code>, <code>roundRobin</code>, <code>random</code>, or <code>mostAvailableSize</code> could be specified to represent the strategy to distribute segments across multiple segment cache locations.</p>
-<table><thead><tr><th>Strategy</th><th>Description</th></tr></thead><tbody><tr><td><code>leastBytesUsed</code></td><td>Selects a location which has least bytes used in absolute terms.</td></tr><tr><td><code>roundRobin</code></td><td>Selects a location in a round robin fashion oblivious to the bytes used or the capacity.</td></tr><tr><td><code>random</code></td><td>Selects a segment cache location randomly each time among the available storage locations.</td></tr><tr><td><code>mostAvailab [...]
-<p>Note that if <code>druid.segmentCache.numLoadingThreads</code> &gt; 1, multiple threads can download different segments at the same time. In this case, with the <code>leastBytesUsed</code> strategy or <code>mostAvailableSize</code> strategy, Historicals may select a sub-optimal storage location because each decision is based on a snapshot of the storage location status of when a segment is requested to download.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="historical-query-configs">Historical query configs<a href="#historical-query-configs" class="hash-link" aria-label="Direct link to Historical query configs" title="Direct link to Historical query configs">​</a></h4>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="concurrent-requests">Concurrent requests<a href="#concurrent-requests" class="hash-link" aria-label="Direct link to Concurrent requests" title="Direct link to Concurrent requests">​</a></h5>
-<p>Druid uses Jetty to serve HTTP requests.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.server.http.numThreads</code></td><td>Number of threads for HTTP requests.</td><td>max(10, (Number of cores * 17) / 16 + 2) + 30</td></tr><tr><td><code>druid.server.http.queueSize</code></td><td>Size of the worker queue used by Jetty server to temporarily store incoming client connections. If this value is set and a request is rejected by jetty because queue is full then client  [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="processing">Processing<a href="#processing" class="hash-link" aria-label="Direct link to Processing" title="Direct link to Processing">​</a></h5>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.processing.buffer.sizeBytes</code></td><td>This specifies a buffer size (less than 2GiB), for the storage of intermediate results. The computation engine in both the Historical and Realtime processes will use a scratch buffer of this size to do all of their intermediate computations off-heap. Larger values allow for more aggregations in a single pass over the data while smaller  [...]
-<p>The amount of direct memory needed by Druid is at least
-<code>druid.processing.buffer.sizeBytes * (druid.processing.numMergeBuffers + druid.processing.numThreads + 1)</code>. You can
-ensure at least this amount of direct memory is available by providing <code>-XX:MaxDirectMemorySize=&lt;VALUE&gt;</code> at the command
-line.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="historical-query-configuration">Historical query configuration<a href="#historical-query-configuration" class="hash-link" aria-label="Direct link to Historical query configuration" title="Direct link to Historical query configuration">​</a></h5>
-<p>See <a href="#general-query-configuration">general query configuration</a>.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="historical-caching">Historical caching<a href="#historical-caching" class="hash-link" aria-label="Direct link to Historical caching" title="Direct link to Historical caching">​</a></h4>
-<p>You can optionally only configure caching to be enabled on the Historical by setting caching configs here.</p>
-<table><thead><tr><th>Property</th><th>Possible Values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.historical.cache.useCache</code></td><td>true, false</td><td>Enable the cache on the Historical.</td><td>false</td></tr><tr><td><code>druid.historical.cache.populateCache</code></td><td>true, false</td><td>Populate the cache on the Historical.</td><td>false</td></tr><tr><td><code>druid.historical.cache.unCacheable</code></td><td>All druid query types</td> [...]
-<p>See <a href="#cache-configuration">cache configuration</a> for how to configure cache settings.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="query-server">Query server<a href="#query-server" class="hash-link" aria-label="Direct link to Query server" title="Direct link to Query server">​</a></h2>
-<p>This section contains the configuration options for the services that reside on Query servers (Brokers) in the suggested <a href="/docs/34.0.0/design/architecture#druid-servers">three-server configuration</a>.</p>
-<p>Configuration options for the <a href="/docs/34.0.0/design/router">Router process</a> are also provided here.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="broker">Broker<a href="#broker" class="hash-link" aria-label="Direct link to Broker" title="Direct link to Broker">​</a></h3>
-<p>For general Broker process information, see <a href="/docs/34.0.0/design/broker">here</a>.</p>
-<p>These Broker configurations can be defined in the <code>broker/runtime.properties</code> file.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="broker-process-configs">Broker process configs<a href="#broker-process-configs" class="hash-link" aria-label="Direct link to Broker process configs" title="Direct link to Broker process configs">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td><code>InetAddress.getLocalHost().getCanonicalHostName()</code></td></tr><tr><td><code>druid.bindOnHost</code></td [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="query-configuration">Query configuration<a href="#query-configuration" class="hash-link" aria-label="Direct link to Query configuration" title="Direct link to Query configuration">​</a></h4>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="query-routing">Query routing<a href="#query-routing" class="hash-link" aria-label="Direct link to Query routing" title="Direct link to Query routing">​</a></h5>
-<table><thead><tr><th>Property</th><th>Possible Values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.broker.balancer.type</code></td><td><code>random</code>, <code>connectionCount</code></td><td>Determines how the broker balances connections to Historical processes. <code>random</code> choose randomly, <code>connectionCount</code> picks the process with the fewest number of active connections to</td><td><code>random</code></td></tr><tr><td><code>druid.br [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="query-prioritization-and-laning">Query prioritization and laning<a href="#query-prioritization-and-laning" class="hash-link" aria-label="Direct link to Query prioritization and laning" title="Direct link to Query prioritization and laning">​</a></h5>
-<p>Laning strategies allow you to control capacity utilization for heterogeneous query workloads. With laning, the broker examines and classifies a query for the purpose of assigning it to a lane. Lanes have capacity limits, enforced by the broker, that can be used to ensure sufficient resources are available for other lanes or for interactive queries (with no lane), or to limit overall throughput for queries within the lane. Requests in excess of the capacity are discarded with an HTTP  [...]
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.scheduler.numThreads</code></td><td>Maximum number of concurrently-running queries. When this parameter is set lower than <code>druid.server.http.numThreads</code>, query requests beyond the limit are put into the Jetty request queue. This has the effect of reserving the leftover Jetty threads for non-query requests.<br><br>When this parameter is set equal to or higher tha [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="prioritization-strategies">Prioritization strategies<a href="#prioritization-strategies" class="hash-link" aria-label="Direct link to Prioritization strategies" title="Direct link to Prioritization strategies">​</a></h5>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="manual-prioritization-strategy">Manual prioritization strategy<a href="#manual-prioritization-strategy" class="hash-link" aria-label="Direct link to Manual prioritization strategy" title="Direct link to Manual prioritization strategy">​</a></h6>
-<p>With this configuration, queries are never assigned a priority automatically, but will preserve a priority manually set on the <a href="/docs/34.0.0/querying/query-context">query context</a> with the <code>priority</code> key. This mode can be explicitly set by setting <code>druid.query.scheduler.prioritization.strategy</code> to <code>manual</code>.</p>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="threshold-prioritization-strategy">Threshold prioritization strategy<a href="#threshold-prioritization-strategy" class="hash-link" aria-label="Direct link to Threshold prioritization strategy" title="Direct link to Threshold prioritization strategy">​</a></h6>
-<p>This prioritization strategy lowers the priority of queries that cross any of a configurable set of thresholds, such as how far in the past the data is, how large of an interval a query covers, or the number of segments taking part in a query.</p>
-<p>This strategy can be enabled by setting <code>druid.query.scheduler.prioritization.strategy</code> to <code>threshold</code>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.scheduler.prioritization.periodThreshold</code></td><td>ISO duration threshold for how old data can be queried before automatically adjusting query priority.</td><td>none</td></tr><tr><td><code>druid.query.scheduler.prioritization.durationThreshold</code></td><td>ISO duration threshold for maximum duration a queries interval can span before the priority is automatically ad [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="laning-strategies">Laning strategies<a href="#laning-strategies" class="hash-link" aria-label="Direct link to Laning strategies" title="Direct link to Laning strategies">​</a></h5>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="no-laning-strategy">No laning strategy<a href="#no-laning-strategy" class="hash-link" aria-label="Direct link to No laning strategy" title="Direct link to No laning strategy">​</a></h6>
-<p>In this mode, queries are never assigned a lane, and the concurrent query count will only be limited by <code>druid.server.http.numThreads</code> or <code>druid.query.scheduler.numThreads</code>, if set. This is the default Druid query scheduler operating mode. Enable this strategy explicitly by setting <code>druid.query.scheduler.laning.strategy</code> to <code>none</code>.</p>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="highlow-laning-strategy">&#x27;High/Low&#x27; laning strategy<a href="#highlow-laning-strategy" class="hash-link" aria-label="Direct link to &#x27;High/Low&#x27; laning strategy" title="Direct link to &#x27;High/Low&#x27; laning strategy">​</a></h6>
-<p>This laning strategy splits queries with a <code>priority</code> below zero into a <code>low</code> query lane, automatically. Queries with priority of zero (the default) or above are considered &#x27;interactive&#x27;. The limit on <code>low</code> queries can be set to some desired percentage of the total capacity (or HTTP thread pool size), reserving capacity for interactive queries. Queries in the <code>low</code> lane are <em>not</em> guaranteed their capacity, which may be consu [...]
-<p>If the <code>low</code> lane is specified in the <a href="/docs/34.0.0/querying/query-context">query context</a> <code>lane</code> parameter, this will override the computed lane.</p>
-<p>This strategy can be enabled by setting <code>druid.query.scheduler.laning.strategy=hilo</code>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.scheduler.laning.maxLowPercent</code></td><td>Maximum percent of the smaller number of <code>druid.server.http.numThreads</code> or <code>druid.query.scheduler.numThreads</code>, defining the number of HTTP threads that can be used by queries with a priority lower than 0. Value must be an integer in the range 1 to 100, and will be rounded up</td><td>No default, must be set [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="guardrails-for-materialization-of-subqueries">Guardrails for materialization of subqueries<a href="#guardrails-for-materialization-of-subqueries" class="hash-link" aria-label="Direct link to Guardrails for materialization of subqueries" title="Direct link to Guardrails for materialization of subqueries">​</a></h5>
-<p>Druid stores the subquery rows in temporary tables that live in the Java heap. It is a good practice to avoid large subqueries in Druid.
-Therefore, there are guardrails that are built in Druid to prevent the queries from generating subquery results which can exhaust the heap
-space. They can be set on a cluster level or modified per query level as desired.
-Note the following guardrails that can be set by the cluster admin to limit the subquery results:</p>
-<ol>
-<li><code>druid.server.http.maxSubqueryRows</code> in broker&#x27;s config to set a default for the entire cluster or <code>maxSubqueryRows</code> in the query context to set an upper limit on the number of rows a subquery can generate</li>
-<li><code>druid.server.http.maxSubqueryBytes</code> in broker&#x27;s config to set a default for the entire cluster or <code>maxSubqueryBytes</code> in the query context to set an upper limit on the number of bytes a subquery can generate</li>
-</ol>
-<p>Limiting the subquery by bytes is an experimental feature as it materializes the results differently.</p>
-<p>You can configure <code>maxSubqueryBytes</code> to the following values:</p>
-<ul>
-<li><code>disabled</code>: It is the default setting out of the box. It disables the subquery&#x27;s from the byte based limit, and effectively disables this feature.</li>
-<li><code>auto</code>: Druid automatically decides the optimal byte based limit based upon the heap space available and the max number of concurrent queries.</li>
-<li>A positive long value: User can manually specify the number of bytes that the results of the subqueries of a single query can occupy on the heap.</li>
-</ul>
-<p>Due to the conversion between the Java objects and the Frame&#x27;s format, setting <code>maxSubqueryBytes</code> can become slow if the subquery starts generating
-rows in the order of magnitude of around 10 million and above. In those scenarios, disable the <code>maxSubqueryBytes</code> settings for such queries, assess the number of rows that the subqueries generate and override the <code>maxSubqueryRows</code> to appropriate value.</p>
-<p>If you choose to modify or set any of the above limits, you must also think about the heap size of all Brokers, Historicals, and task Peons that process data for the subqueries to accommodate the subquery results.
-There is no formula to calculate the correct value. Trial and error is the best approach.</p>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="manual-laning-strategy">Manual laning strategy<a href="#manual-laning-strategy" class="hash-link" aria-label="Direct link to Manual laning strategy" title="Direct link to Manual laning strategy">​</a></h6>
-<p>This laning strategy is best suited for cases where one or more external applications which query Druid are capable of manually deciding what lane a given query should belong to. Configured with a map of lane names to percent or exact max capacities, queries with a matching <code>lane</code> parameter in the <a href="/docs/34.0.0/querying/query-context">query context</a> will be subjected to those limits.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.scheduler.laning.lanes.{name}</code></td><td>Maximum percent or exact limit of queries that can concurrently run in the defined lanes. Any number of lanes may be defined like this. The lane names &#x27;total&#x27; and &#x27;default&#x27; are reserved for internal use.</td><td>No default, must define at least one lane with a limit above 0. If <code>druid.query.scheduler.lan [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="server-configuration">Server configuration<a href="#server-configuration" class="hash-link" aria-label="Direct link to Server configuration" title="Direct link to Server configuration">​</a></h5>
-<p>Druid uses Jetty to serve HTTP requests. Each query being processed consumes a single thread from <code>druid.server.http.numThreads</code>, so consider defining <code>druid.query.scheduler.numThreads</code> to a lower value in order to reserve HTTP threads for responding to health checks, lookup loading, and other non-query, (in most cases) comparatively very short-lived, HTTP requests.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.server.http.numThreads</code></td><td>Number of threads for HTTP requests.</td><td>max(10, (Number of cores * 17) / 16 + 2) + 30</td></tr><tr><td><code>druid.server.http.queueSize</code></td><td>Size of the worker queue used by Jetty server to temporarily store incoming client connections. If this value is set and a request is rejected by jetty because queue is full then client  [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="client-configuration">Client configuration<a href="#client-configuration" class="hash-link" aria-label="Direct link to Client configuration" title="Direct link to Client configuration">​</a></h5>
-<p>Druid Brokers use an HTTP client to communicate with data servers (Historical servers and real-time tasks). This
-client has the following configuration options.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.broker.http.numConnections</code></td><td>Size of connection pool for the Broker to connect to Historical and real-time processes. If there are more queries than this number that all need to speak to the same process, then they will queue up.</td><td>20</td></tr><tr><td><code>druid.broker.http.eagerInitialization</code></td><td>Indicates that http connections from Broker to Hist [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="retry-policy">Retry policy<a href="#retry-policy" class="hash-link" aria-label="Direct link to Retry policy" title="Direct link to Retry policy">​</a></h5>
-<p>Druid broker can optionally retry queries internally for transient errors.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.broker.retryPolicy.numTries</code></td><td>Number of tries.</td><td>1</td></tr></tbody></table>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="processing-1">Processing<a href="#processing-1" class="hash-link" aria-label="Direct link to Processing" title="Direct link to Processing">​</a></h5>
-<p>The broker uses processing configs for nested groupBy queries.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.processing.buffer.sizeBytes</code></td><td>This specifies a buffer size (less than 2GiB) for the storage of intermediate results. The computation engine in both the Historical and Realtime processes will use a scratch buffer of this size to do all of their intermediate computations off-heap. Larger values allow for more aggregations in a single pass over the data while smaller v [...]
-<p>The amount of direct memory needed by Druid is at least
-<code>druid.processing.buffer.sizeBytes * (druid.processing.numMergeBuffers + 1)</code>. You can
-ensure at least this amount of direct memory is available by providing <code>-XX:MaxDirectMemorySize=&lt;VALUE&gt;</code> at the command
-line.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="broker-query-configuration">Broker query configuration<a href="#broker-query-configuration" class="hash-link" aria-label="Direct link to Broker query configuration" title="Direct link to Broker query configuration">​</a></h5>
-<p>See <a href="#general-query-configuration">general query configuration</a>.</p>
-<h6 class="anchor anchorWithStickyNavbar_LWe7" id="broker-generated-query-configuration-supplementation">Broker generated query configuration supplementation<a href="#broker-generated-query-configuration-supplementation" class="hash-link" aria-label="Direct link to Broker generated query configuration supplementation" title="Direct link to Broker generated query configuration supplementation">​</a></h6>
-<p>The Broker generates queries internally. This configuration section describes how an operator can augment the configuration
-of these queries.</p>
-<p>As of now the only supported augmentation is overriding the default query context. This allows an operator the flexibility
-to adjust it as they see fit. A common use of this configuration is to override the query priority of the cluster generated
-queries in order to avoid running as a default priority of 0.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.broker.internal.query.config.context</code></td><td>A string formatted <code>key:value</code> map of a query context to add to internally generated broker queries.</td><td>null</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sql">SQL<a href="#sql" class="hash-link" aria-label="Direct link to SQL" title="Direct link to SQL">​</a></h4>
-<p>The Druid SQL server is configured through the following properties on the Broker.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.sql.enable</code></td><td>Whether to enable SQL at all, including background metadata fetching. If false, this overrides all other SQL-related properties and disables SQL metadata, serving, and planning completely.</td><td>true</td></tr><tr><td><code>druid.sql.avatica.enable</code></td><td>Whether to enable JDBC querying at <code>/druid/v2/sql/avatica/</code>.</td><td>true</td>< [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Previous versions of Druid had pr [...]
-These properties are no longer available. Since Druid 0.18.0, you can use <code>druid.server.http.maxSubqueryRows</code> to control the maximum
-number of rows permitted across all subqueries.</p></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="broker-caching">Broker caching<a href="#broker-caching" class="hash-link" aria-label="Direct link to Broker caching" title="Direct link to Broker caching">​</a></h4>
-<p>You can optionally only configure caching to be enabled on the Broker by setting caching configs here.</p>
-<table><thead><tr><th>Property</th><th>Possible Values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.broker.cache.useCache</code></td><td>true, false</td><td>Enable the cache on the Broker.</td><td>false</td></tr><tr><td><code>druid.broker.cache.populateCache</code></td><td>true, false</td><td>Populate the cache on the Broker.</td><td>false</td></tr><tr><td><code>druid.broker.cache.useResultLevelCache</code></td><td>true, false</td><td>Enable result leve [...]
-<p>See <a href="#cache-configuration">cache configuration</a> for how to configure cache settings.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Note: Even if cache is enabled, f [...]
-See <a href="/docs/34.0.0/querying/caching">Query caching</a> for more information.</p></div></div>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="segment-discovery">Segment discovery<a href="#segment-discovery" class="hash-link" aria-label="Direct link to Segment discovery" title="Direct link to Segment discovery">​</a></h4>
-<table><thead><tr><th>Property</th><th>Possible Values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.serverview.type</code></td><td>batch or http</td><td>Segment discovery method to use. &quot;http&quot; enables discovering segments using HTTP instead of ZooKeeper.</td><td>http</td></tr><tr><td><code>druid.broker.segment.watchedTiers</code></td><td>List of strings</td><td>The Broker watches segment announcements from processes that serve segments to buil [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metrics-monitors">Metrics monitors<a href="#metrics-monitors" class="hash-link" aria-label="Direct link to Metrics monitors" title="Direct link to Metrics monitors">​</a></h2>
-<p>You can configure Druid services to emit <a href="/docs/34.0.0/operations/metrics">metrics</a> regularly from a number of <a href="#metrics-monitors-for-each-service">monitors</a> via <a href="#metrics-emitters">emitters</a>. The following table lists general configurations for metrics:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.monitoring.emissionPeriod</code></td><td>Frequency that Druid emits metrics.</td><td><code>PT1M</code></td></tr><tr><td><a href="#metrics-monitors-for-each-service"><code>druid.monitoring.monitors</code></a></td><td>Sets list of Druid monitors used by a service.</td><td>none (no monitors)</td></tr><tr><td><a href="#metrics-emitters"><code>druid.emitter</code></a></td><td>Setting [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="metrics-monitors-for-each-service">Metrics monitors for each service<a href="#metrics-monitors-for-each-service" class="hash-link" aria-label="Direct link to Metrics monitors for each service" title="Direct link to Metrics monitors for each service">​</a></h3>
-<p>Metric monitoring is an essential part of Druid operations. Druid includes</p>
-<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
-<p>The following table lists the monitors that are available and the services you could configure the monitor for:</p>
-<table><thead><tr><th>Name</th><th>Description</th><th>Service</th></tr></thead><tbody><tr><td><code>org.apache.druid.client.cache.CacheMonitor</code></td><td>Emits metrics (to logs) about the segment results cache for Historical and Broker services. Reports typical cache statistics include hits, misses, rates, and size (bytes and number of entries), as well as timeouts and and errors.</td><td>Broker, Historical, Indexer, Peon</td></tr><tr><td><code>org.apache.druid.java.util.metrics.Osh [...]
-<p>For example, if you only wanted monitors on all services for system and JVM information, you&#x27;d add the following to <code>common.runtime.properties</code>:</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.monitoring.monitors=[&quot;org.apache.druid.java.util.metrics.OshiSysMoni [...]
-<p>All the services in your Druid deployment would have these two monitors.</p>
-<p>If you want any service specific monitors though, you need to add all the monitors you want to run for that service to the service&#x27;s <code>runtime.properties</code> file even if they are listed in the common file. The service specific properties take precedence.</p>
-<p>The following example adds the <code>TaskCountStatsMonitor</code> and <code>TaskSlotCountStatsMonitor</code> as well as the <code>OshiSysMonitor</code> and <code>JvmMonitor</code> from the previous example to the Overlord service (<code>coordinator-overlord/runtime.properties</code>):</p>
-<div class="language-properties codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-properties codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.monitoring.monitors=[&quot;org.apache.druid.server.metrics.TaskCountStats [...]
-<p>If you don&#x27;t include <code>OshiSysMonitor</code> and <code>JvmMonitor</code> in the Overlord&#x27;s <code>runtime.properties</code> file, the monitors don&#x27;t get loaded onto the Overlord despite being specified in the common file.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="metrics-emitters">Metrics emitters<a href="#metrics-emitters" class="hash-link" aria-label="Direct link to Metrics emitters" title="Direct link to Metrics emitters">​</a></h3>
-<p>There are several emitters available:</p>
-<ul>
-<li><code>noop</code> (default) disables metric emission.</li>
-<li><a href="#logging-emitter-module"><code>logging</code></a> emits logs using Log4j2.</li>
-<li><a href="#http-emitter-module"><code>http</code></a> sends <code>POST</code> requests of JSON events.</li>
-<li><a href="#parametrized-http-emitter-module"><code>parametrized</code></a> operates like the <code>http</code> emitter but fine-tunes the recipient URL based on the event feed.</li>
-<li><a href="#composing-emitter-module"><code>composing</code></a> initializes multiple emitter modules.</li>
-<li><a href="#graphite-emitter"><code>graphite</code></a> emits metrics to a <a href="https://graphiteapp.org/" target="_blank" rel="noopener noreferrer">Graphite</a> Carbon service.</li>
-<li><a href="#switching-emitter"><code>switching</code></a> initializes and emits to multiple emitter modules based on the event feed.</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="logging-emitter-module">Logging emitter module<a href="#logging-emitter-module" class="hash-link" aria-label="Direct link to Logging emitter module" title="Direct link to Logging emitter module">​</a></h4>
-<p>The use this emitter module, set <code>druid.emitter=logging</code>. The <code>logging</code> emitter uses a Log4j2 logger named
-<code>druid.emitter.logging.loggerClass</code> to emit events. Each event is logged as a single <code>json</code> object with a
-<a href="https://logging.apache.org/log4j/2.x/manual/markers.html" target="_blank" rel="noopener noreferrer">Marker</a> as the feed of the event. Users may wish to edit the
-log4j config to route these logs to different sources based on the feed of the event.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.emitter.logging.loggerClass</code></td><td>The class used for logging.</td><td><code>org.apache.druid.java.util.emitter.core.LoggingEmitter</code></td></tr><tr><td><code>druid.emitter.logging.logLevel</code></td><td>Choices: debug, info, warn, error. The log level at which message are logged.</td><td>info</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="http-emitter-module">HTTP emitter module<a href="#http-emitter-module" class="hash-link" aria-label="Direct link to HTTP emitter module" title="Direct link to HTTP emitter module">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.emitter.http.flushMillis</code></td><td>How often the internal message buffer is flushed (data is sent).</td><td>60000</td></tr><tr><td><code>druid.emitter.http.flushCount</code></td><td>How many messages the internal message buffer can hold before flushing (sending).</td><td>500</td></tr><tr><td><code>druid.emitter.http.basicAuthentication</code></td><td><a href="/docs/34.0.0/o [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="http-emitter-module-tls-overrides">HTTP emitter module TLS overrides<a href="#http-emitter-module-tls-overrides" class="hash-link" aria-label="Direct link to HTTP emitter module TLS overrides" title="Direct link to HTTP emitter module TLS overrides">​</a></h4>
-<p>By default, when sending events to a TLS-enabled receiver, the HTTP Emitter uses an SSLContext obtained from the service described at <a href="/docs/34.0.0/operations/tls-support">Druid&#x27;s internal communication over TLS</a>, that is the same SSLContext that would be used for internal communications between Druid services.</p>
-<p>In some use cases it may be desirable to have the HTTP Emitter use its own separate truststore configuration. For example, there may be organizational policies that prevent the TLS-enabled metrics receiver&#x27;s certificate from being added to the same truststore used by Druid&#x27;s internal HTTP client.</p>
-<p>The following properties allow the HTTP Emitter to use its own truststore configuration when building its SSLContext.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.emitter.http.ssl.useDefaultJavaContext</code></td><td>If set to true, the HttpEmitter will use <code>SSLContext.getDefault()</code>, the default Java SSLContext, and all other properties below are ignored.</td><td>false</td></tr><tr><td><code>druid.emitter.http.ssl.trustStorePath</code></td><td>The file path or URL of the TLS/SSL Key store where trusted root certificates are sto [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="parametrized-http-emitter-module">Parametrized HTTP emitter module<a href="#parametrized-http-emitter-module" class="hash-link" aria-label="Direct link to Parametrized HTTP emitter module" title="Direct link to Parametrized HTTP emitter module">​</a></h4>
-<p>The parametrized emitter takes the same configs as the <a href="#http-emitter-module"><code>http</code> emitter</a> using the prefix <code>druid.emitter.parametrized.httpEmitting.</code>.
-For example:</p>
-<ul>
-<li><code>druid.emitter.parametrized.httpEmitting.flushMillis</code></li>
-<li><code>druid.emitter.parametrized.httpEmitting.flushCount</code></li>
-<li><code>druid.emitter.parametrized.httpEmitting.ssl.trustStorePath</code></li>
-</ul>
-<p>Do not specify <code>recipientBaseUrl</code> with the parametrized emitter.
-Instead use <code>recipientBaseUrlPattern</code> described in the table below.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.emitter.parametrized.recipientBaseUrlPattern</code></td><td>The URL pattern to send an event to, based on the event&#x27;s feed. For example, <code>http://foo.bar/{feed}</code>, that will send event to <code>http://foo.bar/metrics</code> if the event&#x27;s feed is &quot;metrics&quot;.</td><td>none, required config</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="composing-emitter-module">Composing emitter module<a href="#composing-emitter-module" class="hash-link" aria-label="Direct link to Composing emitter module" title="Direct link to Composing emitter module">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.emitter.composing.emitters</code></td><td>List of emitter modules to load, such as [&quot;logging&quot;,&quot;http&quot;].</td><td>[]</td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="graphite-emitter">Graphite emitter<a href="#graphite-emitter" class="hash-link" aria-label="Direct link to Graphite emitter" title="Direct link to Graphite emitter">​</a></h4>
-<p>To use graphite as emitter set <code>druid.emitter=graphite</code>. For configuration details, see <a href="/docs/34.0.0/development/extensions-contrib/graphite">Graphite emitter</a> for the Graphite emitter Druid extension.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="switching-emitter">Switching emitter<a href="#switching-emitter" class="hash-link" aria-label="Direct link to Switching emitter" title="Direct link to Switching emitter">​</a></h4>
-<p>To use switching as emitter set <code>druid.emitter=switching</code>.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.emitter.switching.emitters</code></td><td>JSON map of feed to list of emitter modules that will be used for the mapped feed, such as <code>{&quot;metrics&quot;:[&quot;http&quot;], &quot;alerts&quot;:[&quot;logging&quot;]}</code></td><td></td></tr><tr><td><code>druid.emitter.switching.defaultEmitters</code></td><td>JSON list of emitter modules to load that will be used if there i [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cache-configuration">Cache configuration<a href="#cache-configuration" class="hash-link" aria-label="Direct link to Cache configuration" title="Direct link to Cache configuration">​</a></h2>
-<p>This section describes caching configuration that is common to Broker, Historical, and Middle Manager/Peon processes.</p>
-<p>Caching could optionally be enabled on the Broker, Historical, and Middle Manager/Peon processes. See
-<a href="#broker-caching">Broker</a>, <a href="#historical-caching">Historical</a>, and <a href="#peon-caching">Peon</a> configuration options for how to
-enable it for different processes.</p>
-<p>Druid uses a local in-memory cache by default, unless a different type of cache is specified.
-Use the <code>druid.cache.type</code> configuration to set a different kind of cache.</p>
-<p>Cache settings are set globally, so the same configuration can be re-used
-for both Broker and Historical processes, when defined in the common properties file.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="cache-type">Cache type<a href="#cache-type" class="hash-link" aria-label="Direct link to Cache type" title="Direct link to Cache type">​</a></h3>
-<table><thead><tr><th>Property</th><th>Possible Values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.cache.type</code></td><td><code>local</code>, <code>memcached</code>, <code>hybrid</code>, <code>caffeine</code></td><td>The type of cache to use for queries. See below of the configuration options for each cache type</td><td><code>caffeine</code></td></tr></tbody></table>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="local-cache">Local cache<a href="#local-cache" class="hash-link" aria-label="Direct link to Local cache" title="Direct link to Local cache">​</a></h4>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>DEPRECATED: Use caffeine (default [...]
-<p>The local cache is deprecated in favor of the Caffeine cache, and may be removed in a future version of Druid. The Caffeine cache affords significantly better performance and control over eviction behavior compared to <code>local</code> cache, and is recommended in any situation where you are using JRE 8u60 or higher.</p>
-<p>A simple in-memory LRU cache. Local cache resides in JVM heap memory, so if you enable it, make sure you increase heap size accordingly.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.cache.sizeInBytes</code></td><td>Maximum cache size in bytes. Zero disables caching.</td><td>0</td></tr><tr><td><code>druid.cache.initialSize</code></td><td>Initial size of the hash table backing the cache.</td><td>500000</td></tr><tr><td><code>druid.cache.logEvictionCount</code></td><td>If non-zero, log cache eviction every <code>logEvictionCount</code> items.</td><td>0</td></t [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="caffeine-cache">Caffeine cache<a href="#caffeine-cache" class="hash-link" aria-label="Direct link to Caffeine cache" title="Direct link to Caffeine cache">​</a></h4>
-<p>A highly performant local cache implementation for Druid based on <a href="https://github.com/ben-manes/caffeine" target="_blank" rel="noopener noreferrer">Caffeine</a>. Requires a JRE8u60 or higher if using <code>COMMON_FJP</code>.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h5>
-<p>The following table shows the configuration options known to this module:</p>
-<table><thead><tr><th><code>runtime.properties</code></th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.cache.type</code></td><td>Set this to <code>caffeine</code> or leave out parameter</td><td><code>caffeine</code></td></tr><tr><td><code>druid.cache.sizeInBytes</code></td><td>The maximum size of the cache in bytes on heap. It can be configured as described in <a href="/docs/34.0.0/configuration/human-readable-byte">here</a>.</td><td>min(1GiB, Runtime.maxMe [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="druidcachecacheexecutorfactory"><code>druid.cache.cacheExecutorFactory</code><a href="#druidcachecacheexecutorfactory" class="hash-link" aria-label="Direct link to druidcachecacheexecutorfactory" title="Direct link to druidcachecacheexecutorfactory">​</a></h5>
-<p>The following are the possible values for <code>druid.cache.cacheExecutorFactory</code>, which controls how maintenance tasks are run:</p>
-<ul>
-<li><code>COMMON_FJP</code> (default) use the common ForkJoinPool. Should use with <a href="https://github.com/apache/druid/pull/4810#issuecomment-329922810" target="_blank" rel="noopener noreferrer">JRE 8u60 or higher</a>. Older versions of the JRE may have worse performance than newer JRE versions.</li>
-<li><code>SINGLE_THREAD</code> Use a single-threaded executor.</li>
-<li><code>SAME_THREAD</code> Cache maintenance is done eagerly.</li>
-</ul>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="metrics">Metrics<a href="#metrics" class="hash-link" aria-label="Direct link to Metrics" title="Direct link to Metrics">​</a></h5>
-<p>In addition to the normal cache metrics, the caffeine cache implementation also reports the following in both <code>total</code> and <code>delta</code>:</p>
-<table><thead><tr><th>Metric</th><th>Description</th><th>Normal value</th></tr></thead><tbody><tr><td><code>query/cache/caffeine/*/requests</code></td><td>Count of hits or misses.</td><td>hit + miss</td></tr><tr><td><code>query/cache/caffeine/*/loadTime</code></td><td>Length of time caffeine spends loading new values (unused feature).</td><td>0</td></tr><tr><td><code>query/cache/caffeine/*/evictionBytes</code></td><td>Size in bytes that have been evicted from the cache</td><td>Varies, sh [...]
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="memcached">Memcached<a href="#memcached" class="hash-link" aria-label="Direct link to Memcached" title="Direct link to Memcached">​</a></h5>
-<p>Uses memcached as cache backend. This allows all processes to share the same cache.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.cache.expiration</code></td><td>Memcached <a href="https://code.google.com/p/memcached/wiki/NewCommands#Standard_Protocol" target="_blank" rel="noopener noreferrer">expiration time</a>.</td><td>2592000 (30 days)</td></tr><tr><td><code>druid.cache.timeout</code></td><td>Maximum time in milliseconds to wait for a response from Memcached.</td><td>500</td></tr><tr><td><code>druid.ca [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="hybrid">Hybrid<a href="#hybrid" class="hash-link" aria-label="Direct link to Hybrid" title="Direct link to Hybrid">​</a></h4>
-<p>Uses a combination of any two caches as a two-level L1 / L2 cache.
-This may be used to combine a local in-memory cache with a remote memcached cache.</p>
-<p>Cache requests will first check L1 cache before checking L2.
-If there is an L1 miss and L2 hit, it will also populate L1.</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.cache.l1.type</code></td><td>The type of cache to use for L1 cache. See <code>druid.cache.type</code> configuration for valid types.</td><td><code>caffeine</code></td></tr><tr><td><code>druid.cache.l2.type</code></td><td>The type of cache to use for L2 cache. See <code>druid.cache.type</code> configuration for valid types.</td><td><code>caffeine</code></td></tr><tr><td><code>dru [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="general-query-configuration">General query configuration<a href="#general-query-configuration" class="hash-link" aria-label="Direct link to General query configuration" title="Direct link to General query configuration">​</a></h2>
-<p>This section describes configurations that control behavior of Druid&#x27;s query types, applicable to Broker, Historical, and Middle Manager processes.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="overriding-default-query-context-values">Overriding default query context values<a href="#overriding-default-query-context-values" class="hash-link" aria-label="Direct link to Overriding default query context values" title="Direct link to Overriding default query context values">​</a></h3>
-<p>You can override any <a href="/docs/34.0.0/querying/query-context#general-parameters">query context general parameter</a> default value by setting the runtime property in the format of <code>druid.query.default.context.{query_context_key}</code>.
-The <code>druid.query.default.context.{query_context_key}</code> runtime property prefix applies to all current and future query context keys, the same as how query context parameter passed with the query works. You can override the runtime property value if the value for the same key is specified in the query contexts.</p>
-<p>The precedence chain for query context values is as follows:</p>
-<p>hard-coded default value in Druid code <code>&lt;-</code> runtime property not prefixed with <code>druid.query.default.context</code>
-<code>&lt;-</code> runtime property prefixed with <code>druid.query.default.context</code> <code>&lt;-</code> context parameter in the query</p>
-<p>Note that not all query context key has a runtime property not prefixed with <code>druid.query.default.context</code> that can
-override the hard-coded default value. For example, <code>maxQueuedBytes</code> has <code>druid.broker.http.maxQueuedBytes</code>
-but <code>joinFilterRewriteMaxSize</code> does not. Hence, the only way of overriding <code>joinFilterRewriteMaxSize</code> hard-coded default
-value is with runtime property <code>druid.query.default.context.joinFilterRewriteMaxSize</code>.</p>
-<p>To further elaborate on the previous example:</p>
-<p>If neither <code>druid.broker.http.maxQueuedBytes</code> or <code>druid.query.default.context.maxQueuedBytes</code> is set and
-the query does not have <code>maxQueuedBytes</code> in the context, then the hard-coded value in Druid code is use.
-If runtime property only contains <code>druid.broker.http.maxQueuedBytes=x</code> and query does not have <code>maxQueuedBytes</code> in the
-context, then the value of the property, <code>x</code>, is use. However, if query does have <code>maxQueuedBytes</code> in the context,
-then that value is use instead.
-If runtime property only contains <code>druid.query.default.context.maxQueuedBytes=y</code> OR runtime property contains both
-<code>druid.broker.http.maxQueuedBytes=x</code> and <code>druid.query.default.context.maxQueuedBytes=y</code>, then the value of
-<code>druid.query.default.context.maxQueuedBytes</code>, <code>y</code>, is use (given that query does not have <code>maxQueuedBytes</code> in the
-context). If query does have <code>maxQueuedBytes</code> in the context, then that value is use instead.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="topn-query-config">TopN query config<a href="#topn-query-config" class="hash-link" aria-label="Direct link to TopN query config" title="Direct link to TopN query config">​</a></h3>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.topN.minTopNThreshold</code></td><td>See <a href="/docs/34.0.0/querying/topnquery#aliasing">TopN Aliasing</a> for details.</td><td>1000</td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="search-query-config">Search query config<a href="#search-query-config" class="hash-link" aria-label="Direct link to Search query config" title="Direct link to Search query config">​</a></h3>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.search.maxSearchLimit</code></td><td>Maximum number of search results to return.</td><td>1000</td></tr><tr><td><code>druid.query.search.searchStrategy</code></td><td>Default search query strategy.</td><td><code>useIndexes</code></td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="segmentmetadata-query-config">SegmentMetadata query config<a href="#segmentmetadata-query-config" class="hash-link" aria-label="Direct link to SegmentMetadata query config" title="Direct link to SegmentMetadata query config">​</a></h3>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.segmentMetadata.defaultHistory</code></td><td>When no interval is specified in the query, use a default interval of defaultHistory before the end time of the most recent segment, specified in ISO8601 format. This property also controls the duration of the default interval used by <code>GET</code> <code>/druid/v2/datasources/{dataSourceName}</code> interactions for retrievi [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="groupby-query-config">GroupBy query config<a href="#groupby-query-config" class="hash-link" aria-label="Direct link to GroupBy query config" title="Direct link to GroupBy query config">​</a></h3>
-<p>This section describes the configurations for groupBy queries. You can set the runtime properties in the <code>runtime.properties</code> file on Broker, Historical, and Middle Manager processes. You can set the query context parameters through the <a href="/docs/34.0.0/querying/query-context">query context</a>.</p>
-<p>Supported runtime properties:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.groupBy.maxSelectorDictionarySize</code></td><td>Maximum amount of heap space (approximately) to use for per-segment string dictionaries. See <a href="/docs/34.0.0/querying/groupbyquery#memory-tuning-and-resource-limits">groupBy memory tuning and resource limits</a> for details.</td><td>100000000</td></tr><tr><td><code>druid.query.groupBy.maxMergingDictionarySize</code></t [...]
-<p>Supported query contexts:</p>
-<table><thead><tr><th>Key</th><th>Description</th></tr></thead><tbody><tr><td><code>maxSelectorDictionarySize</code></td><td>Can be used to lower the value of <code>druid.query.groupBy.maxMergingDictionarySize</code> for this query.</td></tr><tr><td><code>maxMergingDictionarySize</code></td><td>Can be used to lower the value of <code>druid.query.groupBy.maxMergingDictionarySize</code> for this query.</td></tr><tr><td><code>maxOnDiskStorage</code></td><td>Can be used to set <code>maxOnDis [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="advanced-configurations">Advanced configurations<a href="#advanced-configurations" class="hash-link" aria-label="Direct link to Advanced configurations" title="Direct link to Advanced configurations">​</a></h3>
-<p>Supported runtime properties:</p>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.query.groupBy.singleThreaded</code></td><td>Merge results using a single thread.</td><td>false</td></tr><tr><td><code>druid.query.groupBy.bufferGrouperInitialBuckets</code></td><td>Initial number of buckets in the off-heap hash table used for grouping results. Set to 0 to use a reasonable default (1024).</td><td>0</td></tr><tr><td><code>druid.query.groupBy.bufferGrouperMaxLoadFa [...]
-<p>Supported query contexts:</p>
-<table><thead><tr><th>Key</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>groupByIsSingleThreaded</code></td><td>Overrides the value of <code>druid.query.groupBy.singleThreaded</code> for this query.</td><td></td></tr><tr><td><code>bufferGrouperInitialBuckets</code></td><td>Overrides the value of <code>druid.query.groupBy.bufferGrouperInitialBuckets</code> for this query.</td><td>none</td></tr><tr><td><code>bufferGrouperMaxLoadFactor</code></td><td>Overrides the [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="router">Router<a href="#router" class="hash-link" aria-label="Direct link to Router" title="Direct link to Router">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="router-process-configs">Router process configs<a href="#router-process-configs" class="hash-link" aria-label="Direct link to Router process configs" title="Direct link to Router process configs">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td><code>InetAddress.getLocalHost().getCanonicalHostName()</code></td></tr><tr><td><code>druid.bindOnHost</code></td [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="runtime-configuration">Runtime configuration<a href="#runtime-configuration" class="hash-link" aria-label="Direct link to Runtime configuration" title="Direct link to Runtime configuration">​</a></h4>
-<table><thead><tr><th>Property</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.router.defaultBrokerServiceName</code></td><td>The default Broker to connect to in case service discovery fails.</td><td><code>druid/broker</code></td></tr><tr><td><code>druid.router.tierToBrokerMap</code></td><td>Queries for a certain tier of data are routed to their appropriate Broker. This value should be an ordered JSON map of tiers to Broker names. The priority of Brokers i [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/indexing-service.html/index.html b/docs/34.0.0/configuration/indexing-service.html/index.html
deleted file mode 100644
index 11ffc13b9..000000000
--- a/docs/34.0.0/configuration/indexing-service.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/">
-    <link rel="canonical" href="/docs/34.0.0/configuration/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/logging.html/index.html b/docs/34.0.0/configuration/logging.html/index.html
deleted file mode 100644
index 58ee34464..000000000
--- a/docs/34.0.0/configuration/logging.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/configuration/logging">
-    <link rel="canonical" href="/docs/34.0.0/configuration/logging" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/configuration/logging' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/logging/index.html b/docs/34.0.0/configuration/logging/index.html
deleted file mode 100644
index d8a7c1548..000000000
--- a/docs/34.0.0/configuration/logging/index.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-configuration/logging" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Logging | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/configuratio [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-The same services also emit periodic <a href="/docs/34.0.0/configuration/#metrics-monitors">metrics</a> about their state.
-To disable metric info logs set the following runtime property: <code>-Ddruid.emitter.logging.logLevel=debug</code>.</p>
-<p>Druid uses <a href="http://logging.apache.org/log4j/2.x/" target="_blank" rel="noopener noreferrer">log4j2</a> for logging.
-The default configuration file log4j2.xml ships with Druid at the following path: <code>conf/druid/{config}/_common/log4j2.xml</code>.</p>
-<p>By default, Druid uses <code>RollingRandomAccessFile</code> for rollover daily, and keeps log files up to 7 days.
-If that&#x27;s not suitable in your case, modify the <code>log4j2.xml</code> accordingly.</p>
-<p>The following example log4j2.xml is based upon the micro quickstart:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;</span><br></span><span class="token-lin [...]
-<p>Peons always output logs to standard output. Middle Managers redirect task logs from standard output to
-<a href="/docs/34.0.0/configuration/#log-long-term-storage">long-term storage</a>.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Druid shares the log4j configurat [...]
-However, you must define a console appender in the logger for your peon processes.
-If you don&#x27;t define a console appender, Druid creates and configures a new console appender
-that retains the log level, such as <code>info</code> or <code>warn</code>, but does not retain any other appender
-configuration, including non-console ones.</p></div></div>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="log-directory">Log directory<a href="#log-directory" class="hash-link" aria-label="Direct link to Log directory" title="Direct link to Log directory">​</a></h2>
-<p>The included log4j2.xml configuration for Druid and ZooKeeper writes logs to the <code>log</code> directory at the root of the distribution.</p>
-<p>If you want to change the log directory, set the environment variable <code>DRUID_LOG_DIR</code> to the right directory before you start Druid.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="all-in-one-start-commands">All-in-one start commands<a href="#all-in-one-start-commands" class="hash-link" aria-label="Direct link to All-in-one start commands" title="Direct link to All-in-one start commands">​</a></h2>
-<p>If you use one of the all-in-one start commands, such as <code>bin/start-micro-quickstart</code>, the default configuration for each service has two kinds of log files.
-Log4j2 writes the main log file and rotates it periodically.
-For example, <code>log/historical.log</code>.</p>
-<p>The secondary log file contains anything that is written by the component
-directly to standard output or standard error without going through log4j2.
-For example, <code>log/historical.stdout.log</code>.
-This consists mainly of messages from the
-Java runtime itself.
-This file is not rotated, but it is generally small due to the low volume of messages.
-If necessary, you can truncate it using the Linux command <code>truncate --size 0 log/historical.stdout.log</code>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="set-the-logs-to-asynchronously-write">Set the logs to asynchronously write<a href="#set-the-logs-to-asynchronously-write" class="hash-link" aria-label="Direct link to Set the logs to asynchronously write" title="Direct link to Set the logs to asynchronously write">​</a></h2>
-<p>If your logs are really chatty, you can set them to write asynchronously.
-The following example shows a <code>log4j2.xml</code> that configures some of the more chatty classes to write asynchronously:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;</span><br></span><span class="token-lin [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/production-cluster.html/index.html b/docs/34.0.0/configuration/production-cluster.html/index.html
deleted file mode 100644
index 3c3004504..000000000
--- a/docs/34.0.0/configuration/production-cluster.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/tutorials/cluster">
-    <link rel="canonical" href="/docs/34.0.0/tutorials/cluster" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/tutorials/cluster' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/realtime.html/index.html b/docs/34.0.0/configuration/realtime.html/index.html
deleted file mode 100644
index 4493d4063..000000000
--- a/docs/34.0.0/configuration/realtime.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/ingestion/standalone-realtime">
-    <link rel="canonical" href="/docs/34.0.0/ingestion/standalone-realtime" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/ingestion/standalone-realtime' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/simple-cluster.html/index.html b/docs/34.0.0/configuration/simple-cluster.html/index.html
deleted file mode 100644
index 3c3004504..000000000
--- a/docs/34.0.0/configuration/simple-cluster.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/tutorials/cluster">
-    <link rel="canonical" href="/docs/34.0.0/tutorials/cluster" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/tutorials/cluster' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/configuration/zookeeper.html/index.html b/docs/34.0.0/configuration/zookeeper.html/index.html
deleted file mode 100644
index fd182f846..000000000
--- a/docs/34.0.0/configuration/zookeeper.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/zookeeper">
-    <link rel="canonical" href="/docs/34.0.0/design/zookeeper" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/zookeeper' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management.html/index.html b/docs/34.0.0/data-management.html/index.html
deleted file mode 100644
index b19ac918f..000000000
--- a/docs/34.0.0/data-management.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/data-management/">
-    <link rel="canonical" href="/docs/34.0.0/data-management/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/data-management/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/automatic-compaction.html/index.html b/docs/34.0.0/data-management/automatic-compaction.html/index.html
deleted file mode 100644
index 20a90d7cf..000000000
--- a/docs/34.0.0/data-management/automatic-compaction.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/data-management/automatic-compaction">
-    <link rel="canonical" href="/docs/34.0.0/data-management/automatic-compaction" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/data-management/automatic-compaction' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/automatic-compaction/index.html b/docs/34.0.0/data-management/automatic-compaction/index.html
deleted file mode 100644
index 74f0982a2..000000000
--- a/docs/34.0.0/data-management/automatic-compaction/index.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-management/automatic-compaction" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Automatic compaction | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0 [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Auto-compaction skips datasources [...]
-<p>As a best practice, you should set up auto-compaction for all Druid datasources. You can run compaction tasks manually for cases where you want to allocate more system resources. For example, you may choose to run multiple compaction tasks in parallel to compact an existing datasource for the first time. See <a href="/docs/34.0.0/data-management/compaction">Compaction</a> for additional details and use cases.</p>
-<p>This topic guides you through setting up automatic compaction for your Druid cluster. See the <a href="#examples">examples</a> for common use cases for automatic compaction.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="auto-compaction-syntax">Auto-compaction syntax<a href="#auto-compaction-syntax" class="hash-link" aria-label="Direct link to Auto-compaction syntax" title="Direct link to Auto-compaction syntax">​</a></h2>
-<p>You can configure automatic compaction dynamically without restarting Druid.
-The automatic compaction system uses the following syntax:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Experimental</div><div class="admonitionContent_BuS1"><p>The MSQ task engine is av [...]
-<p>For automatic compaction using Coordinator duties, you submit the spec to the <a href="#manage-auto-compaction-using-the-web-console">Compaction config UI</a> or the <a href="#manage-auto-compaction-using-coordinator-apis">Compaction configuration API</a>.</p>
-<p>Most fields in the auto-compaction configuration correlate to a typical <a href="/docs/34.0.0/ingestion/ingestion-spec">Druid ingestion spec</a>.
-The following properties only apply to auto-compaction:</p>
-<ul>
-<li><code>skipOffsetFromLatest</code></li>
-<li><code>taskPriority</code></li>
-<li><code>taskContext</code></li>
-</ul>
-<p>Since the automatic compaction system provides a management layer on top of manual compaction tasks,
-the auto-compaction configuration does not include task-specific properties found in a typical Druid ingestion spec.
-The following properties are automatically set by the Coordinator:</p>
-<ul>
-<li><code>type</code>: Set to <code>compact</code>.</li>
-<li><code>id</code>: Generated using the task type, datasource name, interval, and timestamp. The task ID is prefixed with <code>coordinator-issued</code>.</li>
-<li><code>context</code>: Set according to the user-provided <code>taskContext</code>.</li>
-</ul>
-<p>Compaction tasks typically fetch all <a href="/docs/34.0.0/data-management/manual-compaction#compaction-io-configuration">relevant segments</a> prior to launching any subtasks,
-<em>unless</em> the following properties are all set to non-null values. It is strongly recommended to set them to non-null values to
-maximize performance and minimize disk usage of the <code>compact</code> tasks launched by auto-compaction:</p>
-<ul>
-<li><a href="/docs/34.0.0/data-management/manual-compaction#compaction-granularity-spec"><code>granularitySpec</code></a>, with non-null values for each of <code>segmentGranularity</code>, <code>queryGranularity</code>, and <code>rollup</code></li>
-<li><a href="/docs/34.0.0/data-management/manual-compaction#compaction-dimensions-spec"><code>dimensionsSpec</code></a></li>
-<li><code>metricsSpec</code></li>
-</ul>
-<p>For more details on each of the specs in an auto-compaction configuration, see <a href="/docs/34.0.0/configuration/#automatic-compaction-dynamic-configuration">Automatic compaction dynamic configuration</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="auto-compaction-using-coordinator-duties">Auto-compaction using Coordinator duties<a href="#auto-compaction-using-coordinator-duties" class="hash-link" aria-label="Direct link to Auto-compaction using Coordinator duties" title="Direct link to Auto-compaction using Coordinator duties">​</a></h2>
-<p>You can control how often the Coordinator checks to see if auto-compaction is needed. The Coordinator <a href="/docs/34.0.0/configuration/#data-management">indexing period</a>, <code>druid.coordinator.period.indexingPeriod</code>, controls the frequency of compaction tasks.
-The default indexing period is 30 minutes, meaning that the Coordinator first checks for segments to compact at most 30 minutes from when auto-compaction is enabled.
-This time period also affects other Coordinator duties such as cleanup of unused segments and stale pending segments.
-To configure the auto-compaction time period without interfering with <code>indexingPeriod</code>, see <a href="#change-compaction-frequency">Set frequency of compaction runs</a>.</p>
-<p>At every invocation of auto-compaction, the Coordinator initiates a <a href="/docs/34.0.0/design/coordinator#segment-search-policy-in-automatic-compaction">segment search</a> to determine eligible segments to compact.
-When there are eligible segments to compact, the Coordinator issues compaction tasks based on available worker capacity.
-If a compaction task takes longer than the indexing period, the Coordinator waits for it to finish before resuming the period for segment search.</p>
-<p>No additional configuration is needed to run automatic compaction tasks using the Coordinator and native engine. This is the default behavior for Druid.
-You can configure it for a datasource through the web console or programmatically via an API.
-This process differs for manual compaction tasks, which can be submitted from the <a href="/docs/34.0.0/operations/web-console">Tasks view of the web console</a> or the <a href="/docs/34.0.0/api-reference/tasks-api">Tasks API</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manage-auto-compaction-using-the-web-console">Manage auto-compaction using the web console<a href="#manage-auto-compaction-using-the-web-console" class="hash-link" aria-label="Direct link to Manage auto-compaction using the web console" title="Direct link to Manage auto-compaction using the web console">​</a></h3>
-<p>Use the web console to enable automatic compaction for a datasource as follows:</p>
-<ol>
-<li>Click <strong>Datasources</strong> in the top-level navigation.</li>
-<li>In the <strong>Compaction</strong> column, click the edit icon for the datasource to compact.</li>
-<li>In the <strong>Compaction config</strong> dialog, configure the auto-compaction settings. The dialog offers a form view as well as a JSON view. Editing the form updates the JSON specification, and editing the JSON updates the form field, if present. Form fields not present in the JSON indicate default values. You may add additional properties to the JSON for auto-compaction settings not displayed in the form. See <a href="#auto-compaction-syntax">Configure automatic compaction</a> fo [...]
-<li>Click <strong>Submit</strong>.</li>
-<li>Refresh the <strong>Datasources</strong> view. The <strong>Compaction</strong> column for the datasource changes from “Not enabled” to “Awaiting first run.”</li>
-</ol>
-<p>The following screenshot shows the compaction config dialog for a datasource with auto-compaction enabled.
-<img decoding="async" loading="lazy" alt="Compaction config in web console" src="/assets/images/compaction-config-2d5e391fe681a9c978060c383357b531.png" width="1250" height="640" class="img_ev3q"></p>
-<p>To disable auto-compaction for a datasource, click <strong>Delete</strong> from the <strong>Compaction config</strong> dialog. Druid does not retain your auto-compaction configuration.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manage-auto-compaction-using-coordinator-apis">Manage auto-compaction using Coordinator APIs<a href="#manage-auto-compaction-using-coordinator-apis" class="hash-link" aria-label="Direct link to Manage auto-compaction using Coordinator APIs" title="Direct link to Manage auto-compaction using Coordinator APIs">​</a></h3>
-<p>Use the <a href="/docs/34.0.0/api-reference/automatic-compaction-api#manage-automatic-compaction">Automatic compaction API</a> to configure automatic compaction.
-To enable auto-compaction for a datasource, create a JSON object with the desired auto-compaction settings.
-See <a href="#auto-compaction-syntax">Configure automatic compaction</a> for the syntax of an auto-compaction spec.
-Send the JSON object as a payload in a <a href="/docs/34.0.0/api-reference/automatic-compaction-api#create-or-update-automatic-compaction-configuration"><code>POST</code> request</a> to <code>/druid/coordinator/v1/config/compaction</code>.
-The following example configures auto-compaction for the <code>wikipedia</code> datasource:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">curl --location --request POST &#x27;http://localhost:8081/druid/coordinator/v1/config/compacti [...]
-<p>To disable auto-compaction for a datasource, send a <a href="/docs/34.0.0/api-reference/automatic-compaction-api#remove-automatic-compaction-configuration"><code>DELETE</code> request</a> to <code>/druid/coordinator/v1/config/compaction/{dataSource}</code>. Replace <code>{dataSource}</code> with the name of the datasource for which to disable auto-compaction. For example:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">curl --location --request DELETE &#x27;http://localhost:8081/druid/coordinator/v1/config/compac [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="change-compaction-frequency">Change compaction frequency<a href="#change-compaction-frequency" class="hash-link" aria-label="Direct link to Change compaction frequency" title="Direct link to Change compaction frequency">​</a></h3>
-<p>If you want the Coordinator to check for compaction more frequently than its indexing period, create a separate group to handle compaction duties.
-Set the time period of the duty group in the <code>coordinator/runtime.properties</code> file.
-The following example shows how to create a duty group named <code>compaction</code> and set the auto-compaction period to 1 minute:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.coordinator.dutyGroups=[&quot;compaction&quot;]</span><br></span><span class="token-line" style="co [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="view-coordinator-duty-auto-compaction-stats">View Coordinator duty auto-compaction stats<a href="#view-coordinator-duty-auto-compaction-stats" class="hash-link" aria-label="Direct link to View Coordinator duty auto-compaction stats" title="Direct link to View Coordinator duty auto-compaction stats">​</a></h3>
-<p>After the Coordinator has initiated auto-compaction, you can view compaction statistics for the datasource, including the number of bytes, segments, and intervals already compacted and those awaiting compaction. The Coordinator also reports the total bytes, segments, and intervals not eligible for compaction in accordance with its <a href="/docs/34.0.0/design/coordinator#segment-search-policy-in-automatic-compaction">segment search policy</a>.</p>
-<p>In the web console, the Datasources view displays auto-compaction statistics. The Tasks view shows the task information for compaction tasks that were triggered by the automatic compaction system.</p>
-<p>To get statistics by API, send a <a href="/docs/34.0.0/api-reference/automatic-compaction-api#view-automatic-compaction-status"><code>GET</code> request</a> to <code>/druid/coordinator/v1/compaction/status</code>. To filter the results to a particular datasource, pass the datasource name as a query parameter to the request—for example, <code>/druid/coordinator/v1/compaction/status?dataSource=wikipedia</code>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="avoid-conflicts-with-ingestion">Avoid conflicts with ingestion<a href="#avoid-conflicts-with-ingestion" class="hash-link" aria-label="Direct link to Avoid conflicts with ingestion" title="Direct link to Avoid conflicts with ingestion">​</a></h2>
-<p>Compaction tasks may be interrupted when they interfere with ingestion. For example, this occurs when an ingestion task needs to write data to a segment for a time interval locked for compaction. If there are continuous failures that prevent compaction from making progress, consider one of the following strategies:</p>
-<ul>
-<li>Enable <a href="#enable-concurrent-append-and-replace">concurrent append and replace tasks</a> on your datasource and on the ingestion tasks.</li>
-<li>Set <code>skipOffsetFromLatest</code> to reduce the chance of conflicts between ingestion and compaction. See more details in <a href="#skip-compaction-for-latest-segments">Skip compaction for latest segments</a>.</li>
-<li>Increase the priority value of compaction tasks relative to ingestion tasks. Only recommended for advanced users. This approach can cause ingestion jobs to fail or lag. To change the priority of compaction tasks, set <code>taskPriority</code> to the desired priority value in the auto-compaction configuration. For details on the priority values of different task types, see <a href="/docs/34.0.0/ingestion/tasks#lock-priority">Lock priority</a>.</li>
-</ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="enable-concurrent-append-and-replace">Enable concurrent append and replace<a href="#enable-concurrent-append-and-replace" class="hash-link" aria-label="Direct link to Enable concurrent append and replace" title="Direct link to Enable concurrent append and replace">​</a></h3>
-<p>You can use concurrent append and replace to safely replace the existing data in an interval of a datasource while new data is being appended to that interval even during compaction.</p>
-<p>To do this, you need to update your datasource to allow concurrent append and replace tasks:</p>
-<ul>
-<li>If you&#x27;re using the API, include the following <code>taskContext</code> property in your API call: <code>&quot;useConcurrentLocks&quot;: true</code></li>
-<li>If you&#x27;re using the UI, enable <strong>Use concurrent locks</strong> in the <strong>Compaction config</strong> for your datasource.</li>
-</ul>
-<p>You&#x27;ll also need to update your ingestion jobs for the datasource to include the task context <code>&quot;useConcurrentLocks&quot;: true</code>.</p>
-<p>For information on how to do this, see <a href="/docs/34.0.0/ingestion/concurrent-append-replace">Concurrent append and replace</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="skip-compaction-for-latest-segments">Skip compaction for latest segments<a href="#skip-compaction-for-latest-segments" class="hash-link" aria-label="Direct link to Skip compaction for latest segments" title="Direct link to Skip compaction for latest segments">​</a></h3>
-<p>The Coordinator compacts segments from newest to oldest. In the auto-compaction configuration, you can set a time period, relative to the end time of the most recent segment, for segments that should not be compacted. Assign this value to <code>skipOffsetFromLatest</code>. Note that this offset is not relative to the current time but to the latest segment time. For example, if you want to skip over segments from five days prior to the end time of the most recent segment, assign <code> [...]
-<p>To set <code>skipOffsetFromLatest</code>, consider how frequently you expect the stream to receive late arriving data. If your stream only occasionally receives late arriving data, the auto-compaction system robustly compacts your data even though data is ingested outside the <code>skipOffsetFromLatest</code> window. For most realtime streaming ingestion use cases, it is reasonable to set <code>skipOffsetFromLatest</code> to a few hours or a day.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h2>
-<p>The following examples demonstrate potential use cases in which auto-compaction may improve your Druid performance. See more details in <a href="/docs/34.0.0/data-management/compaction#compaction-guidelines">Compaction strategies</a>. The examples in this section do not change the underlying data.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="change-segment-granularity">Change segment granularity<a href="#change-segment-granularity" class="hash-link" aria-label="Direct link to Change segment granularity" title="Direct link to Change segment granularity">​</a></h3>
-<p>You have a stream set up to ingest data with <code>HOUR</code> segment granularity into the <code>wikistream</code> datasource. You notice that your Druid segments are smaller than the <a href="/docs/34.0.0/operations/segment-optimization">recommended segment size</a> of 5 million rows per segment. You wish to automatically compact segments to <code>DAY</code> granularity while leaving the latest week of data <em>not</em> compacted because your stream consistently receives data within [...]
-<p>The following auto-compaction configuration compacts existing <code>HOUR</code> segments into <code>DAY</code> segments while leaving the latest week of data not compacted:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="update-partitioning-scheme">Update partitioning scheme<a href="#update-partitioning-scheme" class="hash-link" aria-label="Direct link to Update partitioning scheme" title="Direct link to Update partitioning scheme">​</a></h3>
-<p>For your <code>wikipedia</code> datasource, you want to optimize segment access when regularly ingesting data without compromising compute time when querying the data. Your ingestion spec for batch append uses <a href="/docs/34.0.0/ingestion/native-batch#dynamic-partitioning">dynamic partitioning</a> to optimize for write-time operations, while your stream ingestion partitioning is configured by the stream service. You want to implement auto-compaction to reorganize the data with a su [...]
-<p>The following auto-compaction configuration compacts updates the <code>wikipedia</code> segments to use multi-dimension range partitioning:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="auto-compaction-using-compaction-supervisors">Auto-compaction using compaction supervisors<a href="#auto-compaction-using-compaction-supervisors" class="hash-link" aria-label="Direct link to Auto-compaction using compaction supervisors" title="Direct link to Auto-compaction using compaction supervisors">​</a></h2>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>Experimental</div><div class="admonitionContent_BuS1"><p>Compaction supervisors ar [...]
-<p>You can run automatic compaction using compaction supervisors on the Overlord rather than Coordinator duties. Compaction supervisors provide the following benefits over Coordinator duties:</p>
-<ul>
-<li>Can use the supervisor framework to get information about the auto-compaction, such as status or state</li>
-<li>More easily suspend or resume compaction for a datasource</li>
-<li>Can use either the native compaction engine or the <a href="#use-msq-for-auto-compaction">MSQ task engine</a></li>
-<li>More reactive and submits tasks as soon as a compaction slot is available</li>
-<li>Tracked compaction task status to avoid re-compacting an interval repeatedly</li>
-</ul>
-<p>To use compaction supervisors, update the <a href="/docs/34.0.0/api-reference/automatic-compaction-api#update-cluster-level-compaction-config">compaction dynamic config</a> and set:</p>
-<ul>
-<li><code>useSupervisors</code> to <code>true</code> so that compaction tasks can be run as supervisor tasks</li>
-<li><code>engine</code> to <code>msq</code> to use the MSQ task engine as the compaction engine or to <code>native</code> (default value) to use the native engine.</li>
-</ul>
-<p>Compaction supervisors use the same syntax as auto-compaction using Coordinator duties with one key difference: you submit the auto-compaction as a supervisor spec. In the spec, set the <code>type</code> to <code>autocompact</code> and include the auto-compaction config in the <code>spec</code>.</p>
-<p>To submit an automatic compaction task, you can submit a supervisor spec through the <a href="#manage-compaction-supervisors-with-the-web-console">web console</a> or the <a href="#manage-compaction-supervisors-with-supervisor-apis">supervisor API</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manage-compaction-supervisors-with-the-web-console">Manage compaction supervisors with the web console<a href="#manage-compaction-supervisors-with-the-web-console" class="hash-link" aria-label="Direct link to Manage compaction supervisors with the web console" title="Direct link to Manage compaction supervisors with the web console">​</a></h3>
-<p>To submit a supervisor spec for MSQ task engine automatic compaction, perform the following steps:</p>
-<ol>
-<li>In the web console, go to the <strong>Supervisors</strong> tab.</li>
-<li>Click <strong>...</strong> &gt; <strong>Submit JSON supervisor</strong>.</li>
-<li>In the dialog, include the following:<!-- -->
-<ul>
-<li>The type of supervisor spec by setting <code>&quot;type&quot;: &quot;autocompact&quot;</code></li>
-<li>The compaction configuration by adding it to the <code>spec</code> field</li>
-</ul>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-</li>
-<li>Submit the supervisor.</li>
-</ol>
-<p>To stop the automatic compaction task, suspend or terminate the supervisor through the UI or API.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="manage-compaction-supervisors-with-supervisor-apis">Manage compaction supervisors with supervisor APIs<a href="#manage-compaction-supervisors-with-supervisor-apis" class="hash-link" aria-label="Direct link to Manage compaction supervisors with supervisor APIs" title="Direct link to Manage compaction supervisors with supervisor APIs">​</a></h3>
-<p>Submitting an automatic compaction as a supervisor task uses the same endpoint as supervisor tasks for streaming ingestion.</p>
-<p>The following example configures auto-compaction for the <code>wikipedia</code> datasource:</p>
-<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">curl --location --request POST &#x27;http://localhost:8081/druid/indexer/v1/supervisor&#x27; \< [...]
-<p>Note that if you omit <code>spec.engine</code>, Druid uses the default compaction engine. You can control the default compaction engine with the <code>druid.supervisor.compaction.engine</code> Overlord runtime property. If <code>spec.engine</code> and <code>druid.supervisor.compaction.engine</code> are omitted, Druid defaults to the native engine.</p>
-<p>To stop the automatic compaction task, suspend or terminate the supervisor through the UI or API.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="use-msq-for-auto-compaction">Use MSQ for auto-compaction<a href="#use-msq-for-auto-compaction" class="hash-link" aria-label="Direct link to Use MSQ for auto-compaction" title="Direct link to Use MSQ for auto-compaction">​</a></h3>
-<p>The MSQ task engine is available as a compaction engine if you configure auto-compaction to use compaction supervisors. To use the MSQ task engine for automatic compaction, make sure the following requirements are met:</p>
-<ul>
-<li><a href="/docs/34.0.0/multi-stage-query/#load-the-extension">Load the MSQ task engine extension</a>.</li>
-<li>In your Overlord runtime properties, set the following properties:<!-- -->
-<ul>
-<li><code>druid.supervisor.compaction.enabled</code> to <code>true</code> so that compaction tasks can be run as a supervisor task.</li>
-<li>Optionally, set <code>druid.supervisor.compaction.engine</code> to <code>msq</code> to specify the MSQ task engine as the default compaction engine. If you don&#x27;t do this, you&#x27;ll need to set <code>spec.engine</code> to <code>msq</code> for each compaction supervisor spec where you want to use the MSQ task engine.</li>
-</ul>
-</li>
-<li>Have at least two compaction task slots available or set <code>compactionConfig.taskContext.maxNumTasks</code> to two or more. The MSQ task engine requires at least two tasks to run, one controller task and one worker task.</li>
-</ul>
-<p>You can use <a href="/docs/34.0.0/multi-stage-query/reference#context-parameters">MSQ task engine context parameters</a> in <code>spec.taskContext</code> when configuring your datasource for automatic compaction, such as setting the maximum number of tasks using the <code>spec.taskContext.maxNumTasks</code> parameter. Some of the MSQ task engine context parameters overlap with automatic compaction parameters. When these settings overlap, set one or the other.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="msq-task-engine-limitations">MSQ task engine limitations<a href="#msq-task-engine-limitations" class="hash-link" aria-label="Direct link to MSQ task engine limitations" title="Direct link to MSQ task engine limitations">​</a></h4>
-<p>When using the MSQ task engine for auto-compaction, keep the following limitations in mind:</p>
-<ul>
-<li>The <code>metricSpec</code> field is only supported for certain aggregators. For more information, see <a href="#supported-aggregators">Supported aggregators</a>.</li>
-<li>Only dynamic and range-based partitioning are supported.</li>
-<li>Set <code>rollup</code>  to <code>true</code> if and only if <code>metricSpec</code> is not empty or null.</li>
-<li>You can only partition on string dimensions. However, multi-valued string dimensions are not supported.</li>
-<li>The <code>maxTotalRows</code> config is not supported in <code>DynamicPartitionsSpec</code>. Use <code>maxRowsPerSegment</code> instead.</li>
-<li>Segments can only be sorted on <code>__time</code> as the first column.</li>
-</ul>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="supported-aggregators">Supported aggregators<a href="#supported-aggregators" class="hash-link" aria-label="Direct link to Supported aggregators" title="Direct link to Supported aggregators">​</a></h4>
-<p>Auto-compaction using the MSQ task engine supports only aggregators that satisfy the following properties:</p>
-<ul>
-<li><strong>Mergeability</strong>: can combine partial aggregates</li>
-<li><strong>Idempotency</strong>: produces the same results on repeated runs of the aggregator on previously aggregated values in a column</li>
-</ul>
-<p>This is exemplified by the following <code>longSum</code> aggregator:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">{&quot;name&quot;: &quot;added&quot;, &quot;type&quot;: &quot;longSum&quot;, &quot;fieldName&quot;: &quot [...]
-<p>where <code>longSum</code> being capable of combining partial results satisfies mergeability, while input and output column being the same (<code>added</code>) ensures idempotency.</p>
-<p>The following are some examples of aggregators that aren&#x27;t supported since at least one of the required conditions aren&#x27;t satisfied:</p>
-<ul>
-<li><code>longSum</code> aggregator where the <code>added</code> column rolls up into <code>sum_added</code> column discarding the input <code>added</code> column, violating idempotency, as subsequent runs would no longer find the <code>added</code> column:<!-- -->
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">{&quot;name&quot;: &quot;sum_added&quot;, &quot;type&quot;: &quot;longSum&quot;, &quot;fieldName&quot;: & [...]
-</li>
-<li>Partial sketches which cannot themselves be used to combine partial aggregates and need merging aggregators -- such as <code>HLLSketchMerge</code> required for <code>HLLSketchBuild</code> aggregator below -- violating mergeability:<!-- -->
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">{&quot;name&quot;: &quot;added&quot;, &quot;type&quot;: &quot;HLLSketchBuild&quot;, &quot;fieldName&quot; [...]
-</li>
-<li>Count aggregator since it cannot be used to combine partial aggregates and it rolls up into a different <code>count</code> column discarding the input column(s), violating both mergeability and idempotency.<!-- -->
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">{&quot;type&quot;: &quot;count&quot;, &quot;name&quot;: &quot;count&quot;}</span><br></span></code></pre> [...]
-</li>
-</ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="learn-more">Learn more<a href="#learn-more" class="hash-link" aria-label="Direct link to Learn more" title="Direct link to Learn more">​</a></h2>
-<p>See the following topics for more information:</p>
-<ul>
-<li><a href="/docs/34.0.0/data-management/compaction">Compaction</a> for an overview of compaction in Druid.</li>
-<li><a href="/docs/34.0.0/data-management/manual-compaction">Manual compaction</a> for how to manually perform compaction tasks.</li>
-<li><a href="/docs/34.0.0/operations/segment-optimization">Segment optimization</a> for guidance on evaluating and optimizing Druid segment size.</li>
-<li><a href="/docs/34.0.0/design/coordinator#automatic-compaction">Coordinator process</a> for details on how the Coordinator plans compaction tasks.</li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/data-management/compaction"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Compaction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/data-management/manual-compaction"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__ [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/compaction.html/index.html b/docs/34.0.0/data-management/compaction.html/index.html
deleted file mode 100644
index f1ab8d3c2..000000000
--- a/docs/34.0.0/data-management/compaction.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/data-management/compaction">
-    <link rel="canonical" href="/docs/34.0.0/data-management/compaction" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/data-management/compaction' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/compaction/index.html b/docs/34.0.0/data-management/compaction/index.html
deleted file mode 100644
index 54d5231ce..000000000
--- a/docs/34.0.0/data-management/compaction/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-management/compaction" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Compaction | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/data-mana [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compaction-guidelines">Compaction guidelines<a href="#compaction-guidelines" class="hash-link" aria-label="Direct link to Compaction guidelines" title="Direct link to Compaction guidelines">​</a></h2>
-<p>There are several cases to consider compaction for segment optimization:</p>
-<ul>
-<li>With streaming ingestion, data can arrive out of chronological order creating many small segments.</li>
-<li>If you append data using <code>appendToExisting</code> for <a href="/docs/34.0.0/ingestion/native-batch">native batch</a> ingestion creating suboptimal segments.</li>
-<li>When you use <code>index_parallel</code> for parallel batch indexing and the parallel ingestion tasks create many small segments.</li>
-<li>When a misconfigured ingestion task creates oversized segments.</li>
-</ul>
-<p>By default, compaction does not modify the underlying data of the segments. However, there are cases when you may want to modify data during compaction to improve query performance:</p>
-<ul>
-<li>If, after ingestion, you realize that data for the time interval is sparse, you can use compaction to increase the segment granularity.</li>
-<li>If you don&#x27;t need fine-grained granularity for older data, you can use compaction to change older segments to a coarser query granularity. For example, from <code>minute</code> to <code>hour</code> or <code>hour</code> to <code>day</code>. This reduces the storage space required for older data.</li>
-<li>You can change the dimension order to improve sorting and reduce segment size.</li>
-<li>You can remove unused columns in compaction or implement an aggregation metric for older data.</li>
-<li>You can change segment rollup from dynamic partitioning with best-effort rollup to hash or range partitioning with perfect rollup. For more information on rollup, see <a href="/docs/34.0.0/ingestion/rollup#perfect-rollup-vs-best-effort-rollup">perfect vs best-effort rollup</a>.</li>
-</ul>
-<p>Compaction does not improve performance in all situations. For example, if you rewrite your data with each ingestion task, you don&#x27;t need to use compaction. See <a href="/docs/34.0.0/operations/segment-optimization">Segment optimization</a> for additional guidance to determine if compaction will help in your environment.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="ways-to-run-compaction">Ways to run compaction<a href="#ways-to-run-compaction" class="hash-link" aria-label="Direct link to Ways to run compaction" title="Direct link to Ways to run compaction">​</a></h2>
-<p>Automatic compaction, also called auto-compaction, works in most use cases and should be your first option.</p>
-<p>The Coordinator uses its <a href="/docs/34.0.0/design/coordinator#segment-search-policy-in-automatic-compaction">segment search policy</a> to periodically identify segments for compaction starting from newest to oldest. When the Coordinator discovers segments that have not been compacted or segments that were compacted with a different or changed spec, it submits compaction tasks for the time interval covering those segments.</p>
-<p>To learn more, see <a href="/docs/34.0.0/data-management/automatic-compaction">Automatic compaction</a>.</p>
-<p>In cases where you require more control over compaction, you can manually submit compaction tasks. For example:</p>
-<ul>
-<li>Automatic compaction is running into the limit of task slots available to it, so tasks are waiting for previous automatic compaction tasks to complete. Manual compaction can use all available task slots, therefore you can complete compaction more quickly by submitting more concurrent tasks for more intervals.</li>
-<li>You want to force compaction for a specific time range or you want to compact data out of chronological order.</li>
-</ul>
-<p>See <a href="/docs/34.0.0/data-management/manual-compaction#setting-up-manual-compaction">Setting up a manual compaction task</a> for more about manual compaction tasks.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="data-handling-with-compaction">Data handling with compaction<a href="#data-handling-with-compaction" class="hash-link" aria-label="Direct link to Data handling with compaction" title="Direct link to Data handling with compaction">​</a></h2>
-<p>During compaction, Druid overwrites the original set of segments with the compacted set. Druid also locks the segments for the time interval being compacted to ensure data consistency. By default, compaction tasks do not modify the underlying data. You can configure the compaction task to change the query granularity or add or remove dimensions in the compaction task. This means that the only changes to query results should be the result of intentional, not automatic, changes.</p>
-<p>You can set <code>dropExisting</code> in <code>ioConfig</code> to &quot;true&quot; in the compaction task to configure Druid to replace all existing segments fully contained by the interval. See the suggestion for reindexing with finer granularity under <a href="/docs/34.0.0/ingestion/native-batch#implementation-considerations">Implementation considerations</a> for an example.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>WARNING: <code>dropExisting</code [...]
-<p>If an ingestion task needs to write data to a segment for a time interval locked for compaction, by default the ingestion task supersedes the compaction task and the compaction task fails without finishing. For manual compaction tasks, you can adjust the input spec interval to avoid conflicts between ingestion and compaction. For automatic compaction, you can set the <code>skipOffsetFromLatest</code> key to adjust the auto-compaction starting point from the current time to reduce the  [...]
-Another option is to set the compaction task to higher priority than the ingestion task.
-For more information, see <a href="/docs/34.0.0/data-management/automatic-compaction#avoid-conflicts-with-ingestion">Avoid conflicts with ingestion</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="segment-granularity-handling">Segment granularity handling<a href="#segment-granularity-handling" class="hash-link" aria-label="Direct link to Segment granularity handling" title="Direct link to Segment granularity handling">​</a></h3>
-<p>Unless you modify the segment granularity in <a href="/docs/34.0.0/data-management/manual-compaction#compaction-granularity-spec"><code>granularitySpec</code></a>, Druid attempts to retain the granularity for the compacted segments. When segments have different segment granularities with no overlap in interval Druid creates a separate compaction task for each to retain the segment granularity in the compacted segment.</p>
-<p>If segments have different segment granularities before compaction but there is some overlap in interval, Druid attempts find start and end of the overlapping interval and uses the closest segment granularity level for the compacted segment.</p>
-<p>For example consider two overlapping segments: segment &quot;A&quot; for the interval 01/01/2020-01/02/2020 with day granularity and segment &quot;B&quot; for the interval 01/01/2020-02/01/2020. Druid attempts to combine and compact the overlapped segments. In this example, the earliest start time for the two segments is 01/01/2020 and the latest end time of the two segments is 02/01/2020. Druid compacts the segments together even though they have different segment granularity. Druid  [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-granularity-handling">Query granularity handling<a href="#query-granularity-handling" class="hash-link" aria-label="Direct link to Query granularity handling" title="Direct link to Query granularity handling">​</a></h3>
-<p>Unless you modify the query granularity in the <a href="/docs/34.0.0/data-management/manual-compaction#compaction-granularity-spec"><code>granularitySpec</code></a>, Druid retains the query granularity for the compacted segments. If segments have different query granularities before compaction, Druid chooses the finest level of granularity for the resulting compacted segment. For example if a compaction task combines two segments, one with day query granularity and one with minute que [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>In Apache Druid 0.21.0 and prior, [...]
-<p>If you configure query granularity in compaction to go from a finer granularity like month to a coarser query granularity like year, then Druid overshadows the original segment with coarser granularity. Because the new segments have a coarser granularity, running a kill task to remove the overshadowed segments for those intervals will cause you to permanently lose the finer granularity data.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="dimension-handling">Dimension handling<a href="#dimension-handling" class="hash-link" aria-label="Direct link to Dimension handling" title="Direct link to Dimension handling">​</a></h3>
-<p>Apache Druid supports schema changes. Therefore, dimensions can be different across segments even if they are a part of the same datasource. See <a href="/docs/34.0.0/design/segments#segments-with-different-schemas">Segments with different schemas</a>. If the input segments have different dimensions, the resulting compacted segment includes all dimensions of the input segments.</p>
-<p>Even when the input segments have the same set of dimensions, the dimension order or the data type of dimensions can be different. The dimensions of recent segments precede that of old segments in terms of data types and the ordering because more recent segments are more likely to have the preferred order and data types.</p>
-<p>If you want to control dimension ordering or ensure specific values for dimension types, you can configure a custom <code>dimensionsSpec</code> in the compaction task spec.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rollup">Rollup<a href="#rollup" class="hash-link" aria-label="Direct link to Rollup" title="Direct link to Rollup">​</a></h3>
-<p>Druid only rolls up the output segment when <code>rollup</code> is set for all input segments.
-See <a href="/docs/34.0.0/ingestion/rollup">Roll-up</a> for more details.
-You can check that your segments are rolled up or not by using <a href="/docs/34.0.0/querying/segmentmetadataquery#analysistypes">Segment Metadata Queries</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="learn-more">Learn more<a href="#learn-more" class="hash-link" aria-label="Direct link to Learn more" title="Direct link to Learn more">​</a></h2>
-<p>See the following topics for more information:</p>
-<ul>
-<li><a href="/docs/34.0.0/operations/segment-optimization">Segment optimization</a> for guidance to determine if compaction will help in your case.</li>
-<li><a href="/docs/34.0.0/data-management/manual-compaction">Manual compaction</a> for how to run a one-time compaction task.</li>
-<li><a href="/docs/34.0.0/data-management/automatic-compaction">Automatic compaction</a> for how to enable and configure automatic compaction.</li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/data-management/schema-changes"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Schema changes</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/data-management/automatic-compaction"><div class="pagination-nav__sublabel">Next</div><div class="pagin [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/delete.html/index.html b/docs/34.0.0/data-management/delete.html/index.html
deleted file mode 100644
index 74daaab64..000000000
--- a/docs/34.0.0/data-management/delete.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/data-management/delete">
-    <link rel="canonical" href="/docs/34.0.0/data-management/delete" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/data-management/delete' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/delete/index.html b/docs/34.0.0/data-management/delete/index.html
deleted file mode 100644
index 7262a45c9..000000000
--- a/docs/34.0.0/data-management/delete/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-management/delete" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Data deletion | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/data-m [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>Apache Druid stores data <a href="/docs/34.0.0/design/storage">partitioned by time chunk</a> and supports
-deleting data for time chunks by dropping segments. This is a fast, metadata-only operation.</p>
-<p>Deletion by time range happens in two steps:</p>
-<ol>
-<li>Segments to be deleted must first be marked as <a href="/docs/34.0.0/design/storage#segment-lifecycle">&quot;unused&quot;</a>. This can
-happen when a segment is dropped by a <a href="/docs/34.0.0/operations/rule-configuration">drop rule</a> or when you manually mark a
-segment unused through the Coordinator API or web console. This is a soft delete: the data is not available for
-querying, but the segment files remains in deep storage, and the segment records remains in the metadata store.</li>
-<li>Once a segment is marked &quot;unused&quot;, you can use a <a href="#kill-task"><code>kill</code> task</a> to permanently delete the segment file from
-deep storage and remove its record from the metadata store. This is a hard delete: the data is unrecoverable unless
-you have a backup.</li>
-</ol>
-<p>For documentation on disabling segments using the Coordinator API, see the
-<a href="/docs/34.0.0/api-reference/legacy-metadata-api#datasources">Legacy metadata API reference</a>.</p>
-<p>A data deletion tutorial is available at <a href="/docs/34.0.0/tutorials/tutorial-delete-data">Tutorial: Deleting data</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="delete-data-automatically-using-drop-rules">Delete data automatically using drop rules<a href="#delete-data-automatically-using-drop-rules" class="hash-link" aria-label="Direct link to Delete data automatically using drop rules" title="Direct link to Delete data automatically using drop rules">​</a></h2>
-<p>Druid supports <a href="/docs/34.0.0/operations/rule-configuration">load and drop rules</a>, which are used to define intervals of time
-where data should be preserved, and intervals where data should be discarded. Data that falls under a drop rule is
-marked unused, in the same manner as if you <a href="#delete-data-for-a-time-range-manually">manually mark that time range unused</a>. This is a
-fast, metadata-only operation.</p>
-<p>Data that is dropped in this way is marked unused, but remains in deep storage. To permanently delete it, use a
-<a href="#kill-task"><code>kill</code> task</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="delete-specific-records">Delete specific records<a href="#delete-specific-records" class="hash-link" aria-label="Direct link to Delete specific records" title="Direct link to Delete specific records">​</a></h2>
-<p>Druid supports deleting specific records using <a href="/docs/34.0.0/data-management/update#reindex">reindexing</a> with a filter. The filter specifies which
-data remains after reindexing, so it must be the inverse of the data you want to delete. Because segments must be
-rewritten to delete data in this way, it can be a time-consuming operation.</p>
-<p>For example, to delete records where <code>userName</code> is <code>&#x27;bob&#x27;</code> with native batch indexing, use a
-<a href="/docs/34.0.0/ingestion/ingestion-spec#transformspec"><code>transformSpec</code></a> with filter <code>{&quot;type&quot;: &quot;not&quot;, &quot;field&quot;: {&quot;type&quot;: &quot;selector&quot;, &quot;dimension&quot;: &quot;userName&quot;, &quot;value&quot;: &quot;bob&quot;}}</code>.</p>
-<p>To delete the same records using SQL, use <a href="/docs/34.0.0/multi-stage-query/concepts#overwrite-data-with-replace">REPLACE</a> with <code>WHERE userName &lt;&gt; &#x27;bob&#x27;</code>.</p>
-<p>To reindex using <a href="/docs/34.0.0/ingestion/native-batch">native batch</a>, use the <a href="/docs/34.0.0/ingestion/input-sources#druid-input-source"><code>druid</code> input
-source</a>. If needed,
-<a href="/docs/34.0.0/ingestion/ingestion-spec#transformspec"><code>transformSpec</code></a> can be used to filter or modify data during the
-reindexing job. To reindex with SQL, use <a href="/docs/34.0.0/multi-stage-query/reference#replace"><code>REPLACE &lt;table&gt; OVERWRITE</code></a>
-with <code>SELECT ... FROM &lt;table&gt;</code>. (Druid does not have <code>UPDATE</code> or <code>ALTER TABLE</code> statements.) Any SQL SELECT query can be
-used to filter, modify, or enrich the data during the reindexing job.</p>
-<p>Data that is deleted in this way is marked unused, but remains in deep storage. To permanently delete it, use a <a href="#kill-task"><code>kill</code>
-task</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="delete-an-entire-table">Delete an entire table<a href="#delete-an-entire-table" class="hash-link" aria-label="Direct link to Delete an entire table" title="Direct link to Delete an entire table">​</a></h2>
-<p>Deleting an entire table works the same way as <a href="#delete-data-for-a-time-range-manually">deleting part of a table by time range</a>. First,
-mark all segments unused using the Coordinator API or web console. Then, optionally, delete it permanently using a
-<a href="#kill-task"><code>kill</code> task</a>.</p>
-<a name="kill-task"></a>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="delete-data-permanently-using-kill-tasks">Delete data permanently using <code>kill</code> tasks<a href="#delete-data-permanently-using-kill-tasks" class="hash-link" aria-label="Direct link to delete-data-permanently-using-kill-tasks" title="Direct link to delete-data-permanently-using-kill-tasks">​</a></h2>
-<p>Data that has been overwritten or soft-deleted still remains as segments that have been marked unused. You can use a
-<code>kill</code> task to permanently delete this data.</p>
-<p>The available grammar is:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<p>Some of the parameters used in the task payload are further explained below:</p>
-<table><thead><tr><th>Parameter</th><th>Default</th><th>Explanation</th></tr></thead><tbody><tr><td><code>versions</code></td><td>null (all versions)</td><td>List of segment versions within the specified <code>interval</code> for the kill task to delete. The default behavior is to delete all unused segment versions in the specified <code>interval</code>.</td></tr><tr><td><code>batchSize</code></td><td>100</td><td>Maximum number of segments that are deleted in one kill batch. Some operati [...]
-<p><strong>WARNING:</strong> The <code>kill</code> task permanently removes all information about the affected segments from the metadata store and
-deep storage. This operation cannot be undone.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="auto-kill-data-using-coordinator-duties">Auto-kill data using Coordinator duties<a href="#auto-kill-data-using-coordinator-duties" class="hash-link" aria-label="Direct link to Auto-kill data using Coordinator duties" title="Direct link to Auto-kill data using Coordinator duties">​</a></h3>
-<p>Instead of submitting <code>kill</code> tasks manually to permanently delete data for a given interval, you can enable auto-kill of unused segments on the Coordinator.
-The Coordinator runs a duty periodically to identify intervals containing unused segments that are eligible for kill. It then launches a <code>kill</code> task for each of these intervals.</p>
-<p>Refer to <a href="/docs/34.0.0/configuration/#data-management">Data management on the Coordinator</a> to configure auto-kill of unused segments on the Coordinator.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="auto-kill-data-on-the-overlord-experimental">Auto-kill data on the Overlord (Experimental)<a href="#auto-kill-data-on-the-overlord-experimental" class="hash-link" aria-label="Direct link to Auto-kill data on the Overlord (Experimental)" title="Direct link to Auto-kill data on the Overlord (Experimental)">​</a></h3>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>This is an experimental feature t [...]
-<li>Can be used only if <a href="/docs/34.0.0/configuration/#segment-metadata-cache-experimental">segment metadata caching</a> is enabled on the Overlord.</li>
-<li>MUST NOT be used if auto-kill of unused segments is already enabled on the Coordinator.</li>
-</ul></div></div>
-<p>This is an experimental feature to run kill tasks in an &quot;embedded&quot; mode on the Overlord itself.</p>
-<p>These embedded tasks offer several advantages over auto-kill performed by the Coordinator as they:</p>
-<ul>
-<li>avoid a lot of unnecessary REST API calls to the Overlord from tasks or the Coordinator.</li>
-<li>kill unused segments as soon as they become eligible.</li>
-<li>run on the Overlord and do not take up task slots.</li>
-<li>finish faster as they save on the overhead of launching a task process.</li>
-<li>kill a small number of segments per task, to ensure that locks on an interval are not held for too long.</li>
-<li>skip locked intervals to avoid head-of-line blocking in kill tasks.</li>
-<li>require little to no configuration.</li>
-<li>can keep up with a large number of unused segments in the cluster.</li>
-<li>take advantage of the segment metadata cache on the Overlord.</li>
-</ul>
-<p>Refer to <a href="/docs/34.0.0/configuration/#auto-kill-unused-segments-experimental">Auto-kill unused segments on the Overlord</a> to configure auto-kill of unused segments on the Overlord.
-See <a href="/docs/34.0.0/operations/metrics#auto-kill-unused-segments">Auto-kill metrics</a> for the metrics emitted by embedded kill tasks.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/data-management/update"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Data updates</div></a><a class="pagination-nav__link pagination-nav__link [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/index.html b/docs/34.0.0/data-management/index.html
deleted file mode 100644
index 5615014f9..000000000
--- a/docs/34.0.0/data-management/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-management/index" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Data management | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/data [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-files called <a href="/docs/34.0.0/design/segments">segments</a>. Data management operations involving replacing, or deleting,
-these segments include:</p>
-<ul>
-<li><a href="/docs/34.0.0/data-management/update">Updates</a> to existing data.</li>
-<li><a href="/docs/34.0.0/data-management/delete">Deletion</a> of existing data.</li>
-<li><a href="/docs/34.0.0/data-management/schema-changes">Schema changes</a> for new and existing data.</li>
-<li><a href="/docs/34.0.0/data-management/compaction">Compaction</a> and <a href="/docs/34.0.0/data-management/automatic-compaction">automatic compaction</a>, which reindex existing data to
-optimize storage footprint and performance.</li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/ingestion/faq"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Troubleshooting FAQ</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/data-management/update"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Data upd [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/manual-compaction.html/index.html b/docs/34.0.0/data-management/manual-compaction.html/index.html
deleted file mode 100644
index c25b3d66c..000000000
--- a/docs/34.0.0/data-management/manual-compaction.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/data-management/manual-compaction">
-    <link rel="canonical" href="/docs/34.0.0/data-management/manual-compaction" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/data-management/manual-compaction' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/manual-compaction/index.html b/docs/34.0.0/data-management/manual-compaction/index.html
deleted file mode 100644
index 31341dcde..000000000
--- a/docs/34.0.0/data-management/manual-compaction/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-management/manual-compaction" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Manual compaction | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/da [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>You can perform manual compaction where you submit a one-time compaction task for a specific interval. Generally, you don&#x27;t need to do this if you use <a href="/docs/34.0.0/data-management/automatic-compaction">automatic compaction</a>, which is recommended for most workloads.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="setting-up-manual-compaction">Setting up manual compaction<a href="#setting-up-manual-compaction" class="hash-link" aria-label="Direct link to Setting up manual compaction" title="Direct link to Setting up manual compaction">​</a></h2>
-<p>Compaction tasks merge all segments for the defined interval according to the following syntax:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>type</code></td><td>Task type. Set the value to <code>compact</code>.</td><td>Yes</td></tr><tr><td><code>id</code></td><td>Task ID</td><td>No</td></tr><tr><td><code>dataSource</code></td><td>Data source name to compact</td><td>Yes</td></tr><tr><td><code>ioConfig</code></td><td>I/O configuration for compaction task. See <a href="#compaction-io-configuration">Compaction I/O configuration< [...]
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Note: Use <code>granularitySpec</ [...]
-<p>To control the number of result segments per time chunk, you can set <a href="/docs/34.0.0/ingestion/native-batch#partitionsspec"><code>maxRowsPerSegment</code></a> or <a href="/docs/34.0.0/ingestion/native-batch#tuningconfig"><code>numShards</code></a>.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>You can run multiple compaction t [...]
-<p>A compaction task internally generates an <code>index</code> or <code>index_parallel</code> task spec for performing compaction work with some fixed parameters. For example, its <code>inputSource</code> is always the <a href="/docs/34.0.0/ingestion/input-sources"><code>druid</code> input source</a>, and <code>dimensionsSpec</code> and <code>metricsSpec</code> include all dimensions and metrics of the input segments by default.</p>
-<p>Compaction tasks typically fetch all <a href="#compaction-io-configuration">relevant segments</a> prior to launching any subtasks, <em>unless</em> the following properties are all set to non-null values. It is strongly recommended to set them to non-null values to maximize performance and minimize disk usage of the <code>compact</code> task:</p>
-<ul>
-<li><a href="#compaction-granularity-spec"><code>granularitySpec</code></a>, with non-null values for each of <code>segmentGranularity</code>, <code>queryGranularity</code>, and <code>rollup</code></li>
-<li><a href="#compaction-dimensions-spec"><code>dimensionsSpec</code></a></li>
-<li><code>metricsSpec</code></li>
-</ul>
-<p>Compaction tasks exit without doing anything and issue a failure status code in either of the following cases:</p>
-<ul>
-<li>If the interval you specify has no data segments loaded.</li>
-<li>If the interval you specify is empty.</li>
-</ul>
-<p>Note that the metadata between input segments and the resulting compacted segments may differ if the metadata among the input segments differs as well. If all input segments have the same metadata, however, the resulting output segment will have the same metadata as all input segments.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="manual-compaction-task-example">Manual compaction task example<a href="#manual-compaction-task-example" class="hash-link" aria-label="Direct link to Manual compaction task example" title="Direct link to Manual compaction task example">​</a></h2>
-<p>The following JSON illustrates a compaction task to compact <em>all segments</em> within the interval <code>2020-01-01/2021-01-01</code> and create new segments:</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token punctuation" style="color:rgb(199, 146, 234)">{</span><span class="token plain"></span><br></span> [...]
-<p><code>granularitySpec</code> is an optional field.
-If you don&#x27;t specify <code>granularitySpec</code>, Druid retains the original segment and query granularities when compaction is complete.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compaction-io-configuration">Compaction I/O configuration<a href="#compaction-io-configuration" class="hash-link" aria-label="Direct link to Compaction I/O configuration" title="Direct link to Compaction I/O configuration">​</a></h2>
-<p>The compaction <code>ioConfig</code> requires specifying <code>inputSpec</code> as follows:</p>
-<table><thead><tr><th>Field</th><th>Description</th><th>Default</th><th>Required</th></tr></thead><tbody><tr><td><code>type</code></td><td>Task type. Set the value to <code>compact</code>.</td><td>none</td><td>Yes</td></tr><tr><td><code>inputSpec</code></td><td>Specification of the target <a href="#interval-inputspec">interval</a> or <a href="#segments-inputspec">segments</a>.</td><td>none</td><td>Yes</td></tr><tr><td><code>dropExisting</code></td><td>If <code>true</code>, the task repla [...]
-<p>The compaction task has two kinds of <code>inputSpec</code>:</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="interval-inputspec">Interval <code>inputSpec</code><a href="#interval-inputspec" class="hash-link" aria-label="Direct link to interval-inputspec" title="Direct link to interval-inputspec">​</a></h3>
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>type</code></td><td>Task type. Set the value to <code>interval</code>.</td><td>Yes</td></tr><tr><td><code>interval</code></td><td>Interval to compact.</td><td>Yes</td></tr></tbody></table>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="segments-inputspec">Segments <code>inputSpec</code><a href="#segments-inputspec" class="hash-link" aria-label="Direct link to segments-inputspec" title="Direct link to segments-inputspec">​</a></h3>
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>type</code></td><td>Task type. Set the value to <code>segments</code>.</td><td>Yes</td></tr><tr><td><code>segments</code></td><td>A list of segment IDs.</td><td>Yes</td></tr></tbody></table>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compaction-dimensions-spec">Compaction dimensions spec<a href="#compaction-dimensions-spec" class="hash-link" aria-label="Direct link to Compaction dimensions spec" title="Direct link to Compaction dimensions spec">​</a></h2>
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>dimensions</code></td><td>A list of dimension names or objects. Cannot have the same column in both <code>dimensions</code> and <code>dimensionExclusions</code>. Defaults to <code>null</code>, which preserves the original dimensions.</td><td>No</td></tr><tr><td><code>dimensionExclusions</code></td><td>The names of dimensions to exclude from compaction. Only names are supported here, not [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compaction-transform-spec">Compaction transform spec<a href="#compaction-transform-spec" class="hash-link" aria-label="Direct link to Compaction transform spec" title="Direct link to Compaction transform spec">​</a></h2>
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>filter</code></td><td>The <code>filter</code> conditionally filters input rows during compaction. Only rows that pass the filter will be included in the compacted segments. Any of Druid&#x27;s standard <a href="/docs/34.0.0/querying/filters">query filters</a> can be used. Defaults to &#x27;null&#x27;, which will not filter any row.</td><td>No</td></tr></tbody></table>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compaction-granularity-spec">Compaction granularity spec<a href="#compaction-granularity-spec" class="hash-link" aria-label="Direct link to Compaction granularity spec" title="Direct link to Compaction granularity spec">​</a></h2>
-<table><thead><tr><th>Field</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>segmentGranularity</code></td><td>Time chunking period for the segment granularity. Defaults to &#x27;null&#x27;, which preserves the original segment granularity. Accepts all <a href="/docs/34.0.0/querying/granularities">Query granularity</a> values.</td><td>No</td></tr><tr><td><code>queryGranularity</code></td><td>The resolution of timestamp storage within each segment. Defaults to &# [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="learn-more">Learn more<a href="#learn-more" class="hash-link" aria-label="Direct link to Learn more" title="Direct link to Learn more">​</a></h2>
-<p>See the following topics for more information:</p>
-<ul>
-<li><a href="/docs/34.0.0/data-management/compaction">Compaction</a> for an overview of compaction and how to set up manual compaction in Druid.</li>
-<li><a href="/docs/34.0.0/operations/segment-optimization">Segment optimization</a> for guidance on evaluating and optimizing Druid segment size.</li>
-<li><a href="/docs/34.0.0/design/coordinator#automatic-compaction">Coordinator process</a> for details on how the Coordinator plans compaction tasks.</li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/data-management/automatic-compaction"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Automatic compaction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/querying/sql"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__l [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/schema-changes.html/index.html b/docs/34.0.0/data-management/schema-changes.html/index.html
deleted file mode 100644
index 14e87235e..000000000
--- a/docs/34.0.0/data-management/schema-changes.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/data-management/schema-changes">
-    <link rel="canonical" href="/docs/34.0.0/data-management/schema-changes" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/data-management/schema-changes' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/schema-changes/index.html b/docs/34.0.0/data-management/schema-changes/index.html
deleted file mode 100644
index 43060dee3..000000000
--- a/docs/34.0.0/data-management/schema-changes/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-management/schema-changes" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Schema changes | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/data- [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>Apache Druid allows you to provide a new schema for new data without the need to update the schema of any existing data.
-It is sufficient to update your supervisor spec, if using <a href="/docs/34.0.0/ingestion/#streaming">streaming ingestion</a>, or to
-provide the new schema the next time you do a <a href="/docs/34.0.0/ingestion/#batch">batch ingestion</a>. This is made possible by
-the fact that each <a href="/docs/34.0.0/design/segments">segment</a>, at the time it is created, stores a
-copy of its own schema. Druid reconciles all of these individual segment schemas automatically at query time.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="for-existing-data">For existing data<a href="#for-existing-data" class="hash-link" aria-label="Direct link to For existing data" title="Direct link to For existing data">​</a></h2>
-<p>Schema changes are sometimes necessary for existing data. For example, you may want to change the type of a column in
-previously-ingested data, or drop a column entirely. Druid handles this using <a href="/docs/34.0.0/data-management/update">reindexing</a>, the same method
-it uses to handle updates of existing data. Reindexing involves rewriting all affected segments and can be a
-time-consuming operation.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/data-management/delete"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Data deletion</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/data-management/compaction"><div class="pagination-nav__sublabel">Next</div><div class=" [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/update.html/index.html b/docs/34.0.0/data-management/update.html/index.html
deleted file mode 100644
index d31922924..000000000
--- a/docs/34.0.0/data-management/update.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/data-management/update">
-    <link rel="canonical" href="/docs/34.0.0/data-management/update" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/data-management/update' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/data-management/update/index.html b/docs/34.0.0/data-management/update/index.html
deleted file mode 100644
index db776dcad..000000000
--- a/docs/34.0.0/data-management/update/index.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-management/update" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Data updates | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/data-ma [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>Apache Druid stores data <a href="/docs/34.0.0/design/storage">partitioned by time chunk</a> and supports
-overwriting existing data using time ranges. Data outside the replacement time range is not touched. Overwriting of
-existing data is done using the same mechanisms as <a href="/docs/34.0.0/ingestion/#batch">batch ingestion</a>.</p>
-<p>For example:</p>
-<ul>
-<li><a href="/docs/34.0.0/ingestion/native-batch">Native batch</a> with <code>appendToExisting: false</code>, and <code>intervals</code> set to a specific
-time range, overwrites data for that time range.</li>
-<li><a href="/docs/34.0.0/multi-stage-query/reference#replace">SQL <code>REPLACE &lt;table&gt; OVERWRITE [ALL | WHERE ...]</code></a> overwrites data for
-the entire table or for a specified time range.</li>
-</ul>
-<p>In both cases, Druid&#x27;s atomic update mechanism ensures that queries will flip seamlessly from the old data to the new
-data on a time-chunk-by-time-chunk basis.</p>
-<p>Ingestion and overwriting cannot run concurrently for the same time range of the same datasource. While an overwrite job
-is ongoing for a particular time range of a datasource, new ingestions for that time range are queued up. Ingestions for
-other time ranges proceed as normal. Read-only queries also proceed as normal, using the pre-existing version of the
-data.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>Druid does not support single-rec [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="reindex">Reindex<a href="#reindex" class="hash-link" aria-label="Direct link to Reindex" title="Direct link to Reindex">​</a></h2>
-<p>Reindexing is an <a href="#overwrite">overwrite of existing data</a> where the source of new data is the existing data itself. It
-is used to perform schema changes, repartition data, filter out unwanted data, enrich existing data, and so on. This
-behaves just like any other <a href="#overwrite">overwrite</a> with regard to atomic updates and locking.</p>
-<p>With <a href="/docs/34.0.0/ingestion/native-batch">native batch</a>, use the <a href="/docs/34.0.0/ingestion/input-sources#druid-input-source"><code>druid</code> input
-source</a>. If needed,
-<a href="/docs/34.0.0/ingestion/ingestion-spec#transformspec"><code>transformSpec</code></a> can be used to filter or modify data during the
-reindexing job.</p>
-<p>With SQL, use <a href="/docs/34.0.0/multi-stage-query/reference#replace"><code>REPLACE &lt;table&gt; OVERWRITE</code></a> with <code>SELECT ... FROM &lt;table&gt;</code>.
-(Druid does not have <code>UPDATE</code> or <code>ALTER TABLE</code> statements.) Any SQL SELECT query can be used to filter,
-modify, or enrich the data during the reindexing job.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="rolled-up-datasources">Rolled-up datasources<a href="#rolled-up-datasources" class="hash-link" aria-label="Direct link to Rolled-up datasources" title="Direct link to Rolled-up datasources">​</a></h2>
-<p>Rolled-up datasources can be effectively updated using appends, without rewrites. When you append a row that has an
-identical set of dimensions to an existing row, queries that use aggregation operators automatically combine those two
-rows together at query time.</p>
-<p><a href="/docs/34.0.0/data-management/compaction">Compaction</a> or <a href="/docs/34.0.0/data-management/automatic-compaction">automatic compaction</a> can be used to physically combine these
-matching rows together later on, by rewriting segments in the background.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="lookups">Lookups<a href="#lookups" class="hash-link" aria-label="Direct link to Lookups" title="Direct link to Lookups">​</a></h2>
-<p>If you have a dimension where values need to be updated frequently, try first using <a href="/docs/34.0.0/querying/lookups">lookups</a>. A
-classic use case of lookups is when you have an ID dimension stored in a Druid segment, and want to map the ID dimension to a
-human-readable string that may need to be updated periodically.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/data-management/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Overview</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/data-management/delete"><div class="pagination-nav__sublabel" [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/dependencies/cassandra-deep-storage.html/index.html b/docs/34.0.0/dependencies/cassandra-deep-storage.html/index.html
deleted file mode 100644
index 20528f992..000000000
--- a/docs/34.0.0/dependencies/cassandra-deep-storage.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/development/extensions-contrib/cassandra">
-    <link rel="canonical" href="/docs/34.0.0/development/extensions-contrib/cassandra" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/development/extensions-contrib/cassandra' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/dependencies/zookeeper.html/index.html b/docs/34.0.0/dependencies/zookeeper.html/index.html
deleted file mode 100644
index fd182f846..000000000
--- a/docs/34.0.0/dependencies/zookeeper.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/zookeeper">
-    <link rel="canonical" href="/docs/34.0.0/design/zookeeper" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/zookeeper' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design.html/index.html b/docs/34.0.0/design.html/index.html
deleted file mode 100644
index 6b9f3a22e..000000000
--- a/docs/34.0.0/design.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/">
-    <link rel="canonical" href="/docs/34.0.0/design/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/architecture.html/index.html b/docs/34.0.0/design/architecture.html/index.html
deleted file mode 100644
index f1588ea01..000000000
--- a/docs/34.0.0/design/architecture.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/architecture">
-    <link rel="canonical" href="/docs/34.0.0/design/architecture" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/architecture' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/architecture/index.html b/docs/34.0.0/design/architecture/index.html
deleted file mode 100644
index 968de4cd8..000000000
--- a/docs/34.0.0/design/architecture/index.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-design/architecture" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Architecture | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/design/ [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>The following diagram shows the services that make up the Druid architecture, their typical arrangement across servers, and how queries and data flow through this architecture.</p>
-<p><img decoding="async" loading="lazy" alt="Druid architecture" src="/assets/images/druid-architecture-a2d14e8be60d586632471e97383e406c.svg" width="1967" height="873" class="img_ev3q"></p>
-<p>The following sections describe the components of this architecture.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="druid-services">Druid services<a href="#druid-services" class="hash-link" aria-label="Direct link to Druid services" title="Direct link to Druid services">​</a></h2>
-<p>Druid has several types of services:</p>
-<ul>
-<li><a href="/docs/34.0.0/design/coordinator">Coordinator</a> manages data availability on the cluster.</li>
-<li><a href="/docs/34.0.0/design/overlord">Overlord</a> controls the assignment of data ingestion workloads.</li>
-<li><a href="/docs/34.0.0/design/broker">Broker</a> handles queries from external clients.</li>
-<li><a href="/docs/34.0.0/design/router">Router</a> routes requests to Brokers, Coordinators, and Overlords.</li>
-<li><a href="/docs/34.0.0/design/historical">Historical</a> stores queryable data.</li>
-<li><a href="/docs/34.0.0/design/middlemanager">Middle Manager</a> and <a href="/docs/34.0.0/design/peons">Peon</a> ingest data.</li>
-<li><a href="/docs/34.0.0/design/indexer">Indexer</a> serves as an alternative to the Middle Manager + Peon task execution system.</li>
-</ul>
-<p>You can view services in the <strong>Services</strong> tab in the web console:</p>
-<p><img decoding="async" loading="lazy" alt="Druid services" src="/assets/images/services-overview-626a864a11edcf4945591a35d4a3814c.png" title="Services in the web console" width="1250" height="640" class="img_ev3q"></p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="druid-servers">Druid servers<a href="#druid-servers" class="hash-link" aria-label="Direct link to Druid servers" title="Direct link to Druid servers">​</a></h2>
-<p>You can deploy Druid services according to your preferences. For ease of deployment, we recommend organizing them into three server types: <a href="#master-server">Master</a>, <a href="#query-server">Query</a>, and <a href="#data-server">Data</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="master-server">Master server<a href="#master-server" class="hash-link" aria-label="Direct link to Master server" title="Direct link to Master server">​</a></h3>
-<p>A Master server manages data ingestion and availability. It is responsible for starting new ingestion jobs and coordinating availability of data on the <a href="#data-server">Data server</a>.</p>
-<p>Master servers divide operations between Coordinator and Overlord services.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator-service">Coordinator service<a href="#coordinator-service" class="hash-link" aria-label="Direct link to Coordinator service" title="Direct link to Coordinator service">​</a></h4>
-<p><a href="/docs/34.0.0/design/coordinator">Coordinator</a> services watch over the Historical services on the Data servers. They are responsible for assigning segments to specific servers, and for ensuring segments are well-balanced across Historicals.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="overlord-service">Overlord service<a href="#overlord-service" class="hash-link" aria-label="Direct link to Overlord service" title="Direct link to Overlord service">​</a></h4>
-<p><a href="/docs/34.0.0/design/overlord">Overlord</a> services watch over the Middle Manager services on the Data servers and are the controllers of data ingestion into Druid. They are responsible for assigning ingestion tasks to Middle Managers and for coordinating segment publishing.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="query-server">Query server<a href="#query-server" class="hash-link" aria-label="Direct link to Query server" title="Direct link to Query server">​</a></h3>
-<p>A Query server provides the endpoints that users and client applications interact with, routing queries to Data servers or other Query servers (and optionally proxied Master server requests).</p>
-<p>Query servers divide operations between Broker and Router services.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="broker-service">Broker service<a href="#broker-service" class="hash-link" aria-label="Direct link to Broker service" title="Direct link to Broker service">​</a></h4>
-<p><a href="/docs/34.0.0/design/broker">Broker</a> services receive queries from external clients and forward those queries to Data servers. When Brokers receive results from those subqueries, they merge those results and return them to the caller. Typically, you query Brokers rather than querying Historical or Middle Manager services on Data servers directly.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="router-service">Router service<a href="#router-service" class="hash-link" aria-label="Direct link to Router service" title="Direct link to Router service">​</a></h4>
-<p><a href="/docs/34.0.0/design/router"><strong>Router</strong></a> services provide a unified API gateway in front of Brokers, Overlords, and Coordinators.</p>
-<p>The Router service also runs the <a href="/docs/34.0.0/operations/web-console">web console</a>, a UI for loading data, managing datasources and tasks, and viewing server status and segment information.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="data-server">Data server<a href="#data-server" class="hash-link" aria-label="Direct link to Data server" title="Direct link to Data server">​</a></h3>
-<p>A Data server executes ingestion jobs and stores queryable data.</p>
-<p>Data servers divide operations between Historical and Middle Manager services.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="historical-service">Historical service<a href="#historical-service" class="hash-link" aria-label="Direct link to Historical service" title="Direct link to Historical service">​</a></h4>
-<p><a href="/docs/34.0.0/design/historical"><strong>Historical</strong></a> services handle storage and querying on historical data, including any streaming data that has been in the system long enough to be committed. Historical services download segments from deep storage and respond to queries about these segments. They don&#x27;t accept writes.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="middle-manager-service">Middle Manager service<a href="#middle-manager-service" class="hash-link" aria-label="Direct link to Middle Manager service" title="Direct link to Middle Manager service">​</a></h4>
-<p><a href="/docs/34.0.0/design/middlemanager"><strong>Middle Manager</strong></a> services handle ingestion of new data into the cluster. They are responsible
-for reading from external data sources and publishing new Druid segments.</p>
-<h5 class="anchor anchorWithStickyNavbar_LWe7" id="peon-service">Peon service<a href="#peon-service" class="hash-link" aria-label="Direct link to Peon service" title="Direct link to Peon service">​</a></h5>
-<p><a href="/docs/34.0.0/design/peons"><strong>Peon</strong></a> services are task execution engines spawned by Middle Managers. Each Peon runs a separate JVM and is responsible for executing a single task. Peons always run on the same host as the Middle Manager that spawned them.</p>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="indexer-service-optional">Indexer service (optional)<a href="#indexer-service-optional" class="hash-link" aria-label="Direct link to Indexer service (optional)" title="Direct link to Indexer service (optional)">​</a></h4>
-<p><a href="/docs/34.0.0/design/indexer"><strong>Indexer</strong></a> services are an alternative to Middle Managers and Peons. Instead of
-forking separate JVM processes per-task, the Indexer runs tasks as individual threads within a single JVM process.</p>
-<p>The Indexer is designed to be easier to configure and deploy compared to the MiddleManager + Peon system and to better enable resource sharing across tasks, which can help streaming ingestion. The Indexer is currently designated <a href="/docs/34.0.0/development/experimental">experimental</a>.</p>
-<p>Typically, you would deploy one of the following: MiddleManagers, <a href="/docs/34.0.0/development/extensions-core/k8s-jobs">MiddleManager-less ingestion using Kubernetes</a>, or Indexers. You wouldn&#x27;t deploy more than one of these options.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="colocation-of-services">Colocation of services<a href="#colocation-of-services" class="hash-link" aria-label="Direct link to Colocation of services" title="Direct link to Colocation of services">​</a></h2>
-<p>Colocating Druid services by server type generally results in better utilization of hardware resources for most clusters.
-For very large scale clusters, it can be desirable to split the Druid services such that they run on individual servers to avoid resource contention.</p>
-<p>This section describes guidelines and configuration parameters related to service colocation.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinators-and-overlords">Coordinators and Overlords<a href="#coordinators-and-overlords" class="hash-link" aria-label="Direct link to Coordinators and Overlords" title="Direct link to Coordinators and Overlords">​</a></h3>
-<p>The workload on the Coordinator service tends to increase with the number of segments in the cluster. The Overlord&#x27;s workload also increases based on the number of segments in the cluster, but to a lesser degree than the Coordinator.</p>
-<p>In clusters with very high segment counts, it can make sense to separate the Coordinator and Overlord services to provide more resources for the Coordinator&#x27;s segment balancing workload.</p>
-<p>You can run the Coordinator and Overlord services as a single combined service by setting the <code>druid.coordinator.asOverlord.enabled</code> property.
-For more information, see <a href="/docs/34.0.0/configuration/#coordinator-operation">Coordinator Operation</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="historicals-and-middle-managers">Historicals and Middle Managers<a href="#historicals-and-middle-managers" class="hash-link" aria-label="Direct link to Historicals and Middle Managers" title="Direct link to Historicals and Middle Managers">​</a></h3>
-<p>With higher levels of ingestion or query load, it can make sense to deploy the Historical and Middle Manager services on separate hosts to to avoid CPU and memory contention.</p>
-<p>The Historical service also benefits from having free memory for memory mapped segments, which can be another reason to deploy the Historical and Middle Manager services separately.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="external-dependencies">External dependencies<a href="#external-dependencies" class="hash-link" aria-label="Direct link to External dependencies" title="Direct link to External dependencies">​</a></h2>
-<p>In addition to its built-in service types, Druid also has three external dependencies. These are intended to be able to
-leverage existing infrastructure, where present.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="deep-storage">Deep storage<a href="#deep-storage" class="hash-link" aria-label="Direct link to Deep storage" title="Direct link to Deep storage">​</a></h3>
-<p>Druid uses deep storage to store any data that has been ingested into the system. Deep storage is shared file
-storage accessible by every Druid server. In a clustered deployment, this is typically a distributed object store like S3 or
-HDFS, or a network mounted filesystem. In a single-server deployment, this is typically local disk.</p>
-<p>Druid uses deep storage for the following purposes:</p>
-<ul>
-<li>To store all the data you ingest. Segments that get loaded onto Historical services for low latency queries are also kept in deep storage for backup purposes. Additionally, segments that are only in deep storage can be used for <a href="/docs/34.0.0/querying/query-deep-storage">queries from deep storage</a>.</li>
-<li>As a way to transfer data in the background between Druid services. Druid stores data in files called <em>segments</em>.</li>
-</ul>
-<p>Historical services cache data segments on local disk and serve queries from that cache as well as from an in-memory cache.
-Segments on disk for Historical services provide the low latency querying performance Druid is known for.</p>
-<p>You can also query directly from deep storage. When you query segments that exist only in deep storage, you trade some performance  for the ability to query more of your data without necessarily having to scale your Historical services.</p>
-<p>When determining sizing for your storage, keep the following in mind:</p>
-<ul>
-<li>Deep storage needs to be able to hold all the data that you ingest into Druid.</li>
-<li>On disk storage for Historical services need to be able to accommodate the data you want to load onto them to run queries. The data on Historical services should be data you access frequently and need to run low latency queries for.</li>
-</ul>
-<p>Deep storage is an important part of Druid&#x27;s elastic, fault-tolerant design. Druid bootstraps from deep storage even
-if every single data server is lost and re-provisioned.</p>
-<p>For more details, please see the <a href="/docs/34.0.0/design/deep-storage">Deep storage</a> page.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="metadata-storage">Metadata storage<a href="#metadata-storage" class="hash-link" aria-label="Direct link to Metadata storage" title="Direct link to Metadata storage">​</a></h3>
-<p>The metadata storage holds various shared system metadata such as segment usage information and task information. In a
-clustered deployment, this is typically a traditional RDBMS like PostgreSQL or MySQL. In a single-server
-deployment, it is typically a locally-stored Apache Derby database.</p>
-<p>For more details, please see the <a href="/docs/34.0.0/design/metadata-storage">Metadata storage</a> page.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="zookeeper">ZooKeeper<a href="#zookeeper" class="hash-link" aria-label="Direct link to ZooKeeper" title="Direct link to ZooKeeper">​</a></h3>
-<p>Used for internal service discovery, coordination, and leader election.</p>
-<p>For more details, please see the <a href="/docs/34.0.0/design/zookeeper">ZooKeeper</a> page.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="learn-more">Learn more<a href="#learn-more" class="hash-link" aria-label="Direct link to Learn more" title="Direct link to Learn more">​</a></h2>
-<p>See the following topics for more information:</p>
-<ul>
-<li><a href="/docs/34.0.0/design/storage">Storage components</a> to learn about data storage in Druid.</li>
-<li><a href="/docs/34.0.0/design/segments">Segments</a> to learn about segment files.</li>
-<li><a href="/docs/34.0.0/querying/query-processing">Query processing</a> for a high-level overview of how Druid processes queries.</li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/tutorials/tutorial-kerberos-hadoop"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Kerberized HDFS deep storage</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/design/coordinator"><div class="pagination-nav__sublabel">Next</div><div class="pagin [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/auth.html/index.html b/docs/34.0.0/design/auth.html/index.html
deleted file mode 100644
index fd6971753..000000000
--- a/docs/34.0.0/design/auth.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/operations/auth">
-    <link rel="canonical" href="/docs/34.0.0/operations/auth" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/operations/auth' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/broker.html/index.html b/docs/34.0.0/design/broker.html/index.html
deleted file mode 100644
index 6b4a50a36..000000000
--- a/docs/34.0.0/design/broker.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/broker">
-    <link rel="canonical" href="/docs/34.0.0/design/broker" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/broker' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/broker/index.html b/docs/34.0.0/design/broker/index.html
deleted file mode 100644
index 60cf00a42..000000000
--- a/docs/34.0.0/design/broker/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-design/broker" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Broker service | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/desig [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2>
-<p>For Apache Druid Broker service configuration, see <a href="/docs/34.0.0/configuration/#broker">Broker Configuration</a>.</p>
-<p>For basic tuning guidance for the Broker service, see <a href="/docs/34.0.0/operations/basic-cluster-tuning#broker">Basic cluster tuning</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="http-endpoints">HTTP endpoints<a href="#http-endpoints" class="hash-link" aria-label="Direct link to HTTP endpoints" title="Direct link to HTTP endpoints">​</a></h2>
-<p>For a list of API endpoints supported by the Broker, see <a href="/docs/34.0.0/api-reference/legacy-metadata-api#broker">Broker API</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="running">Running<a href="#running" class="hash-link" aria-label="Direct link to Running" title="Direct link to Running">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">org.apache.druid.cli.Main server broker</span><br></span></code></pre><div class="buttonGroup__atx"><butt [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="forwarding-queries">Forwarding queries<a href="#forwarding-queries" class="hash-link" aria-label="Direct link to Forwarding queries" title="Direct link to Forwarding queries">​</a></h2>
-<p>Most Druid queries contain an interval object that indicates a span of time for which data is requested. Similarly, Druid partitions <a href="/docs/34.0.0/design/segments">segments</a> to contain data for some interval of time and distributes the segments across a cluster. Consider a simple datasource with seven segments where each segment contains data for a given day of the week. Any query issued to the datasource for more than one day of data will hit more than one segment. These s [...]
-<p>To determine which services to forward queries to, the Broker service first builds a view of the world from information in ZooKeeper. ZooKeeper maintains information about <a href="/docs/34.0.0/design/historical">Historical</a> and streaming ingestion <a href="/docs/34.0.0/design/peons">Peon</a> services and the segments they are serving. For every datasource in ZooKeeper, the Broker service builds a timeline of segments and the services that serve them. When queries are received for  [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="caching">Caching<a href="#caching" class="hash-link" aria-label="Direct link to Caching" title="Direct link to Caching">​</a></h2>
-<p>Broker services employ a cache with an LRU cache invalidation strategy. The Broker cache stores per-segment results. The cache can be local to each Broker service or shared across multiple services using an external distributed cache such as <a href="http://memcached.org/" target="_blank" rel="noopener noreferrer">memcached</a>. Each time a Broker service receives a query, it first maps the query to a set of segments. A subset of these segment results may already exist in the cache an [...]
-Historical services. Once the Historical services return their results, the Broker will store those results in the cache. Real-time segments are never cached and hence requests for real-time data will always be forwarded to real-time services. Real-time data is perpetually changing and caching the results would be unreliable.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0. [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/concepts-and-terminology.html/index.html b/docs/34.0.0/design/concepts-and-terminology.html/index.html
deleted file mode 100644
index 6b9f3a22e..000000000
--- a/docs/34.0.0/design/concepts-and-terminology.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/">
-    <link rel="canonical" href="/docs/34.0.0/design/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/coordinator.html/index.html b/docs/34.0.0/design/coordinator.html/index.html
deleted file mode 100644
index cce854667..000000000
--- a/docs/34.0.0/design/coordinator.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/coordinator">
-    <link rel="canonical" href="/docs/34.0.0/design/coordinator" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/coordinator' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/coordinator/index.html b/docs/34.0.0/design/coordinator/index.html
deleted file mode 100644
index 2ed9a850b..000000000
--- a/docs/34.0.0/design/coordinator/index.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-design/coordinator" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Coordinator service | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/ [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-Coordinator service communicates to Historical services to load or drop segments based on configurations. The Coordinator is responsible for loading new segments, dropping outdated segments, ensuring that segments are &quot;replicated&quot; (that is, loaded on multiple different Historical nodes) proper (configured) number of times, and moving
-(&quot;balancing&quot;) segments between Historical nodes to keep the latter evenly loaded.</p>
-<p>The Coordinator runs its duties periodically and the time between each run is a configurable parameter. On each
-run, the Coordinator assesses the current state of the cluster before deciding on the appropriate actions to take.
-Similar to the Broker and Historical services, the Coordinator maintains a connection to a ZooKeeper cluster for
-current cluster information. The Coordinator also maintains a connection to a database containing information about
-&quot;used&quot; segments (that is, the segments that <em>should</em> be loaded in the cluster) and the loading rules.</p>
-<p>Before any unassigned segments are serviced by Historical services, the Historical services for each tier are first
-sorted in terms of capacity, with least capacity servers having the highest priority. Unassigned segments are always
-assigned to the services with least capacity to maintain a level of balance between services. The Coordinator does not
-directly communicate with a Historical service when assigning it a new segment; instead the Coordinator creates some
-temporary information about the new segment under load queue path of the Historical service. Once this request is seen,
-the Historical service loads the segment and begins servicing it.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2>
-<p>For Apache Druid Coordinator service configuration, see <a href="/docs/34.0.0/configuration/#coordinator">Coordinator configuration</a>.</p>
-<p>For basic tuning guidance for the Coordinator service, see <a href="/docs/34.0.0/operations/basic-cluster-tuning#coordinator">Basic cluster tuning</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="http-endpoints">HTTP endpoints<a href="#http-endpoints" class="hash-link" aria-label="Direct link to HTTP endpoints" title="Direct link to HTTP endpoints">​</a></h2>
-<p>For a list of API endpoints supported by the Coordinator, see <a href="/docs/34.0.0/api-reference/service-status-api#coordinator">Service status API reference</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="running">Running<a href="#running" class="hash-link" aria-label="Direct link to Running" title="Direct link to Running">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">org.apache.druid.cli.Main server coordinator</span><br></span></code></pre><div class="buttonGroup__atx"> [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="rules">Rules<a href="#rules" class="hash-link" aria-label="Direct link to Rules" title="Direct link to Rules">​</a></h2>
-<p>Segments can be automatically loaded and dropped from the cluster based on a set of rules. For more information on rules, see <a href="/docs/34.0.0/operations/rule-configuration">Rule Configuration</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="clean-up-overshadowed-segments">Clean up overshadowed segments<a href="#clean-up-overshadowed-segments" class="hash-link" aria-label="Direct link to Clean up overshadowed segments" title="Direct link to Clean up overshadowed segments">​</a></h3>
-<p>On each run, the Coordinator compares the set of used segments in the database with the segments served by some
-Historical nodes in the cluster. The Coordinator sends requests to Historical nodes to unload unused segments or segments
-that are removed from the database.</p>
-<p>Segments that are overshadowed (their versions are too old and their data has been replaced by newer segments) are
-marked as unused. During the next Coordinator&#x27;s run, they will be unloaded from Historical nodes in the cluster.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="clean-up-non-overshadowed-eternity-tombstone-segments">Clean up non-overshadowed eternity tombstone segments<a href="#clean-up-non-overshadowed-eternity-tombstone-segments" class="hash-link" aria-label="Direct link to Clean up non-overshadowed eternity tombstone segments" title="Direct link to Clean up non-overshadowed eternity tombstone segments">​</a></h3>
-<p>On each run, the Coordinator determines and cleans up unneeded eternity tombstone segments for each datasource. These segments must fit all the following criteria:</p>
-<ul>
-<li>It is a tombstone segment that starts at -INF or ends at INF (for example, a tombstone with an interval of <code>-146136543-09-08T08:23:32.096Z/2000-01-01</code> or <code>2020-01-01/146140482-04-24T15:36:27.903Z</code> or <code>-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z</code>)</li>
-<li>It does not overlap with any overshadowed segment</li>
-<li>It has 0 core partitions</li>
-</ul>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="segment-availability">Segment availability<a href="#segment-availability" class="hash-link" aria-label="Direct link to Segment availability" title="Direct link to Segment availability">​</a></h2>
-<p>If a Historical service restarts or becomes unavailable for any reason, the Coordinator notices that a service has gone missing and treats all segments served by that service as being dropped. The segments are then reassigned to other Historical services in the cluster. However, each segment that is dropped is not immediately forgotten. Instead, there is a transitional data structure that stores all dropped segments with an associated lifetime. The lifetime represents a period of time [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="balancing-segments-in-a-tier">Balancing segments in a tier<a href="#balancing-segments-in-a-tier" class="hash-link" aria-label="Direct link to Balancing segments in a tier" title="Direct link to Balancing segments in a tier">​</a></h2>
-<p>Druid queries perform optimally when segments are distributed evenly across Historical services. An ideal distribution would ensure that all Historicals participate equally in the query load thus avoiding hot-spots in the system. To some extent, this can be achieved by keeping multiple replicas of a segment in a cluster.
-But in a tier with several Historicals (or a low replication factor), segment replication is not sufficient to attain balance.
-Thus, the Coordinator constantly monitors the set of segments present on each Historical in a tier and employs one of the following strategies to identify segments that may be moved from one Historical to another to retain balance.</p>
-<ul>
-<li><code>cost</code> (default): For a given segment in a tier, this strategy picks the server with the minimum &quot;cost&quot; of placing that segment. The cost is a function of the data interval of the segment and the data intervals of all the segments already present on the candidate server. In essence, this strategy tries to avoid placing segments with adjacent or overlapping data intervals on the same server. This is based on the premise that adjacent-interval segments are more lik [...]
-<li><code>diskNormalized</code>: A derivative of the <code>cost</code> strategy that weights the cost of placing a segment on a server with the disk usage ratio of the server. There are known issues with this strategy and is not recommended for a production cluster.</li>
-<li><code>random</code>: Distributes segments randomly across servers. This is an experimental strategy and is not recommended for a production cluster.</li>
-</ul>
-<p>All of the above strategies prioritize moving segments from the Historical with the least available disk space.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="automatic-compaction">Automatic compaction<a href="#automatic-compaction" class="hash-link" aria-label="Direct link to Automatic compaction" title="Direct link to Automatic compaction">​</a></h2>
-<p>The Coordinator manages the <a href="/docs/34.0.0/data-management/automatic-compaction">automatic compaction system</a>.
-Each run, the Coordinator compacts segments by merging small segments or splitting a large one. This is useful when the size of your segments is not optimized which may degrade query performance.
-See <a href="/docs/34.0.0/operations/segment-optimization">Segment size optimization</a> for details.</p>
-<p>The Coordinator first finds the segments to compact based on the <a href="#segment-search-policy-in-automatic-compaction">segment search policy</a>.
-Once some segments are found, it issues a <a href="/docs/34.0.0/ingestion/tasks#compact">compaction task</a> to compact those segments.
-The maximum number of running compaction tasks is <code>min(sum of worker capacity * slotRatio, maxSlots)</code>.
-Note that even if <code>min(sum of worker capacity * slotRatio, maxSlots) = 0</code>, at least one compaction task is always submitted
-if the compaction is enabled for a dataSource.
-See <a href="/docs/34.0.0/api-reference/automatic-compaction-api#manage-automatic-compaction">Automatic compaction configuration API</a> and <a href="/docs/34.0.0/configuration/#automatic-compaction-dynamic-configuration">Automatic compaction configuration</a> to enable and configure automatic compaction.</p>
-<p>Compaction tasks might fail due to the following reasons:</p>
-<ul>
-<li>If the input segments of a compaction task are removed or overshadowed before it starts, that compaction task fails immediately.</li>
-<li>If a task of a higher priority acquires a <a href="/docs/34.0.0/ingestion/tasks#locking">time chunk lock</a> for an interval overlapping with the interval of a compaction task, the compaction task fails.</li>
-</ul>
-<p>Once a compaction task fails, the Coordinator simply checks the segments in the interval of the failed task again, and issues another compaction task in the next run.</p>
-<p>Note that Compacting Segments Coordinator Duty is automatically enabled and run as part of the Indexing Service Duties group. However, Compacting Segments Coordinator Duty can be configured to run in isolation as a separate Coordinator duty group. This allows changing the period of Compacting Segments Coordinator Duty without impacting the period of other Indexing Service Duties. This can be done by setting the following properties. For more details, see <a href="/docs/34.0.0/developm [...]
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.coordinator.dutyGroups=[&lt;SOME_GROUP_NAME&gt;]</span><br></span><span class="token-line" style="c [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="segment-search-policy-in-automatic-compaction">Segment search policy in automatic compaction<a href="#segment-search-policy-in-automatic-compaction" class="hash-link" aria-label="Direct link to Segment search policy in automatic compaction" title="Direct link to Segment search policy in automatic compaction">​</a></h2>
-<p>At every Coordinator run, this policy looks up time chunks from newest to oldest and checks whether the segments in those time chunks
-need compaction.
-A set of segments needs compaction if all conditions below are satisfied:</p>
-<ul>
-<li>Total size of segments in the time chunk is smaller than or equal to the configured <code>inputSegmentSizeBytes</code>.</li>
-<li>Segments have never been compacted yet or compaction spec has been updated since the last compaction: <code>maxTotalRows</code> or <code>indexSpec</code>.</li>
-</ul>
-<p>Here are some details with an example. Suppose we have two dataSources (<code>foo</code>, <code>bar</code>) as seen below:</p>
-<ul>
-<li><code>foo</code>
-<ul>
-<li><code>foo_2017-11-01T00:00:00.000Z_2017-12-01T00:00:00.000Z_VERSION</code></li>
-<li><code>foo_2017-11-01T00:00:00.000Z_2017-12-01T00:00:00.000Z_VERSION_1</code></li>
-<li><code>foo_2017-09-01T00:00:00.000Z_2017-10-01T00:00:00.000Z_VERSION</code></li>
-</ul>
-</li>
-<li><code>bar</code>
-<ul>
-<li><code>bar_2017-10-01T00:00:00.000Z_2017-11-01T00:00:00.000Z_VERSION</code></li>
-<li><code>bar_2017-10-01T00:00:00.000Z_2017-11-01T00:00:00.000Z_VERSION_1</code></li>
-</ul>
-</li>
-</ul>
-<p>Assuming that each segment is 10 MB and haven&#x27;t been compacted yet, this policy first returns two segments of
-<code>foo_2017-11-01T00:00:00.000Z_2017-12-01T00:00:00.000Z_VERSION</code> and <code>foo_2017-11-01T00:00:00.000Z_2017-12-01T00:00:00.000Z_VERSION_1</code> to compact together because
-<code>2017-11-01T00:00:00.000Z/2017-12-01T00:00:00.000Z</code> is the most recent time chunk.</p>
-<p>If the Coordinator has enough task slots for compaction, this policy will continue searching for the next segments and return
-<code>bar_2017-10-01T00:00:00.000Z_2017-11-01T00:00:00.000Z_VERSION</code> and <code>bar_2017-10-01T00:00:00.000Z_2017-11-01T00:00:00.000Z_VERSION_1</code>.
-Finally, <code>foo_2017-09-01T00:00:00.000Z_2017-10-01T00:00:00.000Z_VERSION</code> will be picked up even though there is only one segment in the time chunk of <code>2017-09-01T00:00:00.000Z/2017-10-01T00:00:00.000Z</code>.</p>
-<p>The search start point can be changed by setting <code>skipOffsetFromLatest</code>.
-If this is set, this policy will ignore the segments falling into the time chunk of (the end time of the most recent segment - <code>skipOffsetFromLatest</code>).
-This is to avoid conflicts between compaction tasks and realtime tasks.
-Note that realtime tasks have a higher priority than compaction tasks by default. Realtime tasks will revoke the locks of compaction tasks if their intervals overlap, resulting in the termination of the compaction task.
-For more information, see <a href="/docs/34.0.0/data-management/automatic-compaction#avoid-conflicts-with-ingestion">Avoid conflicts with ingestion</a>.</p>
-<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>This policy currently cannot hand [...]
-and their total size exceeds <a href="/docs/34.0.0/configuration/#automatic-compaction-dynamic-configuration"><code>inputSegmentSizeBytes</code></a>.
-If it finds such segments, it simply skips them.</p></div></div>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="faq">FAQ<a href="#faq" class="hash-link" aria-label="Direct link to FAQ" title="Direct link to FAQ">​</a></h2>
-<ol>
-<li>
-<p><strong>Do clients ever contact the Coordinator service?</strong></p>
-<p>The Coordinator is not involved in a query.</p>
-<p>Historical services never directly contact the Coordinator service. The Coordinator tells the Historical services to load/drop data via ZooKeeper, but the Historical services are completely unaware of the Coordinator.</p>
-<p>Brokers also never contact the Coordinator. Brokers base their understanding of the data topology on metadata exposed by the Historical services via ZooKeeper and are completely unaware of the Coordinator.</p>
-</li>
-<li>
-<p><strong>Does it matter if the Coordinator service starts up before or after other services?</strong></p>
-<p>No. If the Coordinator is not started up, no new segments will be loaded in the cluster and outdated segments will not be dropped. However, the Coordinator service can be started up at any time, and after a configurable delay, will start running Coordinator tasks.</p>
-<p>This also means that if you have a working cluster and all of your Coordinators die, the cluster will continue to function, it just won’t experience any changes to its data topology.</p>
-</li>
-</ol></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/design/architecture"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Architecture</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/design/overlord"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Overlord</div></ [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/deep-storage.html/index.html b/docs/34.0.0/design/deep-storage.html/index.html
deleted file mode 100644
index 9772ed0a8..000000000
--- a/docs/34.0.0/design/deep-storage.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/deep-storage">
-    <link rel="canonical" href="/docs/34.0.0/design/deep-storage" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/deep-storage' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/deep-storage/index.html b/docs/34.0.0/design/deep-storage/index.html
deleted file mode 100644
index c5f2a4864..000000000
--- a/docs/34.0.0/design/deep-storage/index.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-design/deep-storage" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Deep storage | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/design/ [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>In addition to being the backing store for segments, you can use <a href="#querying-from-deep-storage">query from deep storage</a> and run queries against segments stored primarily in deep storage. The <a href="/docs/34.0.0/operations/rule-configuration#load-rules">load rules</a> you configure determine whether segments exist primarily in deep storage or in a combination of deep storage and Historical processes.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deep-storage-options">Deep storage options<a href="#deep-storage-options" class="hash-link" aria-label="Direct link to Deep storage options" title="Direct link to Deep storage options">​</a></h2>
-<p>Druid supports multiple options for deep storage, including blob storage from major cloud providers. Select the one that fits your environment.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="local">Local<a href="#local" class="hash-link" aria-label="Direct link to Local" title="Direct link to Local">​</a></h3>
-<p>Local storage is intended for use in the following situations:</p>
-<ul>
-<li>You have just one server.</li>
-<li>Or, you have multiple servers, and they all have access to a shared filesystem (for example: NFS).</li>
-</ul>
-<p>In multi-server production clusters, rather than local storage with a shared filesystem, it is instead recommended to
-use cloud-based deep storage (<a href="#amazon-s3-or-s3-compatible">Amazon S3</a>, <a href="#google-cloud-storage">Google Cloud Storage</a>,
-or <a href="#azure-blob-storage">Azure Blob Storage</a>), S3-compatible storage (like Minio), or <a href="#hdfs">HDFS</a>. These options are
-generally more convenient, more scalable, and more robust than setting up a shared filesystem.</p>
-<p>The following configurations in <code>common.runtime.properties</code> apply to local storage:</p>
-<table><thead><tr><th>Property</th><th>Possible Values</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>druid.storage.type</code></td><td><code>local</code></td><td></td><td>Must be set.</td></tr><tr><td><code>druid.storage.storageDirectory</code></td><td>any local directory</td><td>Directory for storing segments. Must be different from <code>druid.segmentCache.locations</code> and <code>druid.segmentCache.infoDir</code>.</td><td><code>/tmp/druid/localStorage</co [...]
-<p>For example:</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.storage.type=local</span><br></span><span class="token-line" style="color:#bfc7d5"><span class="tok [...]
-<p>The <code>druid.storage.storageDirectory</code> must be set to a different path than <code>druid.segmentCache.locations</code> or
-<code>druid.segmentCache.infoDir</code>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="amazon-s3-or-s3-compatible">Amazon S3 or S3-compatible<a href="#amazon-s3-or-s3-compatible" class="hash-link" aria-label="Direct link to Amazon S3 or S3-compatible" title="Direct link to Amazon S3 or S3-compatible">​</a></h3>
-<p>See <a href="/docs/34.0.0/development/extensions-core/s3"><code>druid-s3-extensions</code></a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="google-cloud-storage">Google Cloud Storage<a href="#google-cloud-storage" class="hash-link" aria-label="Direct link to Google Cloud Storage" title="Direct link to Google Cloud Storage">​</a></h3>
-<p>See <a href="/docs/34.0.0/development/extensions-core/google"><code>druid-google-extensions</code></a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="azure-blob-storage">Azure Blob Storage<a href="#azure-blob-storage" class="hash-link" aria-label="Direct link to Azure Blob Storage" title="Direct link to Azure Blob Storage">​</a></h3>
-<p>See <a href="/docs/34.0.0/development/extensions-core/azure"><code>druid-azure-extensions</code></a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="hdfs">HDFS<a href="#hdfs" class="hash-link" aria-label="Direct link to HDFS" title="Direct link to HDFS">​</a></h3>
-<p>See <a href="/docs/34.0.0/development/extensions-core/hdfs">druid-hdfs-storage extension documentation</a>.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="additional-options">Additional options<a href="#additional-options" class="hash-link" aria-label="Direct link to Additional options" title="Direct link to Additional options">​</a></h3>
-<p>For additional deep storage options, please see our <a href="/docs/34.0.0/configuration/extensions">extensions list</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="querying-from-deep-storage">Querying from deep storage<a href="#querying-from-deep-storage" class="hash-link" aria-label="Direct link to Querying from deep storage" title="Direct link to Querying from deep storage">​</a></h2>
-<p>Although not as performant as querying segments stored on disk for Historical processes, you can query from deep storage to access segments that you may not need frequently or with the extreme low latency Druid queries traditionally provide. You trade some performance for a total lower storage cost because you can access more of your data without the need to increase the number or capacity of your Historical processes.</p>
-<p>For information about how to run queries, see <a href="/docs/34.0.0/querying/query-deep-storage">Query from deep storage</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/design/segments"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Segments</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0 [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/design.html/index.html b/docs/34.0.0/design/design.html/index.html
deleted file mode 100644
index 6b9f3a22e..000000000
--- a/docs/34.0.0/design/design.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/">
-    <link rel="canonical" href="/docs/34.0.0/design/" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/extensions-contrib/dropwizard.html/index.html b/docs/34.0.0/design/extensions-contrib/dropwizard.html/index.html
deleted file mode 100644
index 96979db97..000000000
--- a/docs/34.0.0/design/extensions-contrib/dropwizard.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/extensions-contrib/dropwizard">
-    <link rel="canonical" href="/docs/34.0.0/design/extensions-contrib/dropwizard" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/extensions-contrib/dropwizard' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/extensions-contrib/dropwizard/index.html b/docs/34.0.0/design/extensions-contrib/dropwizard/index.html
deleted file mode 100644
index 200ce9eb7..000000000
--- a/docs/34.0.0/design/extensions-contrib/dropwizard/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-design/extensions-contrib/dropwizard" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Dropwizard metrics emitter | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/ [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-<p>To use this extension, make sure to <a href="/docs/34.0.0/configuration/extensions#loading-extensions">include</a> <code>dropwizard-emitter</code> in the extensions load list.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction">​</a></h2>
-<p>This extension integrates <a href="http://metrics.dropwizard.io/3.1.0/getting-started/#" target="_blank" rel="noopener noreferrer">Dropwizard</a> metrics library with druid so that dropwizard users can easily absorb druid into their monitoring ecosystem.
-It accumulates druid metrics as dropwizard metrics, and emits them to various sinks via dropwizard supported reporters.
-Currently supported dropwizard metrics types counter, gauge, meter, timer and histogram.
-These metrics can be emitted using either Console or JMX reporter.</p>
-<p>To use this emitter, set</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">druid.emitter=dropwizard</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2>
-<p>All the configuration parameters for Dropwizard emitter are under <code>druid.emitter.dropwizard</code>.</p>
-<table><thead><tr><th>property</th><th>description</th><th>required?</th><th>default</th></tr></thead><tbody><tr><td><code>druid.emitter.dropwizard.reporters</code></td><td>List of dropwizard reporters to be used. Here is a list of <a href="#supported-dropwizard-reporters">Supported Reporters</a></td><td>yes</td><td>none</td></tr><tr><td><code>druid.emitter.dropwizard.prefix</code></td><td>Optional prefix to be used for metrics name</td><td>no</td><td>none</td></tr><tr><td><code>druid.em [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="druid-to-dropwizard-event-conversion">Druid to Dropwizard Event Conversion<a href="#druid-to-dropwizard-event-conversion" class="hash-link" aria-label="Direct link to Druid to Dropwizard Event Conversion" title="Direct link to Druid to Dropwizard Event Conversion">​</a></h3>
-<p>Each metric emitted using Dropwizard must specify a type, one of <code>[timer, counter, guage, meter, histogram]</code>. Dropwizard Emitter expects this mapping to
-be provided as a JSON file.  Additionally, this mapping specifies which dimensions should be included for each metric.
-If the user does not specify their own JSON file, a <a href="#default-metrics-mapping">default mapping</a> is used.
-All metrics are expected to be mapped. Metrics which are not mapped will be ignored.
-Dropwizard metric path is organized using the following schema:</p>
-<p><code>&lt;druid metric name&gt; : { &quot;dimensions&quot; : &lt;dimension list&gt;, &quot;type&quot; : &lt;Dropwizard metric type&gt;, &quot;timeUnit&quot; : &lt;For timers, timeunit in which metric is emitted&gt;}</code></p>
-<p>e.g.</p>
-<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token property">&quot;query/time&quot;</span><span class="token plain"> </span><span class="token operat [...]
-<p>For most use-cases, the default mapping is sufficient.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="supported-dropwizard-reporters">Supported Dropwizard reporters<a href="#supported-dropwizard-reporters" class="hash-link" aria-label="Direct link to Supported Dropwizard reporters" title="Direct link to Supported Dropwizard reporters">​</a></h3>
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="jmx-reporter">JMX Reporter<a href="#jmx-reporter" class="hash-link" aria-label="Direct link to JMX Reporter" title="Direct link to JMX Reporter">​</a></h4>
-<p>Used to report druid metrics via JMX.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class [...]
-<h4 class="anchor anchorWithStickyNavbar_LWe7" id="console-reporter">Console Reporter<a href="#console-reporter" class="hash-link" aria-label="Direct link to Console Reporter" title="Direct link to Console Reporter">​</a></h4>
-<p>Used to print Druid Metrics to console logs.</p>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#bfc7d5"><span class [...]
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="default-metrics-mapping">Default Metrics Mapping<a href="#default-metrics-mapping" class="hash-link" aria-label="Direct link to Default Metrics Mapping" title="Direct link to Default Metrics Mapping">​</a></h3>
-<p>Latest default metrics mapping can be found <a href="https://github.com/apache/druid/blob/master/extensions-contrib/dropwizard-emitter/src/main/resources/defaultMetricDimensions.json" target="_blank" rel="noopener noreferrer">here</a></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left- [...]
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/historical.html/index.html b/docs/34.0.0/design/historical.html/index.html
deleted file mode 100644
index a9102f270..000000000
--- a/docs/34.0.0/design/historical.html/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <meta http-equiv="refresh" content="0; url=/docs/34.0.0/design/historical">
-    <link rel="canonical" href="/docs/34.0.0/design/historical" />
-  </head>
-  <script>
-    window.location.href = '/docs/34.0.0/design/historical' + window.location.search + window.location.hash;
-  </script>
-</html>
\ No newline at end of file
diff --git a/docs/34.0.0/design/historical/index.html b/docs/34.0.0/design/historical/index.html
deleted file mode 100644
index 66dfbd6ed..000000000
--- a/docs/34.0.0/design/historical/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-design/historical" data-has-hydrated="false">
-<head>
-<meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v3.7.0">
-<title data-rh="true">Historical service | Apache® Druid</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"><meta data-rh="true" property="og:url" content="https://druid.apache.org/docs/34.0.0/d [...]
-<script src="/js/clipboard.min.js"></script><link rel="stylesheet" href="/assets/css/styles.f3140859.css">
-<script src="/assets/js/runtime~main.34793403.js" defer="defer"></script>
-<script src="/assets/js/main.5b161358.js" defer="defer"></script>
-</head>
-<body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
-Historical services cache data segments on local disk and serve queries from that cache as well as from an in-memory cache.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2>
-<p>For Apache Druid Historical service configuration, see <a href="/docs/34.0.0/configuration/#historical">Historical configuration</a>.</p>
-<p>For basic tuning guidance for the Historical service, see <a href="/docs/34.0.0/operations/basic-cluster-tuning#historical">Basic cluster tuning</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="http-endpoints">HTTP endpoints<a href="#http-endpoints" class="hash-link" aria-label="Direct link to HTTP endpoints" title="Direct link to HTTP endpoints">​</a></h2>
-<p>For a list of API endpoints supported by the Historical, please see the <a href="/docs/34.0.0/api-reference/service-status-api#historical">Service status API reference</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="running">Running<a href="#running" class="hash-link" aria-label="Direct link to Running" title="Direct link to Running">​</a></h2>
-<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#bfc7d5"><span class="token plain">org.apache.druid.cli.Main server historical</span><br></span></code></pre><div class="buttonGroup__atx">< [...]
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="loading-and-serving-segments">Loading and serving segments<a href="#loading-and-serving-segments" class="hash-link" aria-label="Direct link to Loading and serving segments" title="Direct link to Loading and serving segments">​</a></h2>
-<p>Each Historical service copies or pulls segment files from deep storage to local disk in an area called the segment cache. To configure the size and location of the segment cache on each Historical service, set the <code>druid.segmentCache.locations</code>.
-For more information, see <a href="/docs/34.0.0/operations/basic-cluster-tuning#segment-cache-size">Segment cache size</a>.</p>
-<p>The <a href="/docs/34.0.0/design/coordinator">Coordinator</a> controls the assignment of segments to Historicals and the balance of segments between Historicals. Historical services do not communicate directly with each other, nor do they communicate directly with the Coordinator. Instead, the Coordinator creates ephemeral entries in ZooKeeper in a <a href="/docs/34.0.0/configuration/#path-configuration">load queue path</a>. Each Historical service maintains a connection to ZooKeeper, [...]
-<p>When a Historical service detects a new entry in the ZooKeeper load queue, it checks its own segment cache. If no information about the segment exists there, the Historical service first retrieves metadata from ZooKeeper about the segment, including where the segment is located in deep storage and how it needs to decompress and process it.</p>
-<p>For more information about segment metadata and Druid segments in general, see <a href="/docs/34.0.0/design/segments">Segments</a>.</p>
-<p>After a Historical service pulls down and processes a segment from deep storage, Druid advertises the segment as being available for queries from the Broker. This announcement by the Historical is made via ZooKeeper, in a <a href="/docs/34.0.0/configuration/#path-configuration">served segments path</a>.</p>
-<p>For more information about how the Broker determines what data is available for queries, see <a href="/docs/34.0.0/design/broker">Broker</a>.</p>
-<p>To make data from the segment cache available for querying as soon as possible, Historical services search the local segment cache upon startup and advertise the segments found there.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="loading-and-serving-segments-from-cache">Loading and serving segments from cache<a href="#loading-and-serving-segments-from-cache" class="hash-link" aria-label="Direct link to Loading and serving segments from cache" title="Direct link to Loading and serving segments from cache">​</a></h2>
-<p>The segment cache uses <a href="https://en.wikipedia.org/wiki/Mmap" target="_blank" rel="noopener noreferrer">memory mapping</a>. The cache consumes memory from the underlying operating system so Historicals can hold parts of segment files in memory to increase query performance at the data level. The in-memory segment cache is affected by the size of the Historical JVM, heap / direct memory buffers, and other services on the operating system itself.</p>
-<p>At query time, if the required part of a segment file is available in the memory mapped cache or &quot;page cache&quot;, the Historical re-uses it and reads it directly from memory. If it is not in the memory-mapped cache, the Historical reads that part of the segment from disk. In this case, there is potential for new data to flush other segment data from memory. This means that if free operating system memory is close to <code>druid.server.maxSize</code>, the more likely that segmen [...]
-<p>Note that this memory-mapped segment cache is in addition to other <a href="/docs/34.0.0/querying/caching">query-level caches</a>.</p>
-<h2 class="anchor anchorWithStickyNavbar_LWe7" id="querying-segments">Querying segments<a href="#querying-segments" class="hash-link" aria-label="Direct link to Querying segments" title="Direct link to Querying segments">​</a></h2>
-<p>You can configure a Historical service to log and report metrics for every query it services.
-For information on querying Historical services, see <a href="/docs/34.0.0/querying/">Querying</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/34.0.0/design/router"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Router</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/34.0.0/design/middlemanager"><div cla [...]
-</body>
... 33627 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org