diff --git a/web-console/src/components/auto-form/auto-form.tsx b/web-console/src/components/auto-form/auto-form.tsx index 241dad03ec4..1e56ef2b725 100644 --- a/web-console/src/components/auto-form/auto-form.tsx +++ b/web-console/src/components/auto-form/auto-form.tsx @@ -52,6 +52,7 @@ export interface Field { suggestions?: Functor; placeholder?: Functor; min?: number; + max?: number; zeroMeansUndefined?: boolean; height?: string; disabled?: Functor; @@ -249,6 +250,7 @@ export class AutoForm> extends React.PureComponent if (onFinalize) onFinalize(); }} min={field.min || 0} + max={field.max} fill large={large} disabled={AutoForm.evaluateFunctor(field.disabled, model, false)} diff --git a/web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx b/web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx index e97ea94e52e..b68052abd47 100644 --- a/web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx +++ b/web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx @@ -1867,6 +1867,7 @@ const TUNING_FORM_FIELDS: Field[] = [ hideInMore: true, info: <>Milliseconds to wait for segment handoff. 0 means to wait forever., }, + { name: 'spec.tuningConfig.indexSpec.bitmap.type', label: 'Index bitmap type', @@ -1876,21 +1877,67 @@ const TUNING_FORM_FIELDS: Field[] = [ hideInMore: true, info: <>Compression format for bitmap indexes., }, + { + name: 'spec.tuningConfig.indexSpec.bitmap.compressRunOnSerialization', + type: 'boolean', + defaultValue: true, + defined: spec => deepGet(spec, 'spec.tuningConfig.indexSpec.bitmap.type') === 'roaring', + info: ( + <> + Controls whether or not run-length encoding will be used when it is determined to be more + space-efficient. + + ), + }, + { name: 'spec.tuningConfig.indexSpec.dimensionCompression', label: 'Index dimension compression', type: 'string', defaultValue: 'lz4', - suggestions: ['lz4', 'lzf', 'uncompressed'], + suggestions: ['lz4', 'lzf', 'zstd', 'uncompressed'], hideInMore: true, info: <>Compression format for dimension columns., }, + + { + name: 'spec.tuningConfig.indexSpec.stringDictionaryEncoding.type', + label: 'Index string dictionary encoding', + type: 'string', + defaultValue: 'utf8', + suggestions: ['utf8', 'frontCoded'], + hideInMore: true, + info: ( + <> + Encoding format for STRING value dictionaries used by STRING and COMPLEX<json> + columns. + + ), + }, + { + name: 'spec.tuningConfig.indexSpec.stringDictionaryEncoding.bucketSize', + label: 'Index string dictionary encoding bucket size', + type: 'number', + defaultValue: 4, + min: 1, + max: 128, + defined: spec => + deepGet(spec, 'spec.tuningConfig.indexSpec.stringDictionaryEncoding.type') === 'frontCoded', + hideInMore: true, + info: ( + <> + The number of values to place in a bucket to perform delta encoding. Must be a power of 2, + maximum is 128. + + ), + }, + { name: 'spec.tuningConfig.indexSpec.metricCompression', label: 'Index metric compression', type: 'string', defaultValue: 'lz4', - suggestions: ['lz4', 'lzf', 'uncompressed'], + suggestions: ['lz4', 'lzf', 'zstd', 'uncompressed'], hideInMore: true, info: <>Compression format for primitive type metric columns., }, @@ -1910,6 +1957,15 @@ const TUNING_FORM_FIELDS: Field[] = [ ), }, + { + name: 'spec.tuningConfig.indexSpec.jsonCompression', + label: 'Index JSON compression', + type: 'string', + defaultValue: 'lz4', + suggestions: ['lz4', 'lzf', 'zstd', 'uncompressed'], + hideInMore: true, + info: <>Compression format to use for nested column raw data. , + }, { name: 'spec.tuningConfig.splitHintSpec.maxSplitSize', type: 'number',