blob: 87629aa49a18a925ce462823c909f81eb545566e [file] [log] [blame]
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5713],{15680:(e,n,a)=>{a.d(n,{xA:()=>u,yg:()=>c});var t=a(96540);function s(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function r(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function i(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?r(Object(a),!0).forEach((function(n){s(e,n,a[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))}))}return e}function l(e,n){if(null==e)return{};var a,t,s=function(e,n){if(null==e)return{};var a,t,s={},r=Object.keys(e);for(t=0;t<r.length;t++)a=r[t],n.indexOf(a)>=0||(s[a]=e[a]);return s}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)a=r[t],n.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(s[a]=e[a])}return s}var o=t.createContext({}),p=function(e){var n=t.useContext(o),a=n;return e&&(a="function"==typeof e?e(n):i(i({},n),e)),a},u=function(e){var n=p(e.components);return t.createElement(o.Provider,{value:n},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},g=t.forwardRef((function(e,n){var a=e.components,s=e.mdxType,r=e.originalType,o=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),m=p(a),g=s,c=m["".concat(o,".").concat(g)]||m[g]||d[g]||r;return a?t.createElement(c,i(i({ref:n},u),{},{components:a})):t.createElement(c,i({ref:n},u))}));function c(e,n){var a=arguments,s=n&&n.mdxType;if("string"==typeof e||s){var r=a.length,i=new Array(r);i[0]=g;var l={};for(var o in n)hasOwnProperty.call(n,o)&&(l[o]=n[o]);l.originalType=e,l[m]="string"==typeof e?e:s,i[1]=l;for(var p=2;p<r;p++)i[p]=a[p];return t.createElement.apply(null,i)}return t.createElement.apply(null,a)}g.displayName="MDXCreateElement"},19365:(e,n,a)=>{a.d(n,{A:()=>i});var t=a(96540),s=a(20053);const r={tabItem:"tabItem_Ymn6"};function i(e){var n=e.children,a=e.hidden,i=e.className;return t.createElement("div",{role:"tabpanel",className:(0,s.A)(r.tabItem,i),hidden:a},n)}},11470:(e,n,a)=>{a.d(n,{A:()=>S});var t=a(58168),s=a(96540),r=a(20053),i=a(23104),l=a(56347),o=a(57485),p=a(31682),u=a(89466);function m(e){return function(e){var n,a;return null!=(n=null==(a=s.Children.map(e,(function(e){if(!e||(0,s.isValidElement)(e)&&(n=e.props)&&"object"==typeof n&&"value"in n)return e;var n;throw new Error("Docusaurus error: Bad <Tabs> child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.')})))?void 0:a.filter(Boolean))?n:[]}(e).map((function(e){var n=e.props;return{value:n.value,label:n.label,attributes:n.attributes,default:n.default}}))}function d(e){var n=e.values,a=e.children;return(0,s.useMemo)((function(){var e=null!=n?n:m(a);return function(e){var n=(0,p.X)(e,(function(e,n){return e.value===n.value}));if(n.length>0)throw new Error('Docusaurus error: Duplicate values "'+n.map((function(e){return e.value})).join(", ")+'" found in <Tabs>. Every value needs to be unique.')}(e),e}),[n,a])}function g(e){var n=e.value;return e.tabValues.some((function(e){return e.value===n}))}function c(e){var n=e.queryString,a=void 0!==n&&n,t=e.groupId,r=(0,l.W6)(),i=function(e){var n=e.queryString,a=void 0!==n&&n,t=e.groupId;if("string"==typeof a)return a;if(!1===a)return null;if(!0===a&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=t?t:null}({queryString:a,groupId:t});return[(0,o.aZ)(i),(0,s.useCallback)((function(e){if(i){var n=new URLSearchParams(r.location.search);n.set(i,e),r.replace(Object.assign({},r.location,{search:n.toString()}))}}),[i,r])]}function y(e){var n,a,t,r,i=e.defaultValue,l=e.queryString,o=void 0!==l&&l,p=e.groupId,m=d(e),y=(0,s.useState)((function(){return function(e){var n,a=e.defaultValue,t=e.tabValues;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(a){if(!g({value:a,tabValues:t}))throw new Error('Docusaurus error: The <Tabs> has a defaultValue "'+a+'" but none of its children has the corresponding value. Available values are: '+t.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return a}var s=null!=(n=t.find((function(e){return e.default})))?n:t[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:i,tabValues:m})})),f=y[0],v=y[1],T=c({queryString:o,groupId:p}),h=T[0],R=T[1],S=(n=function(e){return e?"docusaurus.tab."+e:null}({groupId:p}.groupId),a=(0,u.Dv)(n),t=a[0],r=a[1],[t,(0,s.useCallback)((function(e){n&&r.set(e)}),[n,r])]),P=S[0],x=S[1],b=function(){var e=null!=h?h:P;return g({value:e,tabValues:m})?e:null}();return(0,s.useLayoutEffect)((function(){b&&v(b)}),[b]),{selectedValue:f,selectValue:(0,s.useCallback)((function(e){if(!g({value:e,tabValues:m}))throw new Error("Can't select invalid tab value="+e);v(e),R(e),x(e)}),[R,x,m]),tabValues:m}}var f=a(92303);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function T(e){var n=e.className,a=e.block,l=e.selectedValue,o=e.selectValue,p=e.tabValues,u=[],m=(0,i.a_)().blockElementScrollPositionUntilNextRender,d=function(e){var n=e.currentTarget,a=u.indexOf(n),t=p[a].value;t!==l&&(m(n),o(t))},g=function(e){var n,a=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var t,s=u.indexOf(e.currentTarget)+1;a=null!=(t=u[s])?t:u[0];break;case"ArrowLeft":var r,i=u.indexOf(e.currentTarget)-1;a=null!=(r=u[i])?r:u[u.length-1]}null==(n=a)||n.focus()};return s.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":a},n)},p.map((function(e){var n=e.value,a=e.label,i=e.attributes;return s.createElement("li",(0,t.A)({role:"tab",tabIndex:l===n?0:-1,"aria-selected":l===n,key:n,ref:function(e){return u.push(e)},onKeyDown:g,onClick:d},i,{className:(0,r.A)("tabs__item",v.tabItem,null==i?void 0:i.className,{"tabs__item--active":l===n})}),null!=a?a:n)})))}function h(e){var n=e.lazy,a=e.children,t=e.selectedValue,r=(Array.isArray(a)?a:[a]).filter(Boolean);if(n){var i=r.find((function(e){return e.props.value===t}));return i?(0,s.cloneElement)(i,{className:"margin-top--md"}):null}return s.createElement("div",{className:"margin-top--md"},r.map((function(e,n){return(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==t})})))}function R(e){var n=y(e);return s.createElement("div",{className:(0,r.A)("tabs-container",v.tabList)},s.createElement(T,(0,t.A)({},e,n)),s.createElement(h,(0,t.A)({},e,n)))}function S(e){var n=(0,f.A)();return s.createElement(R,(0,t.A)({key:String(n)},e))}},12054:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>u,default:()=>f,frontMatter:()=>p,metadata:()=>m,toc:()=>g});var t=a(58168),s=a(98587),r=(a(96540),a(15680)),i=a(11470),l=a(19365),o=["components"],p={id:"supervisor-api",title:"Supervisor API",sidebar_label:"Supervisors"},u=void 0,m={unversionedId:"api-reference/supervisor-api",id:"api-reference/supervisor-api",title:"Supervisor API",description:"\x3c!--",source:"@site/docs/29.0.0/api-reference/supervisor-api.md",sourceDirName:"api-reference",slug:"/api-reference/supervisor-api",permalink:"/docs/29.0.0/api-reference/supervisor-api",draft:!1,tags:[],version:"current",frontMatter:{id:"supervisor-api",title:"Supervisor API",sidebar_label:"Supervisors"},sidebar:"docs",previous:{title:"Tasks",permalink:"/docs/29.0.0/api-reference/tasks-api"},next:{title:"Retention rules",permalink:"/docs/29.0.0/api-reference/retention-rules-api"}},d={},g=[{value:"Supervisor information",id:"supervisor-information",level:2},{value:"Get an array of active supervisor IDs",id:"get-an-array-of-active-supervisor-ids",level:3},{value:"URL",id:"url",level:4},{value:"Responses",id:"responses",level:4},{value:"Sample request",id:"sample-request",level:4},{value:"Sample response",id:"sample-response",level:4},{value:"Get an array of active supervisor objects",id:"get-an-array-of-active-supervisor-objects",level:3},{value:"URL",id:"url-1",level:4},{value:"Responses",id:"responses-1",level:4},{value:"Sample request",id:"sample-request-1",level:4},{value:"Sample response",id:"sample-response-1",level:4},{value:"Get an array of supervisor states",id:"get-an-array-of-supervisor-states",level:3},{value:"URL",id:"url-2",level:4},{value:"Responses",id:"responses-2",level:4},{value:"Sample request",id:"sample-request-2",level:4},{value:"Sample response",id:"sample-response-2",level:4},{value:"Get supervisor specification",id:"get-supervisor-specification",level:3},{value:"URL",id:"url-3",level:4},{value:"Responses",id:"responses-3",level:4},{value:"Sample request",id:"sample-request-3",level:4},{value:"Sample response",id:"sample-response-3",level:4},{value:"Get supervisor status",id:"get-supervisor-status",level:3},{value:"URL",id:"url-4",level:4},{value:"Responses",id:"responses-4",level:4},{value:"Sample request",id:"sample-request-4",level:4},{value:"Sample response",id:"sample-response-4",level:4},{value:"Get supervisor health",id:"get-supervisor-health",level:3},{value:"URL",id:"url-5",level:4},{value:"Responses",id:"responses-5",level:4},{value:"Sample request",id:"sample-request-5",level:4},{value:"Sample response",id:"sample-response-5",level:4},{value:"Get supervisor ingestion stats",id:"get-supervisor-ingestion-stats",level:3},{value:"URL",id:"url-6",level:4},{value:"Responses",id:"responses-6",level:4},{value:"Sample request",id:"sample-request-6",level:4},{value:"Sample response",id:"sample-response-6",level:4},{value:"Audit history",id:"audit-history",level:2},{value:"Get audit history for all supervisors",id:"get-audit-history-for-all-supervisors",level:3},{value:"URL",id:"url-7",level:4},{value:"Responses",id:"responses-7",level:4},{value:"Sample request",id:"sample-request-7",level:4},{value:"Sample response",id:"sample-response-7",level:4},{value:"Get audit history for a specific supervisor",id:"get-audit-history-for-a-specific-supervisor",level:3},{value:"URL",id:"url-8",level:4},{value:"Responses",id:"responses-8",level:4},{value:"Sample request",id:"sample-request-8",level:4},{value:"Sample response",id:"sample-response-8",level:4},{value:"Manage supervisors",id:"manage-supervisors",level:2},{value:"Create or update a supervisor",id:"create-or-update-a-supervisor",level:3},{value:"URL",id:"url-9",level:4},{value:"Responses",id:"responses-9",level:4},{value:"Sample request",id:"sample-request-9",level:4},{value:"Sample response",id:"sample-response-9",level:4},{value:"Suspend a running supervisor",id:"suspend-a-running-supervisor",level:3},{value:"URL",id:"url-10",level:4},{value:"Responses",id:"responses-10",level:4},{value:"Sample request",id:"sample-request-10",level:4},{value:"Sample response",id:"sample-response-10",level:4},{value:"Suspend all supervisors",id:"suspend-all-supervisors",level:3},{value:"URL",id:"url-11",level:4},{value:"Responses",id:"responses-11",level:4},{value:"Sample request",id:"sample-request-11",level:4},{value:"Sample response",id:"sample-response-11",level:4},{value:"Resume a supervisor",id:"resume-a-supervisor",level:3},{value:"URL",id:"url-12",level:4},{value:"Responses",id:"responses-12",level:4},{value:"Sample request",id:"sample-request-12",level:4},{value:"Sample response",id:"sample-response-12",level:4},{value:"Resume all supervisors",id:"resume-all-supervisors",level:3},{value:"URL",id:"url-13",level:4},{value:"Responses",id:"responses-13",level:4},{value:"Sample request",id:"sample-request-13",level:4},{value:"Sample response",id:"sample-response-13",level:4},{value:"Reset a supervisor",id:"reset-a-supervisor",level:3},{value:"URL",id:"url-14",level:4},{value:"Responses",id:"responses-14",level:4},{value:"Sample request",id:"sample-request-14",level:4},{value:"Sample response",id:"sample-response-14",level:4},{value:"Reset offsets for a supervisor",id:"reset-offsets-for-a-supervisor",level:3},{value:"URL",id:"url-15",level:4},{value:"Responses",id:"responses-15",level:4},{value:"Reset Offsets Metadata",id:"reset-offsets-metadata",level:4},{value:"Partitions",id:"partitions",level:4},{value:"Sample request",id:"sample-request-15",level:4},{value:"Sample response",id:"sample-response-15",level:4},{value:"Terminate a supervisor",id:"terminate-a-supervisor",level:3},{value:"URL",id:"url-16",level:4},{value:"Responses",id:"responses-16",level:4},{value:"Sample request",id:"sample-request-16",level:4},{value:"Sample response",id:"sample-response-16",level:4},{value:"Terminate all supervisors",id:"terminate-all-supervisors",level:3},{value:"URL",id:"url-17",level:4},{value:"Responses",id:"responses-17",level:4},{value:"Sample request",id:"sample-request-17",level:4},{value:"Sample response",id:"sample-response-17",level:4},{value:"Shut down a supervisor",id:"shut-down-a-supervisor",level:3},{value:"URL",id:"url-18",level:4}],c={toc:g},y="wrapper";function f(e){var n=e.components,a=(0,s.A)(e,o);return(0,r.yg)(y,(0,t.A)({},c,a,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("p",null,"This topic describes the API endpoints to manage and monitor supervisors for Apache Druid."),(0,r.yg)("p",null,"In this topic, ",(0,r.yg)("inlineCode",{parentName:"p"},"http://ROUTER_IP:ROUTER_PORT")," is a placeholder for your Router service address and port. Replace it with the information for your deployment. For example, use ",(0,r.yg)("inlineCode",{parentName:"p"},"http://localhost:8888")," for quickstart deployments."),(0,r.yg)("h2",{id:"supervisor-information"},"Supervisor information"),(0,r.yg)("p",null,"The following table lists the properties of a supervisor object:"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"Property"),(0,r.yg)("th",{parentName:"tr",align:null},"Type"),(0,r.yg)("th",{parentName:"tr",align:null},"Description"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"id")),(0,r.yg)("td",{parentName:"tr",align:null},"String"),(0,r.yg)("td",{parentName:"tr",align:null},"Unique identifier.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"state")),(0,r.yg)("td",{parentName:"tr",align:null},"String"),(0,r.yg)("td",{parentName:"tr",align:null},"Generic state of the supervisor. Available states:",(0,r.yg)("inlineCode",{parentName:"td"},"UNHEALTHY_SUPERVISOR"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"UNHEALTHY_TASKS"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"PENDING"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"RUNNING"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"SUSPENDED"),", ",(0,r.yg)("inlineCode",{parentName:"td"},"STOPPING"),". See ",(0,r.yg)("a",{parentName:"td",href:"/docs/29.0.0/ingestion/supervisor#status-report"},"Supervisor reference")," for more information.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"detailedState")),(0,r.yg)("td",{parentName:"tr",align:null},"String"),(0,r.yg)("td",{parentName:"tr",align:null},"Detailed state of the supervisor. This property contains a more descriptive, implementation-specific state that may provide more insight into the supervisor's activities than the ",(0,r.yg)("inlineCode",{parentName:"td"},"state")," property. See ",(0,r.yg)("a",{parentName:"td",href:"/docs/29.0.0/ingestion/kafka-ingestion"},"Apache Kafka ingestion")," and ",(0,r.yg)("a",{parentName:"td",href:"/docs/29.0.0/ingestion/kinesis-ingestion"},"Amazon Kinesis ingestion")," for supervisor-specific states.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"healthy")),(0,r.yg)("td",{parentName:"tr",align:null},"Boolean"),(0,r.yg)("td",{parentName:"tr",align:null},"Supervisor health indicator.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"spec")),(0,r.yg)("td",{parentName:"tr",align:null},"Object"),(0,r.yg)("td",{parentName:"tr",align:null},"Container object for the supervisor configuration.")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"suspended")),(0,r.yg)("td",{parentName:"tr",align:null},"Boolean"),(0,r.yg)("td",{parentName:"tr",align:null},"Indicates whether the supervisor is in a suspended state.")))),(0,r.yg)("h3",{id:"get-an-array-of-active-supervisor-ids"},"Get an array of active supervisor IDs"),(0,r.yg)("p",null,"Returns an array of strings representing the names of active supervisors. If there are no active supervisors, it returns an empty array."),(0,r.yg)("h4",{id:"url"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor"),(0,r.yg)("h4",{id:"responses"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"1",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully retrieved array of active supervisor IDs")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request"},"Sample request"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"2",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor"\n'))),(0,r.yg)(l.A,{value:"3",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'[\n "wikipedia_stream",\n "social_media"\n]\n'))),(0,r.yg)("h3",{id:"get-an-array-of-active-supervisor-objects"},"Get an array of active supervisor objects"),(0,r.yg)("p",null,"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 ",(0,r.yg)("a",{parentName:"p",href:"#supervisor-information"},"table"),"."),(0,r.yg)("h4",{id:"url-1"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor?full"),(0,r.yg)("h4",{id:"responses-1"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"4",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully retrieved supervisor objects")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-1"},"Sample request"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"5",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor?full=null"\n'))),(0,r.yg)(l.A,{value:"6",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor?full=null HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-1"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'[\n {\n "id": "wikipedia_stream",\n "state": "RUNNING",\n "detailedState": "CONNECTING_TO_STREAM",\n "healthy": true,\n "spec": {\n "type": "kafka",\n "spec": {\n "dataSchema": {\n "dataSource": "wikipedia_stream",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9042"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n }\n },\n "dataSchema": {\n "dataSource": "wikipedia_stream",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9042"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "context": null,\n "suspended": false\n },\n "suspended": false\n },\n {\n "id": "social_media",\n "state": "RUNNING",\n "detailedState": "RUNNING",\n "healthy": true,\n "spec": {\n "type": "kafka",\n "spec": {\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n }\n },\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "context": null,\n "suspended": false\n },\n "suspended": false\n }\n]\n'))),(0,r.yg)("h3",{id:"get-an-array-of-supervisor-states"},"Get an array of supervisor states"),(0,r.yg)("p",null,"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 ",(0,r.yg)("a",{parentName:"p",href:"#supervisor-information"},"table"),"."),(0,r.yg)("h4",{id:"url-2"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor?state=true"),(0,r.yg)("h4",{id:"responses-2"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"7",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully retrieved supervisor state objects")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-2"},"Sample request"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"8",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor?state=true"\n'))),(0,r.yg)(l.A,{value:"9",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor?state=true HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-2"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'[\n {\n "id": "wikipedia_stream",\n "state": "UNHEALTHY_SUPERVISOR",\n "detailedState": "UNABLE_TO_CONNECT_TO_STREAM",\n "healthy": false,\n "suspended": false\n },\n {\n "id": "social_media",\n "state": "RUNNING",\n "detailedState": "RUNNING",\n "healthy": true,\n "suspended": false\n }\n]\n'))),(0,r.yg)("h3",{id:"get-supervisor-specification"},"Get supervisor specification"),(0,r.yg)("p",null,"Retrieves the specification for a single supervisor. The returned specification includes the ",(0,r.yg)("inlineCode",{parentName:"p"},"dataSchema"),", ",(0,r.yg)("inlineCode",{parentName:"p"},"ioConfig"),", and ",(0,r.yg)("inlineCode",{parentName:"p"},"tuningConfig")," objects."),(0,r.yg)("h4",{id:"url-3"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId"),(0,r.yg)("h4",{id:"responses-3"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"10",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully retrieved supervisor spec"))),(0,r.yg)(l.A,{value:"11",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-3"},"Sample request"),(0,r.yg)("p",null,"The following example shows how to retrieve the specification of a supervisor with the name ",(0,r.yg)("inlineCode",{parentName:"p"},"wikipedia_stream"),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"12",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/wikipedia_stream"\n'))),(0,r.yg)(l.A,{value:"13",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor/wikipedia_stream HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-3"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "type": "kafka",\n "spec": {\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n }\n },\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "context": null,\n "suspended": false\n}\n'))),(0,r.yg)("h3",{id:"get-supervisor-status"},"Get supervisor status"),(0,r.yg)("p",null,"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."),(0,r.yg)("p",null,"For additional information about the status report, see ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/ingestion/supervisor#status-report"},"Supervisor reference"),"."),(0,r.yg)("h4",{id:"url-4"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/status"),(0,r.yg)("h4",{id:"responses-4"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"14",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully retrieved supervisor status"))),(0,r.yg)(l.A,{value:"15",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-4"},"Sample request"),(0,r.yg)("p",null,"The following example shows how to retrieve the status of a supervisor with the name ",(0,r.yg)("inlineCode",{parentName:"p"},"social_media"),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"16",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/social_media/status"\n'))),(0,r.yg)(l.A,{value:"17",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor/social_media/status HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-4"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "id": "social_media",\n "generationTime": "2023-07-05T23:24:43.934Z",\n "payload": {\n "dataSource": "social_media",\n "stream": "social_media",\n "partitions": 1,\n "replicas": 1,\n "durationSeconds": 3600,\n "activeTasks": [\n {\n "id": "index_kafka_social_media_ab72ae4127c591c_flcbhdlh",\n "startingOffsets": {\n "0": 3176381\n },\n "startTime": "2023-07-05T23:21:39.321Z",\n "remainingSeconds": 3415,\n "type": "ACTIVE",\n "currentOffsets": {\n "0": 3296632\n },\n "lag": {\n "0": 3\n }\n }\n ],\n "publishingTasks": [],\n "latestOffsets": {\n "0": 3296635\n },\n "minimumLag": {\n "0": 3\n },\n "aggregateLag": 3,\n "offsetsLastUpdated": "2023-07-05T23:24:30.212Z",\n "suspended": false,\n "healthy": true,\n "state": "RUNNING",\n "detailedState": "RUNNING",\n "recentErrors": []\n }\n}\n'))),(0,r.yg)("h3",{id:"get-supervisor-health"},"Get supervisor health"),(0,r.yg)("p",null,"Retrieves the current health report for a single supervisor. The health of a supervisor is determined by the supervisor's ",(0,r.yg)("inlineCode",{parentName:"p"},"state")," (as returned by the ",(0,r.yg)("inlineCode",{parentName:"p"},"/status")," endpoint) and the ",(0,r.yg)("inlineCode",{parentName:"p"},"druid.supervisor.*")," Overlord configuration thresholds."),(0,r.yg)("h4",{id:"url-5"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/health"),(0,r.yg)("h4",{id:"responses-5"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"18",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Supervisor is healthy"))),(0,r.yg)(l.A,{value:"19",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID"))),(0,r.yg)(l.A,{value:"20",label:"503 SERVICE UNAVAILABLE",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Supervisor is unhealthy")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-5"},"Sample request"),(0,r.yg)("p",null,"The following example shows how to retrieve the health report for a supervisor with the name ",(0,r.yg)("inlineCode",{parentName:"p"},"social_media"),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"21",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/social_media/health"\n'))),(0,r.yg)(l.A,{value:"22",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor/social_media/health HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-5"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "healthy": false\n}\n'))),(0,r.yg)("h3",{id:"get-supervisor-ingestion-stats"},"Get supervisor ingestion stats"),(0,r.yg)("p",null,"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 ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/ingestion/tasks#row-stats"},"Row stats")," for more information."),(0,r.yg)("h4",{id:"url-6"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/stats"),(0,r.yg)("h4",{id:"responses-6"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"23",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully retrieved supervisor stats"))),(0,r.yg)(l.A,{value:"24",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-6"},"Sample request"),(0,r.yg)("p",null,"The following example shows how to retrieve the current ingestion row counters for a supervisor with the name ",(0,r.yg)("inlineCode",{parentName:"p"},"custom_data"),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"25",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/custom_data/stats"\n'))),(0,r.yg)(l.A,{value:"26",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor/custom_data/stats HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-6"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "0": {\n "index_kafka_custom_data_881d621078f6b7c_ccplchbi": {\n "movingAverages": {\n "buildSegments": {\n "5m": {\n "processed": 53.401225142603316,\n "processedBytes": 5226.400757148808,\n "unparseable": 0.0,\n "thrownAway": 0.0,\n "processedWithError": 0.0\n },\n "15m": {\n "processed": 56.92994990102502,\n "processedBytes": 5571.772059828217,\n "unparseable": 0.0,\n "thrownAway": 0.0,\n "processedWithError": 0.0\n },\n "1m": {\n "processed": 37.134921285556636,\n "processedBytes": 3634.2766230628677,\n "unparseable": 0.0,\n "thrownAway": 0.0,\n "processedWithError": 0.0\n }\n }\n },\n "totals": {\n "buildSegments": {\n "processed": 665,\n "processedBytes": 65079,\n "processedWithError": 0,\n "thrownAway": 0,\n "unparseable": 0\n }\n }\n }\n }\n }\n'))),(0,r.yg)("h2",{id:"audit-history"},"Audit history"),(0,r.yg)("p",null,"An audit history provides a comprehensive log of events, including supervisor configuration, creation, suspension, and modification history."),(0,r.yg)("h3",{id:"get-audit-history-for-all-supervisors"},"Get audit history for all supervisors"),(0,r.yg)("p",null,"Retrieves an audit history of specs for all supervisors."),(0,r.yg)("h4",{id:"url-7"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/history"),(0,r.yg)("h4",{id:"responses-7"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"27",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully retrieved audit history")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-7"},"Sample request"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"28",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/history"\n'))),(0,r.yg)(l.A,{value:"29",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor/history HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-7"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "social_media": [\n {\n "spec": {\n "type": "kafka",\n "spec": {\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n }\n },\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "context": null,\n "suspended": false\n },\n "version": "2023-07-03T18:51:02.970Z"\n }\n ]\n}\n'))),(0,r.yg)("h3",{id:"get-audit-history-for-a-specific-supervisor"},"Get audit history for a specific supervisor"),(0,r.yg)("p",null,"Retrieves an audit history of specs for a single supervisor."),(0,r.yg)("h4",{id:"url-8"},"URL"),(0,r.yg)("code",{class:"getAPI"},"GET")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/history"),(0,r.yg)("h4",{id:"responses-8"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"30",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully retrieved supervisor audit history"))),(0,r.yg)(l.A,{value:"31",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-8"},"Sample request"),(0,r.yg)("p",null,"The following example shows how to retrieve the audit history of a supervisor with the name ",(0,r.yg)("inlineCode",{parentName:"p"},"wikipedia_stream"),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"23",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/wikipedia_stream/history"\n'))),(0,r.yg)(l.A,{value:"32",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"GET /druid/indexer/v1/supervisor/wikipedia_stream/history HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-8"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'[\n {\n "spec": {\n "type": "kafka",\n "spec": {\n "dataSchema": {\n "dataSource": "wikipedia_stream",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9042"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n }\n },\n "dataSchema": {\n "dataSource": "wikipedia_stream",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9042"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "context": null,\n "suspended": false\n },\n "version": "2023-07-05T20:59:16.872Z"\n }\n]\n'))),(0,r.yg)("h2",{id:"manage-supervisors"},"Manage supervisors"),(0,r.yg)("h3",{id:"create-or-update-a-supervisor"},"Create or update a supervisor"),(0,r.yg)("p",null,"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."),(0,r.yg)("p",null,"You can define a supervisor spec for ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/ingestion/kafka-ingestion"},"Apache Kafka")," or ",(0,r.yg)("a",{parentName:"p",href:"/docs/29.0.0/ingestion/kinesis-ingestion"},"Amazon Kinesis")," streaming ingestion methods."),(0,r.yg)("p",null,"The following table lists the properties of a supervisor spec:"),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"Property"),(0,r.yg)("th",{parentName:"tr",align:null},"Type"),(0,r.yg)("th",{parentName:"tr",align:null},"Description"),(0,r.yg)("th",{parentName:"tr",align:null},"Required"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"type")),(0,r.yg)("td",{parentName:"tr",align:null},"String"),(0,r.yg)("td",{parentName:"tr",align:null},"The supervisor type. One of",(0,r.yg)("inlineCode",{parentName:"td"},"kafka")," or ",(0,r.yg)("inlineCode",{parentName:"td"},"kinesis"),"."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"spec")),(0,r.yg)("td",{parentName:"tr",align:null},"Object"),(0,r.yg)("td",{parentName:"tr",align:null},"The container object for the supervisor configuration."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"ioConfig")),(0,r.yg)("td",{parentName:"tr",align:null},"Object"),(0,r.yg)("td",{parentName:"tr",align:null},"The I/O configuration object to define the connection and I/O-related settings for the supervisor and indexing task."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"dataSchema")),(0,r.yg)("td",{parentName:"tr",align:null},"Object"),(0,r.yg)("td",{parentName:"tr",align:null},"The schema for the indexing task to use during ingestion. See ",(0,r.yg)("a",{parentName:"td",href:"/docs/29.0.0/ingestion/ingestion-spec#dataschema"},(0,r.yg)("inlineCode",{parentName:"a"},"dataSchema"))," for more information."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"tuningConfig")),(0,r.yg)("td",{parentName:"tr",align:null},"Object"),(0,r.yg)("td",{parentName:"tr",align:null},"The tuning configuration object to define performance-related settings for the supervisor and indexing tasks."),(0,r.yg)("td",{parentName:"tr",align:null},"No")))),(0,r.yg)("p",null,"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.\nThis way, you can apply configuration changes without a pause in ingestion."),(0,r.yg)("h4",{id:"url-9"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor"),(0,r.yg)("h4",{id:"responses-9"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"33",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully created a new supervisor or updated an existing supervisor"))),(0,r.yg)(l.A,{value:"34",label:"415 UNSUPPORTED MEDIA TYPE",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Request body content type is not in JSON format")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-9"},"Sample request"),(0,r.yg)("p",null,"The following example uses JSON input format to create a supervisor spec for Kafka with a ",(0,r.yg)("inlineCode",{parentName:"p"},"social_media")," datasource and ",(0,r.yg)("inlineCode",{parentName:"p"},"social_media")," topic."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"35",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor" \\\n--header \'Content-Type: application/json\' \\\n--data \'{\n "type": "kafka",\n "spec": {\n "ioConfig": {\n "type": "kafka",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "topic": "social_media",\n "inputFormat": {\n "type": "json"\n },\n "useEarliestOffset": true\n },\n "tuningConfig": {\n "type": "kafka"\n },\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso"\n },\n "dimensionsSpec": {\n "dimensions": [\n "username",\n "post_title",\n {\n "type": "long",\n "name": "views"\n },\n {\n "type": "long",\n "name": "upvotes"\n },\n {\n "type": "long",\n "name": "comments"\n },\n "edited"\n ]\n },\n "granularitySpec": {\n "queryGranularity": "none",\n "rollup": false,\n "segmentGranularity": "hour"\n }\n }\n }\n}\'\n'))),(0,r.yg)(l.A,{value:"36",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},'POST /druid/indexer/v1/supervisor HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\nContent-Type: application/json\nContent-Length: 1359\n\n{\n "type": "kafka",\n "spec": {\n "ioConfig": {\n "type": "kafka",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "topic": "social_media",\n "inputFormat": {\n "type": "json"\n },\n "useEarliestOffset": true\n },\n "tuningConfig": {\n "type": "kafka"\n },\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso"\n },\n "dimensionsSpec": {\n "dimensions": [\n "username",\n "post_title",\n {\n "type": "long",\n "name": "views"\n },\n {\n "type": "long",\n "name": "upvotes"\n },\n {\n "type": "long",\n "name": "comments"\n },\n "edited"\n ]\n },\n "granularitySpec": {\n "queryGranularity": "none",\n "rollup": false,\n "segmentGranularity": "hour"\n }\n }\n }\n}\n')))),(0,r.yg)("h4",{id:"sample-response-9"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "id": "social_media"\n}\n'))),(0,r.yg)("h3",{id:"suspend-a-running-supervisor"},"Suspend a running supervisor"),(0,r.yg)("p",null,"Suspends a single running supervisor. Returns the updated supervisor spec, where the ",(0,r.yg)("inlineCode",{parentName:"p"},"suspended")," property is set to ",(0,r.yg)("inlineCode",{parentName:"p"},"true"),". The suspended supervisor continues to emit logs and metrics.\nIndexing tasks remain suspended until you ",(0,r.yg)("a",{parentName:"p",href:"#resume-a-supervisor"},"resume the supervisor"),"."),(0,r.yg)("h4",{id:"url-10"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/suspend"),(0,r.yg)("h4",{id:"responses-10"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"37",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully shut down supervisor"))),(0,r.yg)(l.A,{value:"38",label:"400 BAD REQUEST",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Supervisor already suspended"))),(0,r.yg)(l.A,{value:"39",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-10"},"Sample request"),(0,r.yg)("p",null,"The following example shows how to suspend a running supervisor with the name ",(0,r.yg)("inlineCode",{parentName:"p"},"social_media"),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"40",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl --request POST "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/social_media/suspend"\n'))),(0,r.yg)(l.A,{value:"41",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/indexer/v1/supervisor/social_media/suspend HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-10"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "type": "kafka",\n "spec": {\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n }\n },\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "context": null,\n "suspended": true\n}\n'))),(0,r.yg)("h3",{id:"suspend-all-supervisors"},"Suspend all supervisors"),(0,r.yg)("p",null,"Suspends all supervisors. Note that this endpoint returns an HTTP ",(0,r.yg)("inlineCode",{parentName:"p"},"200 Success")," code message even if there are no supervisors or running supervisors to suspend."),(0,r.yg)("h4",{id:"url-11"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/suspendAll"),(0,r.yg)("h4",{id:"responses-11"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"42",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully suspended all supervisors")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-11"},"Sample request"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"43",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl --request POST "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/suspendAll"\n'))),(0,r.yg)(l.A,{value:"44",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/indexer/v1/supervisor/suspendAll HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-11"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "status": "success"\n}\n'))),(0,r.yg)("h3",{id:"resume-a-supervisor"},"Resume a supervisor"),(0,r.yg)("p",null,"Resumes indexing tasks for a supervisor. Returns an updated supervisor spec with the ",(0,r.yg)("inlineCode",{parentName:"p"},"suspended")," property set to ",(0,r.yg)("inlineCode",{parentName:"p"},"false"),"."),(0,r.yg)("h4",{id:"url-12"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/resume"),(0,r.yg)("h4",{id:"responses-12"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"45",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully resumed supervisor"))),(0,r.yg)(l.A,{value:"46",label:"400 BAD REQUEST",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Supervisor already running"))),(0,r.yg)(l.A,{value:"47",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-12"},"Sample request"),(0,r.yg)("p",null,"The following example resumes a previously suspended supervisor with name ",(0,r.yg)("inlineCode",{parentName:"p"},"social_media"),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"48",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl --request POST "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/social_media/resume"\n'))),(0,r.yg)(l.A,{value:"49",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/indexer/v1/supervisor/social_media/resume HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-12"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "type": "kafka",\n "spec": {\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n }\n },\n "dataSchema": {\n "dataSource": "social_media",\n "timestampSpec": {\n "column": "__time",\n "format": "iso",\n "missingValue": null\n },\n "dimensionsSpec": {\n "dimensions": [\n {\n "type": "string",\n "name": "username",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "string",\n "name": "post_title",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n },\n {\n "type": "long",\n "name": "views",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "upvotes",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "long",\n "name": "comments",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": false\n },\n {\n "type": "string",\n "name": "edited",\n "multiValueHandling": "SORTED_ARRAY",\n "createBitmapIndex": true\n }\n ],\n "dimensionExclusions": [\n "__time"\n ],\n "includeAllDimensions": false,\n "useSchemaDiscovery": false\n },\n "metricsSpec": [],\n "granularitySpec": {\n "type": "uniform",\n "segmentGranularity": "HOUR",\n "queryGranularity": {\n "type": "none"\n },\n "rollup": false,\n "intervals": []\n },\n "transformSpec": {\n "filter": null,\n "transforms": []\n }\n },\n "tuningConfig": {\n "type": "kafka",\n "appendableIndexSpec": {\n "type": "onheap",\n "preserveExistingMetrics": false\n },\n "maxRowsInMemory": 150000,\n "maxBytesInMemory": 0,\n "skipBytesInMemoryOverheadCheck": false,\n "maxRowsPerSegment": 5000000,\n "maxTotalRows": null,\n "intermediatePersistPeriod": "PT10M",\n "maxPendingPersists": 0,\n "indexSpec": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "indexSpecForIntermediatePersists": {\n "bitmap": {\n "type": "roaring"\n },\n "dimensionCompression": "lz4",\n "stringDictionaryEncoding": {\n "type": "utf8"\n },\n "metricCompression": "lz4",\n "longEncoding": "longs"\n },\n "reportParseExceptions": false,\n "handoffConditionTimeout": 0,\n "resetOffsetAutomatically": false,\n "segmentWriteOutMediumFactory": null,\n "workerThreads": null,\n "chatRetries": 8,\n "httpTimeout": "PT10S",\n "shutdownTimeout": "PT80S",\n "offsetFetchPeriod": "PT30S",\n "intermediateHandoffPeriod": "P2147483647D",\n "logParseExceptions": false,\n "maxParseExceptions": 2147483647,\n "maxSavedParseExceptions": 0,\n "skipSequenceNumberAvailabilityCheck": false,\n "repartitionTransitionDuration": "PT120S"\n },\n "ioConfig": {\n "topic": "social_media",\n "inputFormat": {\n "type": "json",\n "keepNullColumns": false,\n "assumeNewlineDelimited": false,\n "useJsonNodeReader": false\n },\n "replicas": 1,\n "taskCount": 1,\n "taskDuration": "PT3600S",\n "consumerProperties": {\n "bootstrap.servers": "localhost:9094"\n },\n "autoScalerConfig": null,\n "pollTimeout": 100,\n "startDelay": "PT5S",\n "period": "PT30S",\n "useEarliestOffset": true,\n "completionTimeout": "PT1800S",\n "lateMessageRejectionPeriod": null,\n "earlyMessageRejectionPeriod": null,\n "lateMessageRejectionStartDateTime": null,\n "configOverrides": null,\n "idleConfig": null,\n "stream": "social_media",\n "useEarliestSequenceNumber": true\n },\n "context": null,\n "suspended": false\n}\n'))),(0,r.yg)("h3",{id:"resume-all-supervisors"},"Resume all supervisors"),(0,r.yg)("p",null,"Resumes all supervisors. Note that this endpoint returns an HTTP ",(0,r.yg)("inlineCode",{parentName:"p"},"200 Success")," code even if there are no supervisors or suspended supervisors to resume."),(0,r.yg)("h4",{id:"url-13"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/resumeAll"),(0,r.yg)("h4",{id:"responses-13"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"50",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully resumed all supervisors")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-13"},"Sample request"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"51",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl --request POST "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/resumeAll"\n'))),(0,r.yg)(l.A,{value:"52",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/indexer/v1/supervisor/resumeAll HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-13"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "status": "success"\n}\n'))),(0,r.yg)("h3",{id:"reset-a-supervisor"},"Reset a supervisor"),(0,r.yg)("p",null,"The supervisor must be running for this endpoint to be available."),(0,r.yg)("p",null,"Resets the specified supervisor. This endpoint clears all stored offsets in Kafka or sequence numbers in Kinesis, prompting the supervisor to resume data reading. The supervisor restarts from the earliest or latest available position, depending on the platform: offsets in Kafka or sequence numbers in Kinesis.\nAfter clearing all stored offsets in Kafka or sequence numbers in Kinesis, the supervisor kills and recreates active tasks,\nso that tasks begin reading from valid positions."),(0,r.yg)("p",null,"Use this endpoint to recover from a stopped state due to missing offsets in Kafka or sequence numbers in Kinesis. Use this endpoint with caution as it may result in skipped messages and lead to data loss or duplicate data."),(0,r.yg)("p",null,"The indexing service keeps track of the latest persisted offsets in Kafka or sequence numbers in Kinesis 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 in Kafka or sequence numbers in Kinesis 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 re-created. Use the ",(0,r.yg)("inlineCode",{parentName:"p"},"reset")," endpoint to recover from this condition."),(0,r.yg)("h4",{id:"url-14"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/reset"),(0,r.yg)("h4",{id:"responses-14"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"53",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully reset supervisor"))),(0,r.yg)(l.A,{value:"54",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-14"},"Sample request"),(0,r.yg)("p",null,"The following example shows how to reset a supervisor with the name ",(0,r.yg)("inlineCode",{parentName:"p"},"social_media"),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"55",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl --request POST "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/social_media/reset"\n'))),(0,r.yg)(l.A,{value:"56",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/indexer/v1/supervisor/social_media/reset HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-14"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "id": "social_media"\n}\n'))),(0,r.yg)("h3",{id:"reset-offsets-for-a-supervisor"},"Reset offsets for a supervisor"),(0,r.yg)("p",null,"The supervisor must be running for this endpoint to be available."),(0,r.yg)("p",null,"Resets the specified offsets for partitions without resetting the entire set."),(0,r.yg)("p",null,"This endpoint clears only the specified offsets in Kafka or sequence numbers in Kinesis, prompting the supervisor to resume reading data from the specified offsets.\nIf there are no stored offsets, the specified offsets are set in the metadata store."),(0,r.yg)("p",null,"After resetting stored offsets, the supervisor kills and recreates any active tasks pertaining to the specified partitions,\nso that tasks begin reading specified offsets. For partitions that are not specified in this operation, the supervisor resumes from the last stored offset."),(0,r.yg)("p",null,"Use this endpoint with caution. It can cause skipped messages, leading to data loss or duplicate data."),(0,r.yg)("h4",{id:"url-15"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/resetOffsets"),(0,r.yg)("h4",{id:"responses-15"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"1",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully reset offsets"))),(0,r.yg)(l.A,{value:"2",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"reset-offsets-metadata"},"Reset Offsets Metadata"),(0,r.yg)("p",null,"This section presents the structure and details of the reset offsets metadata payload."),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"Field"),(0,r.yg)("th",{parentName:"tr",align:null},"Type"),(0,r.yg)("th",{parentName:"tr",align:null},"Description"),(0,r.yg)("th",{parentName:"tr",align:null},"Required"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"type")),(0,r.yg)("td",{parentName:"tr",align:null},"String"),(0,r.yg)("td",{parentName:"tr",align:null},"The type of reset offsets metadata payload. It must match the supervisor's ",(0,r.yg)("inlineCode",{parentName:"td"},"type"),". Possible values: ",(0,r.yg)("inlineCode",{parentName:"td"},"kafka")," or ",(0,r.yg)("inlineCode",{parentName:"td"},"kinesis"),"."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"partitions")),(0,r.yg)("td",{parentName:"tr",align:null},"Object"),(0,r.yg)("td",{parentName:"tr",align:null},"An object representing the reset metadata. See below for details."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")))),(0,r.yg)("h4",{id:"partitions"},"Partitions"),(0,r.yg)("p",null,"The following table defines the fields within the ",(0,r.yg)("inlineCode",{parentName:"p"},"partitions")," object in the reset offsets metadata payload."),(0,r.yg)("table",null,(0,r.yg)("thead",{parentName:"table"},(0,r.yg)("tr",{parentName:"thead"},(0,r.yg)("th",{parentName:"tr",align:null},"Field"),(0,r.yg)("th",{parentName:"tr",align:null},"Type"),(0,r.yg)("th",{parentName:"tr",align:null},"Description"),(0,r.yg)("th",{parentName:"tr",align:null},"Required"))),(0,r.yg)("tbody",{parentName:"table"},(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"type")),(0,r.yg)("td",{parentName:"tr",align:null},"String"),(0,r.yg)("td",{parentName:"tr",align:null},"Must be set as ",(0,r.yg)("inlineCode",{parentName:"td"},"end"),". Indicates the end sequence numbers for the reset offsets."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"stream")),(0,r.yg)("td",{parentName:"tr",align:null},"String"),(0,r.yg)("td",{parentName:"tr",align:null},"The stream to be reset. It must be a valid stream consumed by the supervisor."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")),(0,r.yg)("tr",{parentName:"tbody"},(0,r.yg)("td",{parentName:"tr",align:null},(0,r.yg)("inlineCode",{parentName:"td"},"partitionOffsetMap")),(0,r.yg)("td",{parentName:"tr",align:null},"Object"),(0,r.yg)("td",{parentName:"tr",align:null},"A map of partitions to corresponding offsets for the stream to be reset."),(0,r.yg)("td",{parentName:"tr",align:null},"Yes")))),(0,r.yg)("h4",{id:"sample-request-15"},"Sample request"),(0,r.yg)("p",null,"The following example shows how to reset offsets for a Kafka supervisor with the name ",(0,r.yg)("inlineCode",{parentName:"p"},"social_media"),". For example, the supervisor is reading from a Kafka topic ",(0,r.yg)("inlineCode",{parentName:"p"},"ads_media_stream")," and has the stored offsets: ",(0,r.yg)("inlineCode",{parentName:"p"},'{"0": 0, "1": 10, "2": 20, "3": 40}'),"."),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"3",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl --request POST "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/social_media/resetOffsets"\n--header \'Content-Type: application/json\'\n--data-raw \'{"type":"kafka","partitions":{"type":"end","stream":"ads_media_stream","partitionOffsetMap":{"0":100, "2": 650}}}\'\n'))),(0,r.yg)(l.A,{value:"4",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},'POST /druid/indexer/v1/supervisor/social_media/resetOffsets HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\nContent-Type: application/json\n\n{\n "type": "kafka",\n "partitions": {\n "type": "end",\n "stream": "ads_media_stream",\n "partitionOffsetMap": {\n "0": 100,\n "2": 650\n }\n }\n}\n')),(0,r.yg)("p",null,"The example operation resets offsets only for partitions ",(0,r.yg)("inlineCode",{parentName:"p"},"0")," and ",(0,r.yg)("inlineCode",{parentName:"p"},"2")," to 100 and 650 respectively. After a successful reset,\nwhen the supervisor's tasks restart, they resume reading from ",(0,r.yg)("inlineCode",{parentName:"p"},'{"0": 100, "1": 10, "2": 650, "3": 40}'),"."))),(0,r.yg)("h4",{id:"sample-response-15"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "id": "social_media"\n}\n'))),(0,r.yg)("h3",{id:"terminate-a-supervisor"},"Terminate a supervisor"),(0,r.yg)("p",null,"Terminates a supervisor and its associated indexing tasks, triggering the publishing of their segments. When terminated, a tombstone marker is placed in the database to prevent reloading on restart."),(0,r.yg)("p",null,"The terminated supervisor still exists in the metadata store and its history can be retrieved."),(0,r.yg)("h4",{id:"url-16"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/terminate"),(0,r.yg)("h4",{id:"responses-16"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"49",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully terminated a supervisor"))),(0,r.yg)(l.A,{value:"50",label:"404 NOT FOUND",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Invalid supervisor ID or supervisor not running")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-16"},"Sample request"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"51",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl --request POST "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/social_media/terminate"\n'))),(0,r.yg)(l.A,{value:"52",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/indexer/v1/supervisor/social_media/terminate HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-16"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "id": "social_media"\n}\n'))),(0,r.yg)("h3",{id:"terminate-all-supervisors"},"Terminate all supervisors"),(0,r.yg)("p",null,"Terminates all supervisors. Terminated supervisors still exist in the metadata store and their history can be retrieved. Note that this endpoint returns an HTTP ",(0,r.yg)("inlineCode",{parentName:"p"},"200 Success")," code even if there are no supervisors or running supervisors to terminate."),(0,r.yg)("h4",{id:"url-17"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/terminateAll"),(0,r.yg)("h4",{id:"responses-17"},"Responses"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"53",label:"200 SUCCESS",mdxType:"TabItem"},(0,r.yg)("p",null,(0,r.yg)("em",{parentName:"p"},"Successfully terminated all supervisors")))),(0,r.yg)("hr",null),(0,r.yg)("h4",{id:"sample-request-17"},"Sample request"),(0,r.yg)(i.A,{mdxType:"Tabs"},(0,r.yg)(l.A,{value:"54",label:"cURL",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-shell"},'curl --request POST "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/supervisor/terminateAll"\n'))),(0,r.yg)(l.A,{value:"55",label:"HTTP",mdxType:"TabItem"},(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-HTTP"},"POST /druid/indexer/v1/supervisor/terminateAll HTTP/1.1\nHost: http://ROUTER_IP:ROUTER_PORT\n")))),(0,r.yg)("h4",{id:"sample-response-17"},"Sample response"),(0,r.yg)("details",null,(0,r.yg)("summary",null,"Click to show sample response"),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-json"},'{\n "status": "success"\n}\n'))),(0,r.yg)("h3",{id:"shut-down-a-supervisor"},"Shut down a supervisor"),(0,r.yg)("p",null,"Shuts down a supervisor. This endpoint is deprecated and will be removed in future releases. Use the equivalent ",(0,r.yg)("a",{parentName:"p",href:"#terminate-a-supervisor"},"terminate")," endpoint instead."),(0,r.yg)("h4",{id:"url-18"},"URL"),(0,r.yg)("code",{class:"postAPI"},"POST")," ",(0,r.yg)("code",null,"/druid/indexer/v1/supervisor/:supervisorId/shutdown"))}f.isMDXComponent=!0}}]);