Implementation:Apache Druid CoordinatorDynamicConfigDialog
| Knowledge Sources | |
|---|---|
| Domains | Web_Console, Coordinator |
| Last Updated | 2026-02-10 10:00 GMT |
Overview
A React dialog component for viewing and editing the Coordinator dynamic configuration in the Druid web console, with audit history support.
Description
CoordinatorDynamicConfigDialog is a memoized React component that wraps a SnitchDialog (a dialog variant that requires an audit comment on save and supports viewing history records). On mount, it fetches both the current Coordinator dynamic configuration from /druid/coordinator/v1/config and the audit history from /druid/coordinator/v1/config/history. It provides both a form-based editor (using AutoForm with COORDINATOR_DYNAMIC_CONFIG_FIELDS) and a JSON editor (using JsonInput with COORDINATOR_DYNAMIC_CONFIG_COMPLETIONS). On save, it POSTs the updated configuration along with X-Druid-Author and X-Druid-Comment headers for audit tracking.
Usage
This dialog is opened from the cluster management or services view when a user wants to configure Coordinator dynamic settings such as segment loading behavior, kill task parameters, decommissioning nodes, and coordination pause state.
Code Reference
Source Location
- Repository: Apache Druid
- File: web-console/src/dialogs/coordinator-dynamic-config-dialog/coordinator-dynamic-config-dialog.tsx
- Lines: 1-144
Signature
export interface CoordinatorDynamicConfigDialogProps {
onClose(): void;
}
export const CoordinatorDynamicConfigDialog = React.memo(function CoordinatorDynamicConfigDialog(
props: CoordinatorDynamicConfigDialogProps,
): JSX.Element)
Import
import { CoordinatorDynamicConfigDialog } from '../../dialogs/coordinator-dynamic-config-dialog/coordinator-dynamic-config-dialog';
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| onClose | () => void |
Yes | Callback invoked when the dialog is closed (after save or cancel) |
Outputs
| Name | Type | Description |
|---|---|---|
| JSX.Element | React element | Renders a SnitchDialog with form/JSON tabs for editing Coordinator dynamic config, audit history records, a loader while fetching, and save functionality that includes audit comment headers |
Usage Examples
Opening the Coordinator dynamic config dialog
{showCoordinatorDynamicConfig && (
<CoordinatorDynamicConfigDialog
onClose={() => setShowCoordinatorDynamicConfig(false)}
/>
)}