Implementation:Apache Druid InfoMessages
| Knowledge Sources | |
|---|---|
| Domains | Web_Console, Data_Ingestion |
| Last Updated | 2026-02-10 10:00 GMT |
Overview
A collection of informational callout message components displayed at each step of the Load Data ingestion wizard.
Description
The InfoMessages module exports multiple memoized React components that render BlueprintJS Callout elements with contextual help text for each stage of the data ingestion workflow. Each message component explains what the corresponding wizard step does, provides guidance on how to configure it, and includes "Learn More" links to the relevant Druid documentation. The module covers all major wizard steps: Connect, Parser, Timestamp, Transform, Filter, Schema, Partition, Tuning, Publish, and Spec. It also includes an AppendToExistingIssue component that warns users about partition type incompatibility with the append-to-existing mode.
Usage
Used throughout the Load Data view to display step-specific guidance messages in the sidebar or header area of each wizard step, helping users understand the purpose and configuration options at each stage of data ingestion.
Code Reference
Source Location
- Repository: Apache Druid
- File: web-console/src/views/load-data-view/info-messages.tsx
- Lines: 1-251
Signature
export const ConnectMessage = React.memo(function ConnectMessage(props: ConnectMessageProps));
export const ParserMessage = React.memo(function ParserMessage());
export const TimestampMessage = React.memo(function TimestampMessage());
export const TransformMessage = React.memo(function TransformMessage());
export const FilterMessage = React.memo(function FilterMessage());
export const SchemaMessage = React.memo(function SchemaMessage(props: SchemaMessageProps));
export const PartitionMessage = React.memo(function PartitionMessage());
export const TuningMessage = React.memo(function TuningMessage());
export const PublishMessage = React.memo(function PublishMessage());
export const SpecMessage = React.memo(function SpecMessage());
export const AppendToExistingIssue = React.memo(function AppendToExistingIssue(props: AppendToExistingIssueProps));
Import
import {
ConnectMessage,
ParserMessage,
TimestampMessage,
TransformMessage,
FilterMessage,
SchemaMessage,
PartitionMessage,
TuningMessage,
PublishMessage,
SpecMessage,
AppendToExistingIssue,
} from './info-messages';
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| ConnectMessageProps.inlineMode | boolean | Yes | Whether the user is in inline paste mode or external source mode |
| ConnectMessageProps.spec | Partial<IngestionSpec> | Yes | Current ingestion spec, used to generate the correct documentation link |
| SchemaMessageProps.schemaMode | SchemaMode | Yes | Current schema mode ('fixed' or other), controls whether type-assignment guidance is shown |
| AppendToExistingIssueProps.spec | Partial<IngestionSpec> | Yes | Current ingestion spec to check partition type compatibility |
| AppendToExistingIssueProps.onChangeSpec | (newSpec: Partial<IngestionSpec>) => void | Yes | Callback to update the spec when switching to dynamic partitioning |
Outputs
| Name | Type | Description |
|---|---|---|
| Rendered callout | JSX.Element | A BlueprintJS Callout with contextual help text and documentation links for the current wizard step |
Usage Examples
Displaying a connect step message
<ConnectMessage inlineMode={false} spec={currentSpec} />
Displaying the schema step message
<SchemaMessage schemaMode="fixed" />
Showing the append-to-existing warning
<AppendToExistingIssue
spec={currentSpec}
onChangeSpec={newSpec => setSpec(newSpec)}
/>