diff --git a/antora.yml b/antora.yml index 73cb64c84b..54de6a52e8 100644 --- a/antora.yml +++ b/antora.yml @@ -31,8 +31,8 @@ asciidoc: # Fallback versions # We try to fetch the latest versions from GitHub at build time # -- - full-version: 26.1.13 - latest-redpanda-tag: 'v26.1.13' + full-version: 26.1.14 + latest-redpanda-tag: 'v26.1.14' latest-console-tag: 'v3.3.1' latest-release-commit: 'ebee215fdb2b8004735c6f800e532564cdcc05e1' latest-operator-version: 'v2.3.8-24.3.6' diff --git a/docs-data/property-overrides.json b/docs-data/property-overrides.json index 5dd77742d5..28ca450a73 100644 --- a/docs-data/property-overrides.json +++ b/docs-data/property-overrides.json @@ -1373,6 +1373,14 @@ ], "config_scope": "cluster" }, + "log_eviction_exempt_topics": { + "version": "v26.1.14", + "default": ["_schemas"], + "description": "A list of topics in the `kafka` namespace whose local log is exempt from any form of data deletion: retention settings, local retention for topics with Tiered Storage enabled, and disk space management never remove their data from local disk, and partition moves always deliver the full log to the new replica. Does not affect topic deletion via the Kafka API (see xref:reference:properties/cluster-properties.adoc#kafka_nodelete_topics[`kafka_nodelete_topics`]).", + "related_topics": [ + "xref:reference:properties/cluster-properties.adoc#kafka_nodelete_topics[`kafka_nodelete_topics`]" + ] + }, "log_message_timestamp_after_max_ms": { "related_topics": [ "xref:reference:properties/topic-properties.adoc#message-timestamp-after-max-ms[`message.timestamp.after.max.ms`]" @@ -2069,6 +2077,9 @@ "schema_registry_avro_use_named_references": { "version": "v25.3.10" }, + "schema_registry_deferred_recovery": { + "version": "v26.1.14" + }, "schema_registry_enable_authorization": { "description": "Enables ACL-based authorization for Schema Registry requests. When `true`, Schema Registry\nuses ACL-based authorization instead of the default `public/user/superuser` authorization model.", "related_topics": [], @@ -2077,6 +2088,9 @@ "schema_registry_enable_qualified_subjects": { "version": "v26.1.1" }, + "schema_registry_replay_on_startup": { + "version": "v26.1.14" + }, "schema_registry_replication_factor": { "description": "Replication factor for internal `_schemas` topic. If unset, defaults to the xref:reference:properties/cluster-properties.adoc#default_topic_replication[`default_topic_replication`] cluster property.", "related_topics": [ diff --git a/docs-data/redpanda-property-changes-v26.1.12-to-v26.1.13.json b/docs-data/redpanda-property-changes-v26.1.12-to-v26.1.13.json deleted file mode 100644 index 2138b5f619..0000000000 --- a/docs-data/redpanda-property-changes-v26.1.12-to-v26.1.13.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "comparison": { - "oldVersion": "v26.1.12", - "newVersion": "v26.1.13", - "timestamp": "2026-07-17T02:30:12.505Z" - }, - "summary": { - "newProperties": 3, - "changedDefaults": 0, - "changedDescriptions": 0, - "changedTypes": 0, - "deprecatedProperties": 0, - "removedDeprecatedProperties": 0, - "removedProperties": 0, - "emptyDescriptions": 2 - }, - "details": { - "newProperties": [ - { - "name": "datalake_coordinator_max_files_per_commit", - "type": "integer", - "default": 10000, - "description": "Target maximum number of pending data files committed to an Iceberg table in a single commit. A larger backlog is committed across multiple passes to bound the memory used per commit. May be exceeded slightly to avoid splitting files sharing a commit offset." - }, - { - "name": "datalake_coordinator_max_pending_files", - "type": "integer", - "default": 100000, - "description": "Maximum number of pending data files a coordinator accumulates across all of its topics before it sheds load, rejecting new files and offset requests until it commits enough of the backlog. Bounds the coordinator's pending-file memory." - }, - { - "name": "enable_development_metrics", - "type": "boolean", - "default": false, - "description": "Enable registering development-oriented metrics on the internal `/metrics` endpoint, such as the per-method internal RPC latency histograms." - } - ], - "changedDefaults": [], - "changedDescriptions": [], - "changedTypes": [], - "deprecatedProperties": [], - "removedDeprecatedProperties": [], - "removedProperties": [], - "emptyDescriptions": [ - { - "name": "redpanda.remote.allowgaps", - "type": "boolean" - }, - { - "name": "redpanda.virtual.cluster.id", - "type": "string" - } - ] - } -} \ No newline at end of file diff --git a/docs-data/redpanda-property-changes-v26.1.13-to-v26.1.14.json b/docs-data/redpanda-property-changes-v26.1.13-to-v26.1.14.json new file mode 100644 index 0000000000..74eaadc113 --- /dev/null +++ b/docs-data/redpanda-property-changes-v26.1.13-to-v26.1.14.json @@ -0,0 +1,57 @@ +{ + "comparison": { + "oldVersion": "v26.1.13", + "newVersion": "v26.1.14", + "timestamp": "2026-07-24T11:46:11.701Z" + }, + "summary": { + "newProperties": 3, + "changedDefaults": 0, + "changedDescriptions": 0, + "changedTypes": 0, + "deprecatedProperties": 0, + "removedDeprecatedProperties": 0, + "removedProperties": 0, + "emptyDescriptions": 2 + }, + "details": { + "newProperties": [ + { + "name": "log_eviction_exempt_topics", + "type": "array", + "default": [ + "model::schema_registry_internal_tp.topic()" + ], + "description": "A list of topics in the kafka namespace whose local log is exempt from any form of data deletion: retention settings, local retention for topics with Tiered Storage enabled, and disk space management never remove their data from local disk, and partition moves always deliver the full log to the new replica. Does not affect topic deletion via the Kafka API (see kafka_nodelete_topics)." + }, + { + "name": "schema_registry_deferred_recovery", + "type": "boolean", + "default": true, + "description": "Defer schema compilation during Schema Registry startup, then compile the loaded schemas in parallel across cores. If disabled, every replayed record is compiled sequentially during the replay." + }, + { + "name": "schema_registry_replay_on_startup", + "type": "boolean", + "default": false, + "description": "Replay the internal `_schemas` topic into the store at Schema Registry start-up instead of lazily on the first request. Makes recovery time predictable and keeps the first request from blocking behind a full replay." + } + ], + "changedDefaults": [], + "changedDescriptions": [], + "changedTypes": [], + "deprecatedProperties": [], + "removedDeprecatedProperties": [], + "removedProperties": [], + "emptyDescriptions": [ + { + "name": "redpanda.remote.allowgaps", + "type": "boolean" + }, + { + "name": "redpanda.virtual.cluster.id", + "type": "string" + } + ] + } +} \ No newline at end of file diff --git a/modules/reference/attachments/redpanda-properties-v26.1.13.json b/modules/reference/attachments/redpanda-properties-v26.1.14.json similarity index 99% rename from modules/reference/attachments/redpanda-properties-v26.1.13.json rename to modules/reference/attachments/redpanda-properties-v26.1.14.json index 9da9e4c779..d1fa66a013 100644 --- a/modules/reference/attachments/redpanda-properties-v26.1.13.json +++ b/modules/reference/attachments/redpanda-properties-v26.1.14.json @@ -593,7 +593,7 @@ "cloud_supported": false, "config_scope": "broker", "default": "/usr/share/redpanda/proxy-api-doc", - "defined_in": "src/v/pandaproxy/schema_registry/configuration.cc", + "defined_in": "src/v/pandaproxy/rest/configuration.cc", "description": "Path to the API specifications directory. This directory contains API documentation for both the HTTP Proxy API and Schema Registry API.", "is_deprecated": false, "is_enterprise": false, @@ -5233,7 +5233,6 @@ "visibility": "tunable" }, "datalake_coordinator_max_files_per_commit": { - "version": "v26.1.13", "c_type": "size_t", "cloud_byoc_only": false, "cloud_editable": false, @@ -5249,10 +5248,10 @@ "needs_restart": false, "nullable": false, "type": "integer", + "version": "v26.1.13", "visibility": "tunable" }, "datalake_coordinator_max_pending_files": { - "version": "v26.1.13", "c_type": "size_t", "cloud_byoc_only": false, "cloud_editable": false, @@ -5268,6 +5267,7 @@ "needs_restart": false, "nullable": false, "type": "integer", + "version": "v26.1.13", "visibility": "tunable" }, "datalake_coordinator_snapshot_max_delay_secs": { @@ -5975,7 +5975,6 @@ "visibility": "user" }, "enable_development_metrics": { - "version": "v26.1.13", "c_type": "bool", "cloud_byoc_only": false, "cloud_editable": false, @@ -5990,7 +5989,8 @@ "name": "enable_development_metrics", "needs_restart": false, "nullable": false, - "type": "boolean" + "type": "boolean", + "version": "v26.1.13" }, "enable_developmental_unrecoverable_data_corrupting_features": { "cloud_byoc_only": false, @@ -9213,6 +9213,33 @@ "type": "boolean", "visibility": "tunable" }, + "log_eviction_exempt_topics": { + "c_type": "ss::sstring", + "cloud_byoc_only": false, + "cloud_editable": false, + "cloud_readonly": false, + "cloud_supported": false, + "config_scope": "cluster", + "default": [ + "_schemas" + ], + "defined_in": "src/v/config/configuration.cc", + "description": "A list of topics in the `kafka` namespace whose local log is exempt from any form of data deletion: retention settings, local retention for topics with Tiered Storage enabled, and disk space management never remove their data from local disk, and partition moves always deliver the full log to the new replica. Does not affect topic deletion via the Kafka API (see xref:reference:properties/cluster-properties.adoc#kafka_nodelete_topics[`kafka_nodelete_topics`]).", + "is_deprecated": false, + "is_enterprise": false, + "items": { + "type": "string" + }, + "name": "log_eviction_exempt_topics", + "needs_restart": true, + "nullable": false, + "related_topics": [ + "xref:reference:properties/cluster-properties.adoc#kafka_nodelete_topics[`kafka_nodelete_topics`]" + ], + "type": "array", + "version": "v26.1.14", + "visibility": "user" + }, "log_message_timestamp_after_max_ms": { "c_type": "std::chrono::milliseconds", "cloud_byoc_only": false, @@ -12887,6 +12914,25 @@ "type": "object", "version": "v25.3.10" }, + "schema_registry_deferred_recovery": { + "c_type": "bool", + "cloud_byoc_only": false, + "cloud_editable": false, + "cloud_readonly": false, + "cloud_supported": false, + "config_scope": "cluster", + "default": true, + "defined_in": "src/v/config/configuration.cc", + "description": "Defer schema compilation during Schema Registry startup, then compile the loaded schemas in parallel across cores. If disabled, every replayed record is compiled sequentially during the replay.", + "is_deprecated": false, + "is_enterprise": false, + "name": "schema_registry_deferred_recovery", + "needs_restart": false, + "nullable": false, + "type": "boolean", + "version": "v26.1.14", + "visibility": "tunable" + }, "schema_registry_enable_authorization": { "c_type": "bool", "cloud_byoc_only": false, @@ -12915,7 +12961,7 @@ }, "schema_registry_enable_qualified_subjects": { "c_type": "bool", - "cloud_byoc_only": true, + "cloud_byoc_only": false, "cloud_editable": true, "cloud_readonly": false, "cloud_supported": true, @@ -12932,6 +12978,25 @@ "version": "v26.1.1", "visibility": "tunable" }, + "schema_registry_replay_on_startup": { + "c_type": "bool", + "cloud_byoc_only": false, + "cloud_editable": false, + "cloud_readonly": false, + "cloud_supported": false, + "config_scope": "cluster", + "default": false, + "defined_in": "src/v/config/configuration.cc", + "description": "Replay the internal `_schemas` topic into the store at Schema Registry start-up instead of lazily on the first request. Makes recovery time predictable and keeps the first request from blocking behind a full replay.", + "is_deprecated": false, + "is_enterprise": false, + "name": "schema_registry_replay_on_startup", + "needs_restart": false, + "nullable": false, + "type": "boolean", + "version": "v26.1.14", + "visibility": "user" + }, "schema_registry_replication_factor": { "c_type": "int16_t", "category": "schema-registry", diff --git a/modules/reference/partials/properties/cluster-properties.adoc b/modules/reference/partials/properties/cluster-properties.adoc index 0071726175..11f538db8c 100644 --- a/modules/reference/partials/properties/cluster-properties.adoc +++ b/modules/reference/partials/properties/cluster-properties.adoc @@ -12683,6 +12683,54 @@ endif::[] |=== +=== log_eviction_exempt_topics + +ifndef::env-cloud[] +*Introduced in v26.1.14* +endif::[] + +A list of topics in the `kafka` namespace whose local log is exempt from any form of data deletion: retention settings, local retention for topics with Tiered Storage enabled, and disk space management never remove their data from local disk, and partition moves always deliver the full log to the new replica. Does not affect topic deletion via the Kafka API (see xref:reference:properties/cluster-properties.adoc#kafka_nodelete_topics[`kafka_nodelete_topics`]). + +[cols="1s,2a"] +|=== +| Property | Value + +| Type +| `array` + + + +| Default +| +ifdef::env-cloud[] +Available in the Redpanda Cloud Console +endif::[] +ifndef::env-cloud[] +`[_schemas]` +endif::[] + +| Nullable +| No + +| Requires restart +| Yes + +ifndef::env-cloud[] +| Restored on xref:manage:whole-cluster-restore.adoc[Whole Cluster Restore] +| Yes +endif::[] + +ifndef::env-cloud[] +| Visibility +| User +endif::[] + +| Related topics +|xref:reference:properties/cluster-properties.adoc#kafka_nodelete_topics[`kafka_nodelete_topics`] + +|=== + + === log_message_timestamp_after_max_ms The maximum allowed time difference when a record's timestamp is in the future compared to the broker's clock. For topics using <> timestamps, Redpanda rejects records with timestamps that are too far in the future. This property has no effect on topics using <> timestamps. The topic property xref:reference:properties/topic-properties.adoc#message-timestamp-after-max-ms[`message.timestamp.after.max.ms`] overrides this cluster-level setting. @@ -17914,6 +17962,51 @@ endif::[] // end::deprecated[] +=== schema_registry_deferred_recovery + +ifndef::env-cloud[] +*Introduced in v26.1.14* +endif::[] + +Defer schema compilation during Schema Registry startup, then compile the loaded schemas in parallel across cores. If disabled, every replayed record is compiled sequentially during the replay. + +[cols="1s,2a"] +|=== +| Property | Value + +| Type +| `boolean` + + + +| Default +| +ifdef::env-cloud[] +Available in the Redpanda Cloud Console +endif::[] +ifndef::env-cloud[] +`true` +endif::[] + +| Nullable +| No + +| Requires restart +| No + +ifndef::env-cloud[] +| Restored on xref:manage:whole-cluster-restore.adoc[Whole Cluster Restore] +| Yes +endif::[] + +ifndef::env-cloud[] +| Visibility +| Tunable +endif::[] + +|=== + + // tag::redpanda-cloud[] === schema_registry_enable_authorization @@ -17977,11 +18070,6 @@ endif::[] Enable parsing of qualified subject syntax (:.context:subject). When false, subjects are treated literally, as subjects in the default context. When true, qualified syntax is parsed to extract context and subject. -ifdef::env-cloud[] -NOTE: This property is available only in Redpanda Cloud BYOC deployments. -endif::[] - - [cols="1s,2a"] |=== | Property | Value @@ -18020,6 +18108,51 @@ endif::[] // end::redpanda-cloud[] +=== schema_registry_replay_on_startup + +ifndef::env-cloud[] +*Introduced in v26.1.14* +endif::[] + +Replay the internal `_schemas` topic into the store at Schema Registry start-up instead of lazily on the first request. Makes recovery time predictable and keeps the first request from blocking behind a full replay. + +[cols="1s,2a"] +|=== +| Property | Value + +| Type +| `boolean` + + + +| Default +| +ifdef::env-cloud[] +Available in the Redpanda Cloud Console +endif::[] +ifndef::env-cloud[] +`false` +endif::[] + +| Nullable +| No + +| Requires restart +| No + +ifndef::env-cloud[] +| Restored on xref:manage:whole-cluster-restore.adoc[Whole Cluster Restore] +| Yes +endif::[] + +ifndef::env-cloud[] +| Visibility +| User +endif::[] + +|=== + + === segment_appender_flush_timeout_ms Maximum delay until buffered data is written.