diff --git a/ydb/docs/en/core/changelog-enterprise.md b/ydb/docs/en/core/changelog-enterprise.md new file mode 100644 index 000000000000..38aafd43efa3 --- /dev/null +++ b/ydb/docs/en/core/changelog-enterprise.md @@ -0,0 +1,380 @@ +# Yandex Enterprise Database changelog + +## Version 24.4 {#24-4} + +### Version 24.4.4.15 {#24-4-4-15} + +Release date: September 19, 2025. + +#### Performance + +* Columns in `ORDER BY` statement are now considered by the optimizer when automatically selecting a secondary index. This optimization is limited to queries that reference only one table and do not include any `JOIN` operations with other tables. + +#### Bug Fixes + +* When receiving an `OperationAborted` error from S3, the export operation does not terminate with an error, but retries writing to S3. + +### Version 24.4.4.13 {#24-4-4-13} + +Release date: July 29, 2025. + +#### New Features + +* [Added](https://github.com/ydb-platform/ydb/pull/13251) support for restart without downtime in [a minimal fault-tolerant configuration of a cluster](./concepts/topology.md#reduced) that uses the three-node variant of `mirror-3-dc`. +* [Added](https://github.com/ydb-platform/ydb/pull/13220) new UDF Roaring Bitmap functions: AndNotWithBinary, FromUint32List, RunOptimize. +* Added the ability to register a [database node](./concepts/glossary.md#database-node) using a certificate. In the [Node Broker](./concepts/glossary.md#node-broker) the flag `AuthorizeByCertificate` has been added to enable certificate-based registration. +* [Added](https://github.com/ydb-platform/ydb/pull/11775) priorities for authentication ticket through a [third-party IAM provider](./security/authentication.md#iam), with the highest priority given to requests from new users. Tickets in the cache update their information with a lower priority. +* Added the ability to [read and write to a topic](./reference/kafka-api/examples.md#kafka-api-usage-examples) using the Kafka API without authentication. +* Enabled by default: + + * support for [views](./concepts/datamodel/view.md) + * [auto-partitioning mode](./concepts/datamodel/topic.md#autopartitioning) for topics + * [transactions involving topics and row-oriented tables simultaneously](./concepts/transactions.md#topic-table-transactions) + * [volatile distributed transactions](./contributor/datashard-distributed-txs.md#volatile-transactions) + +#### Performance + +* [Improved](https://github.com/ydb-platform/ydb/pull/12747) tablet startup time on large clusters: 210 ms → 125 ms (SSD), 260 ms → 165 ms (HDD). +* [Limited](https://github.com/ydb-platform/ydb/pull/17755) the number of internal inflight configuration updates. +* [Optimized](https://github.com/ydb-platform/ydb/issues/18289) memory consumption by PQ tablets. +* [Optimized](https://github.com/ydb-platform/ydb/issues/18473) CPU consumption of Scheme shard and reduced query latencies by checking operation count limits before performing tablet split and merge operations. +* Automated secondary index selection is now enabled by default. + +#### Bug Fixes + +* [Fixed](https://github.com/ydb-platform/ydb/pull/12221) an issue where reading small messages from a topic in small chunks significantly increased CPU load, which could lead to delays in reading and writing to the topic. +* [Fixed](https://github.com/ydb-platform/ydb/pull/13222) an issue with restoring from a backup that was created during an automatic table split. +* [Fixed](https://github.com/ydb-platform/ydb/pull/12601) an issue with Uuid serialization for [CDC](./concepts/cdc.md). +* [Fixed](https://github.com/ydb-platform/ydb/pull/12804) an issue where reading from a follower of tablets sometimes caused crashes during automatic table splits. +* [Fixed](https://github.com/ydb-platform/ydb/pull/12807) an issue where the [coordination node](./concepts/datamodel/coordination-node.md) successfully registered proxy servers despite a connection loss. +* [Fixed](https://github.com/ydb-platform/ydb/pull/11593) an issue that occurred when opening the Embedded UI tab with information about [distributed storage groups](./concepts/glossary.md#storage-group). +* [Fixed](https://github.com/ydb-platform/ydb/pull/12448) an issue where the Health Check did not report time synchronization issues. +* [Fixed](https://github.com/ydb-platform/ydb/pull/17123) a rare issue of client applications hanging during transaction commit where deleting partition had been done before write quota update. +* [Fixed](https://github.com/ydb-platform/ydb/pull/17312) an error in copying tables with Decimal type, which caused failures when rolling back to a previous version. +* [Fixed](https://github.com/ydb-platform/ydb/pull/17519) an [issue](https://github.com/ydb-platform/ydb/issues/17499) where a commit without confirmation of writing to a topic led to the blocking of the current and subsequent transactions with topics. +* Fixed transaction hanging when working with topics during tablet [restart](https://github.com/ydb-platform/ydb/issues/17843) or [deletion](https://github.com/ydb-platform/ydb/issues/17915). +* [Fixed](https://github.com/ydb-platform/ydb/pull/18114) [issues](https://github.com/ydb-platform/ydb/issues/18071) with reading messages larger than 6Mb via [Kafka API](./reference/kafka-api). +* [Fixed](https://github.com/ydb-platform/ydb/pull/18319) memory leak during writing to the [topic](./concepts/glossary#topic). +* Fixed errors in processing [nullable columns](https://github.com/ydb-platform/ydb/issues/15701) and [columns with UUID type](https://github.com/ydb-platform/ydb/issues/15697) in row tables. +* [Fixed](https://github.com/ydb-platform/ydb/pull/14811) an error that led to a significant decrease in reading speed from [tablet followers](./concepts/glossary.md#tablet-follower). +* [Fixed](https://github.com/ydb-platform/ydb/pull/14516) an error that caused volatile distributed transactions to sometimes wait for confirmations until the next reboot. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15077) a rare assertion failure (server process crash) when followers attached to leaders with an inconsistent snapshot. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15074) a rare datashard crash when a dropped table shard is restarted with uncommitted persistent changes. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15194) an error that could disrupt the order of message processing in a topic. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15308) a rare error that could stop reading from a topic partition. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15160) an issue where a transaction could hang if a user performed a control plane operation on a topic (for example, adding partitions or a consumer) while the PQ tablet is moving to another node. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15233) a memory leak issue with the UserInfo counter value. Because of the memory leak, a reading session would eventually return a "too big in flight" error. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15467) a proxy crash due to duplicate topics in a request. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15933) a rare bug where a user could write to a topic without any account quota being applied or consumed. +* [Fixed](https://github.com/ydb-platform/ydb/pull/16288) an issue where topic deletion returned "OK" while the topic tablets persisted in a functional state. To remove such tablets, follow the instructions from the [pull request](https://github.com/ydb-platform/ydb/pull/16288). +* [Fixed](https://github.com/ydb-platform/ydb/pull/16418) a rare issue that prevented the restoration of a backup for a large secondary indexed table. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15862) an issue that caused errors when inserting data using `UPSERT` into row-oriented tables with default values. +* [Resolved](https://github.com/ydb-platform/ydb/pull/15334) a bug that caused failures when executing queries to tables with secondary indexes that returned result lists using the RETURNING * expression. + +## Version 24.3 {#24-3} + +### Version 24.3.13.11 {#24-3-13-11} + +Release date: March 6, 2025. + +#### Bug Fixes + +* [Fixed](https://github.com/ydb-platform/ydb/pull/13501) an uncommitted changes leak and cleaned them up on startup. +* [Fixed](https://github.com/ydb-platform/ydb/pull/13948) consistency issues related to caching deleted ranges. +* [Fixed](https://github.com/ydb-platform/ydb/pull/15182) the issue of caching negative responses to authentication requests from an LDAP-compatible user and group directory for too long. + +### Version 24.3.13.10 {#24-3-13-10} + +Release date: December 24, 2024. + +#### New Features + +* Introduced [query tracing](./reference/observability/tracing/setup), a tool that allows you to view the detailed path of a request through a distributed system. +* Added support for [asynchronous replication](./concepts/async-replication), that allows synchronizing data between YDB databases in near real time. It can also be used for data migration between databases with minimal downtime for applications interacting with these databases. +* Added support for [views](./concepts/datamodel/view), which can be enabled by the cluster administrator using the `enable_views` setting in [dynamic configuration](./maintenance/manual/dynamic-config#updating-dynamic-configuration). +* Extended [federated query](./concepts/federated_query/) capabilities to support new external data sources: MySQL, Microsoft SQL Server, and Greenplum. +* Published [documentation](./devops/deployment-options/manual/federated-queries/connector-deployment.md) on deploying YDB with [federated query](./concepts/federated_query/) New Features (manual setup). +* Added a new launch parameter `FQ_CONNECTOR_ENDPOINT` for YDB Docker containers that specifies an external data source connector address. Added support for TLS encryption for connections to the connector and the ability to expose the connector service port locally on the same host as the dynamic YDB node. +* Added an [auto-partitioning mode](./concepts/topic#autopartitioning) for topics, where partitions can dynamically split based on load while preserving message read-order and exactly-once guarantees. The mode can be enabled by the cluster administrator using the settings `enable_topic_split_merge` and `enable_pqconfig_transactions_at_scheme_shard` in [dynamic configuration](./maintenance/manual/dynamic-config#updating-dynamic-configuration). +* Added support for transactions involving [topics](./concepts/topic) and row-based tables, enabling transactional data transfer between tables and topics, or between topics, ensuring no data loss or duplication. Transactions can be enabled by the cluster administrator using the settings `enable_topic_service_tx` and `enable_pqconfig_transactions_at_scheme_shard` in [dynamic configuration](./maintenance/manual/dynamic-config#updating-dynamic-configuration). +* [Implemented](https://github.com/ydb-platform/ydb/pull/7150) [Change Data Capture (CDC)](./concepts/cdc) for synchronous secondary indexes. +* Added support for changing record retention periods in [CDC](./concepts/cdc) topics. +* Added support for auto-increment columns as part of a table's primary key. +* Added audit logging for user login events in YDB, session termination events in the user interface, and backup/restore operations. +* Added a system view with information about sessions installed from the database using a query. +* Added support literal default values for row-oriented tables. When inserting a new row in YDB Query default values will be assigned to the column if specified. +* Added the `version()` [built-in function](./yql/reference/builtins/basic.md#version). +* Added support for `RETURNING` clause in queries. +* [Added](https://github.com/ydb-platform/ydb/pull/8708) start/end times and authors in the metadata for backup/restore operations from S3-compatible storage. +* Added support for backup/restore of ACL for tables from/to S3-compatible storage. +* Included paths and decompression methods in query plans for reading from S3. +* Added new parsing options for timestamp/datetime fields when reading data from S3. +* Added support for the `Decimal` type in [partitioning keys](./dev/primary-key/column-oriented#klyuch-particionirovaniya). +* Improved diagnostics for storage issues in HealthCheck. +* **_(Experimental)_** Added a [cost-based optimizer](./concepts/optimizer#cost-based-query-optimizer) for complex queries, involving [column-oriented tables](./concepts/glossary#column-oriented-table). The cost-based optimizer considers a large number of alternative execution plans for each query and selects the best one based on the cost estimate for each option. Currently, this optimizer only works with plans that contain [JOIN](./yql/reference/syntax/join) operations. +* **_(Experimental)_** Initial version of the workload manager was implemented. It allows to create resource pools with CPU, memory and active queries count limits. Resource classifiers were implemented to assign queries to specific resource pool. +* **_(Experimental)_** Implemented [automatic index selection](./dev/secondary-indexes#avtomaticheskoe-ispolzovanie-indeksov-pri-vyborke) for queries, which can be enabled via the `index_auto_choose_mode setting` in `table_service_config` in [dynamic configuration](./maintenance/manual/dynamic-config#updating-dynamic-configuration). + +#### YDB UI + +* Added support for creating and [viewing information on](https://github.com/ydb-platform/ydb-embedded-ui/issues/782) asynchronous replication instances. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/issues/929) an indicator for auto-increment columns. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1438) a tab with information about [tablets](./concepts/glossary#tablet). +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1289) a tab with details about [distributed storage groups](./concepts/glossary#storage-group). +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1218) a setting to trace all queries and display tracing results. +* Enhanced the PDisk page with [attributes](https://github.com/ydb-platform/ydb-embedded-ui/pull/1069), disk space consumption details, and a button to initiate [disk decommissioning](./devops/deployment-options/manual/decommissioning.md). +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1313) information about currently running queries. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1291) a row limit setting for query editor output and a notification when results exceed the limit. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1049) a tab to display top CPU-consuming queries over the last hour. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1127) a control to search the history and saved queries pages. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1117) the ability to cancel query execution. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/issues/944) a shortcut to save queries in the editor. +* [Separated](https://github.com/ydb-platform/ydb-embedded-ui/pull/1422) donor disks from other disks in the UI. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1154) support for InterruptInheritance ACL and improved visualization of active ACLs. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/889) a display of the current UI version. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/1229) a tab with information about the status of settings for enabling experimental New Features. + +#### Performance + +* [Accelerated](https://github.com/ydb-platform/ydb/pull/7589) recovery of tables with secondary indexes from backups up to 20% according to our tests. +* [Optimized](https://github.com/ydb-platform/ydb/pull/9721) Interconnect throughput. +* Improved the performance of CDC topics with thousands of partitions. +* Enhanced the Hive tablet balancing algorithm. + +#### Bug fixes + +* [Fixed](https://github.com/ydb-platform/ydb/pull/6850) an issue that caused databases with a large number of tables or partitions to become non-functional during restoration from a backup. Now, if database size limits are exceeded, the restoration operation will fail, but the database will remain operational. +* [Implemented](https://github.com/ydb-platform/ydb/pull/11532) a mechanism to forcibly trigger background [compaction](./concepts/glossary#compaction) when discrepancies between the data schema and stored data are detected in [DataShard](./concepts/glossary#data-shard). This resolves a rare issue with delays in schema changes. +* [Resolved](https://github.com/ydb-platform/ydb/pull/10447) duplication of authentication tickets, which led to an increased number of requests to authentication providers. +* [Fixed](https://github.com/ydb-platform/ydb/pull/9377) an invariant violation issue during the initial scan of CDC, leading to an abnormal termination of the `ydbd` server process. +* [Prohibited](https://github.com/ydb-platform/ydb/pull/9446) schema changes for backup tables. +* [Fixed](https://github.com/ydb-platform/ydb/pull/9509) an issue with an initial scan freezing during CDC when the table is frequently updated. +* [Excluded](https://github.com/ydb-platform/ydb/pull/9934) deleted indexes from the count against the [maximum index limit](./concepts/limits-ydb#schema-object). +* Fixed a [bug](https://github.com/ydb-platform/ydb/issues/6985) in the display of the scheduled execution time for a set of transactions (planned step). +* [Fixed](https://github.com/ydb-platform/ydb/pull/9161) a [problem](https://github.com/ydb-platform/ydb/issues/8942) with interruptions in blue–green deployment in large clusters caused by frequent updates to the node list. +* [Resolved](https://github.com/ydb-platform/ydb/pull/8925) a rare issue that caused transaction order violations. +* [Fixed](https://github.com/ydb-platform/ydb/pull/9841) an [issue](https://github.com/ydb-platform/ydb/issues/9797) in the EvWrite API that resulted in incorrect memory deallocation. +* [Resolved](https://github.com/ydb-platform/ydb/pull/10698) a [problem](https://github.com/ydb-platform/ydb/issues/10674) with volatile transactions hanging after a restart. +* Fixed a bug in the CDC, which in some cases leads to increased CPU consumption, up to a core per CDC partition. +* [Eliminated](https://github.com/ydb-platform/ydb/pull/11061) read delays occurring during and after the splitting of certain partitions. +* Fixed issues when reading data from S3. +* [Corrected](https://github.com/ydb-platform/ydb/pull/4793) the calculation of the AWS signature for S3 requests. +* Resolved false positives in the HealthCheck system during database backups involving a large number of shards. +* [Removed](https://github.com/ydb-platform/ydb/pull/11901) the restriction on writing values greater than 127 to the Uint8 type. +* [Fixed](https://github.com/ydb-platform/ydb/pull/12915) an issue with restoring from a backup stored in S3 with path-style addressing. +* [Fixed](https://github.com/ydb-platform/ydb/pull/12018) an issue with ["frozen" locks](./contributor/datashard-locks-and-change-visibility.md#interaction-with-distributed-transactions), which could be caused by bulk operations (e.g., TTL-based deletions). +* [Fixed](https://github.com/ydb-platform/ydb/pull/11658) a rare issue that caused errors during read queries. + +## Version 24.2 {#24-2} + +### Version 24.2.7.1 {#24-2-7-1} + +Release date: August 20, 2024. + +### New Features + +* Added the ability to set [maintenance task priorities](./devops/concepts/maintenance-without-downtime.md#priority) in the [cluster management system](./concepts/glossary.md#cms). +* Added a setting to enable [stable names](./reference/configuration/#node-broker-config) for cluster nodes within a tenant. +* Enabled retrieval of nested groups from the [LDAP server](./concepts/auth#ldap-auth-provider), improved host parsing in the [LDAP-configuration](./reference/configuration/#ldap-auth-config), and added an option to disable built-in authentication via login and password. +* Added support for authenticating [dynamic nodes](./concepts/glossary#dynamic) using SSL-certificates. +* Implemented the removal of inactive nodes from [Hive](./concepts/glossary#hive) without a restart. +* Improved management of inflight pings during Hive restarts in large clusters. +* Changed the order of establishing connections with nodes during Hive restarts. + +### YDB UI + +* [Added](https://github.com/ydb-platform/ydb/pull/7485) the option to set a TTL for user sessions in the configuration file. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/issues/996) an option to sort the list of queries by `CPUTime`. +* [Fixed](https://github.com/ydb-platform/ydb/pull/7779) precision loss when working with `double`, `float` data types. +* [Added support](https://github.com/ydb-platform/ydb-embedded-ui/pull/958) for creating directories in the UI. +* [Added](https://github.com/ydb-platform/ydb-embedded-ui/pull/976) an auto-refresh control on all pages. +* [Improved](https://github.com/ydb-platform/ydb-embedded-ui/pull/955) ACL display. +* Enabled autocomplete in the queries editor by default. +* Added support for views. + +### Bug fixes + +* Added a check on the size of the local transaction prior to its commit to fix [errors](https://github.com/db-platform/ydb/issues/6677) in scheme shard operations when exporting/backing up large databases. +* [Fixed](https://github.com/ydb-platform/ydb/pull/7709) an issue with duplicate results in SELECT queries when reducing quotas in [DataShard](./concepts/glossary#data-shard). +* [Fixed](https://github.com/ydb-platform/ydb/pull/6461) [errors](https://github.com/ydb-platform/ydb/issues/6220) occurring during [coordinator](./concepts/glossary#coordinator) state changes. +* [Fixed](https://github.com/ydb-platform/ydb/pull/5992) issues during the initial CDC scan. +* [Resolved](https://github.com/ydb-platform/ydb/pull/6615) race conditions in asynchronous change delivery (asynchronous indexes, CDC). +* [Fixed](https://github.com/ydb-platform/ydb/pull/5993) a crash that sometimes occurred during [TTL-based](./concepts/ttl) deletions. +* [Fixed](https://github.com/ydb-platform/ydb/pull/5760) an issue with PDisk status display in the [CMS](./concepts/glossary#cms). +* [Fixed](https://github.com/ydb-platform/ydb/pull/6008) an issue that might cause soft tablet transfers (drain) from a node to hang. +* [Resolved](https://github.com/ydb-platform/ydb/pull/6445) an issue with the interconnect proxy stopping on a node that is running without restarts. The issue occurred when adding another node to the cluster. +* [Corrected](https://github.com/ydb-platform/ydb/pull/7023) string escaping in error messages. +* [Fixed](https://github.com/ydb-platform/ydb/pull/6695) an issue with managing free memory in the [interconnect](./concepts/glossary#actor-system-interconnect). +* [Corrected](https://github.com/ydb-platform/ydb/issues/6405) UnreplicatedPhantoms and UnreplicatedNonPhantoms counters in VDisk. +* [Fixed](https://github.com/ydb-platform/ydb/issues/6398) an issue with handling empty garbage collection requests on VDisk. +* [Resolved](https://github.com/ydb-platform/ydb/pull/5894) issues with managing TVDiskControls settings through CMS. +* [Fixed](https://github.com/ydb-platform/ydb/pull/5883) an issue with failing to load the data created by newer versions of VDisk. +* [Fixed](https://github.com/ydb-platform/ydb/pull/5862) an issue with executing the `REPLACE INTO` queries with default values. +* [Fixed](https://github.com/ydb-platform/ydb/pull/7714) errors in queries with multiple LEFT JOINs to a single string table. +* [Fixed](https://github.com/ydb-platform/ydb/pull/7740) precision loss for `float`,`double` types when using CDC. + +## Version 24.1 {#24-1} + +### Version 24.1.18.1 {#24-1-18-1} + +Release date: July 31, 2024. + +### New Features + +* The [Knn UDF](./yql/reference/udf/list/knn.md) function for precise nearest vector search has been implemented. +* The gRPC Query service has been developed, enabling the execution of all types of queries (DML, DDL) and retrieval of unlimited amounts of data. +* [Integration with the LDAP protocol](./security/authentication.md) has been implemented, allowing the retrieval of a list of groups from external LDAP directories. + +### Embedded UI + +* The database information tab now includes a resource consumption diagnostic dashboard, which allows users to assess the current consumption of key resources: processor cores, RAM, and distributed storage space. +* Charts for monitoring the key performance indicators of the {{ ydb-short-name }} cluster have been added. + +### Performance + +* [Session timeouts](https://github.com/ydb-platform/ydb/pull/1837) for the coordination service between server and client have been optimized. Previously, the timeout was 5 seconds, which could result in a 10-second delay in identifying an unresponsive client and releasing its resources. In the new version, the check interval depends on the session's wait time, allowing for faster responses during leader changes or when acquiring distributed locks. +* CPU consumption by [SchemeShard](./concepts/glossary.md#scheme-shard) replicas has been [optimized](https://github.com/ydb-platform/ydb/pull/2391), particularly when handling rapid updates for tables with a large number of partitions. + +### Bug fixes + +* A possible queue overflow error has been [fixed](https://github.com/ydb-platform/ydb/pull/3917). [Change Data Capture](./dev/cdc.md) now reserves the change queue capacity during the initial scan. +* A potential deadlock between receiving and sending CDC records has been [fixed](https://github.com/ydb-platform/ydb/pull/4597). +* An issue causing the loss of the mediator task queue during mediator reconnection has been [fixed](https://github.com/ydb-platform/ydb/pull/2056). This fix allows processing of the mediator task queue during resynchronization. +* A rarely occurring error has been [fixed](https://github.com/ydb-platform/ydb/pull/2624), where with volatile transactions enabled, a successful transaction confirmation result could be returned before the transaction was fully committed. Volatile transactions remain disabled by default and are still under development. +* A rare error that led to the loss of established locks and the successful confirmation of transactions that should have failed with a "Transaction Locks Invalidated" error has been [fixed](https://github.com/ydb-platform/ydb/pull/2839). +* A rare error that could result in a violation of data integrity guarantees during concurrent read and write operations on a specific key has been [fixed](https://github.com/ydb-platform/ydb/pull/3074). +* An issue causing read replicas to stop processing requests has been [fixed](https://github.com/ydb-platform/ydb/pull/4343). +* A rare error that could cause abnormal termination of database processes if there were uncommitted transactions on a table during its renaming has been [fixed](https://github.com/ydb-platform/ydb/pull/4979). +* An error in determining the status of a static group, where it was not marked as non-working when it should have been, has been [fixed](https://github.com/ydb-platform/ydb/pull/3632). +* An error involving partial commits of a distributed transaction with uncommitted changes, caused by certain race conditions with restarts, has been [fixed](https://github.com/ydb-platform/ydb/pull/2169). +* Anomalies related to reading outdated data, [detected using Jepsen](https://blog.ydb.tech/hardening-ydb-with-jepsen-lessons-learned-e3238a7ef4f2), have been [fixed](https://github.com/ydb-platform/ydb/pull/2374). + +## Version 23.4 {#23-4} + +### Version 23.4.11.1 {#23-4-11-1} + +Release date: May 14, 2024. + +### Performance + +* [Fixed](https://github.com/ydb-platform/ydb/pull/3638) an issue of increased CPU consumption by a topic actor `PERSQUEUE_PARTITION_ACTOR`. +* [Optimized](https://github.com/ydb-platform/ydb/pull/2083) resource usage by SchemeBoard replicas. The greatest effect is noticeable when modifying the metadata of tables with a large number of partitions. + +### Bug fixes + +* [Fixed a bug](https://github.com/ydb-platform/ydb/pull/2169) of possible partial commit of accumulated changes when using persistent distributed transactions. This error occurs in an extremely rare combination of events, including restarting tablets that service the table partitions involved in the transaction. +* [Fixed a bug](https://github.com/ydb-platform/ydb/pull/3165) involving a race condition between the table merge and garbage collection processes, which could result in garbage collection ending with an invariant violation error, leading to an abnormal termination of the `ydbd` server process. +* [Fixed a bug](https://github.com/ydb-platform/ydb/pull/2696) in Blob Storage, where information about changes to the composition of a storage group might not be received in a timely manner by individual cluster nodes. As a result, reads and writes of data stored in the affected group could become blocked in rare cases, requiring manual intervention. +* [Fixed a bug](https://github.com/ydb-platform/ydb/pull/3002) in Blob Storage, where data storage nodes might not start despite the correct configuration. The error occurred on systems with the experimental "blob depot" feature explicitly enabled (this feature is disabled by default). +* [Fixed a bug](https://github.com/ydb-platform/ydb/pull/2475) that sometimes occurred when writing to a topic with an empty `producer_id` with turned off deduplication. It could lead to abnormal termination of the `ydbd` server process. +* [Fixed a bug](https://github.com/ydb-platform/ydb/pull/2651) that caused the `ydbd` process to crash due to an incorrect session state when writing to a topic. +* [Fixed a bug](https://github.com/ydb-platform/ydb/pull/3587) in displaying the metric of number of partitions in a topic, where it previously displayed an incorrect value. +* [Fixed a bug](https://github.com/ydb-platform/ydb/pull/2126) causing memory leaks that appeared when copying topic data between clusters. These could cause `ydbd` server processes to terminate due to out-of-memory issues. + +## Version 23.3 {#23-3} + +### Version 23.3.25.2 {#23-3-25-2} + +Release date: October 12, 2023. + +### New Features + +* Implemented visibility of own changes. With this feature enabled you can read changed values from the current transaction, which has not been committed yet. This New Features also allows multiple modifying operations in one transaction on a table with secondary indexes. +* Added support for [column tables](concepts/datamodel/table.md#column-tables). It is now possible to create analytical reports based on stored data in YDB with performance comparable to specialized analytical DBMS. +* Added support for Kafka API for topics. YDB topics can now be accessed via a Kafka-compatible API designed for migrating existing applications. Support for Kafka protocol version 3.4.0 is provided. +* Added the ability to [write to a topic without deduplication](concepts/datamodel/topic.md#no-dedup). This is important in cases where message processing order is not critical. +* YQL has added the capabilities to [create](yql/reference/syntax/create-topic.md), [modify](yql/reference/syntax/alter-topic.md), and [delete](yql/reference/syntax/delete.md) topics. +* Added support of assigning and revoking access rights using the YQL `GRANT` and `REVOKE` commands. +* Added support of DML-operations logging in the audit log. +* **_(Experimental)_** When writing messages to a topic, it is now possible to pass metadata. To enable this New Features, add `enable_topic_message_meta: true` to the [configuration file](reference/configuration/index.md). +* **_(Experimental)_** Added support for [reading from topics in a transaction](reference/ydb-sdk/topic.md#read-tx). It is now possible to read from topics and write to tables within a transaction, simplifying the data transfer scenario from a topic to a table. To enable this New Features, add `enable_topic_service_tx: true` to the [configuration file](reference/configuration/index.md). +* **_(Experimental)_** Added support for PostgreSQL compatibility. This involves executing SQL queries in PostgreSQL dialect on the YDB infrastructure using the PostgreSQL network protocol. With this capability, familiar PostgreSQL tools such as psql and drivers (e.g., pq for Golang and psycopg2 for Python) can be used. Queries can be developed using the familiar PostgreSQL syntax and take advantage of YDB's benefits such as horizontal scalability and fault tolerance. +* **_(Experimental)_** Added support for federated queries. This enables retrieving information from various data sources without the need to move the data into YDB. Federated queries support interaction with ClickHouse and PostgreSQL databases, as well as S3 class data stores (Object Storage). YQL queries can be used to access these databases without duplicating data between systems. + +### Embedded UI + +* A new option `PostgreSQL` has been added to the query type selector settings, which is available when the `Enable additional query modes` parameter is enabled. Also, the query history now takes into account the syntax used when executing the query. +* The YQL query template for creating a table has been updated. Added a description of the available parameters. +* Now sorting and filtering for Storage and Nodes tables takes place on the server. To use this New Features, you need to enable the parameter `Offload tables filters and sorting to backend` in the experiments section. +* Buttons for creating, changing and deleting [topics](concepts/datamodel/topic.md) have been added to the context menu. +* Added sorting by criticality for all issues in the tree in `Healthcheck`. + +### Performance + +* Implemented read iterators. This feature allows to separate reads and computations. Read iterators allow datashards to increase read queries throughput. +* The performance of writing to YDB topics has been optimized. +* Improved tablet balancing during node overload. + +### Bug fixes + +* Fixed an error regarding potential blocking of reading iterators of snapshots, of which the coordinators were unaware. +* Memory leak when closing the connection in Kafka proxy has been fixed. +* Fixed an issue where snapshots taken through reading iterators may fail to recover on restarts. +* Fixed an issue with an incorrect residual predicate for the `IS NULL` condition on a column. +* Fixed an occurring verification error: `VERIFY failed: SendResult(): requirement ChunksLimiter.Take(sendBytes) failed`. +* Fixed `ALTER TABLE` for TTL on column-based tables. +* Implemented a `FeatureFlag` that allows enabling/disabling work with `CS` and `DS`. +* Fixed a 50ms time difference between coordinator time in 23-2 and 23-3. +* Fixed an error where the storage endpoint was returning extra groups when the `viewer backend` had the `node_id` parameter in the request. +* Added a usage filter to the `/storage` endpoint in the `viewer backend`. +* Fixed an issue in Storage v2 where an incorrect number was returned in the `Degraded field`. +* Fixed an issue with cancelling subscriptions from sessions during tablet restarts. +* Fixed an error where `healthcheck alerts` for storage were flickering during rolling restarts when going through a load balancer. +* Updated `CPU usage metrics` in YDB. +* Fixed an issue where `NULL` was being ignored when specifying `NOT NULL` in the table schema. +* Implemented logging of `DDL` operations in the common log. +* Implemented restriction for the YDB table attribute `add/drop` command to only work with tables and not with any other objects. +* Disabled `CloseOnIdle` for interconnect. +* Fixed the doubling of read speed in the UI. +* Fixed an issue where data could be lost on block-4-2. +* Added a check for topic name validity. +* Fixed a possible deadlock in the actor system. +* Fixed the `KqpScanArrowInChanels::AllTypesColumns` test. +* Fixed the `KqpScan::SqlInParameter` test. +* Fixed parallelism issues for OLAP queries. +* Fixed the insertion of `ClickBench` parquet files. +* Added a missing call to `CheckChangesQueueOverflow` in the general `CheckDataTxReject`. +* Fixed an error that returned an empty status in `ReadRows` API calls. +* Fixed incorrect retry behavior in the final stage of export. +* Fixed an issue with infinite quota for the number of records in a `CDC topic`. +* Fixed the import error of `string` and `parquet` columns into an `OLAP string column`. +* Fixed a crash in `KqpOlapTypes.Timestamp` under `tsan`. +* Fixed a `viewer backend` crash when attempting to execute a query against the database due to version incompatibility. +* Fixed an error where the viewer did not return a response from the `healthcheck` due to a timeout. +* Fixed an error where incorrect `ExpectedSerial` values could be saved in `Pdisks`. +* Fixed an error where database nodes were crashing due to segfault in the S3 actor. +* Fixed a race condition in `ThreadSanitizer: data race KqpService::ToDictCache-UseCache`. +* Fixed a race condition in `GetNextReadId`. +* Fixed an issue with an inflated result in `SELECT COUNT(*)` immediately after import. +* Fixed an error where `TEvScan` could return an empty dataset in the case of shard splitting. +* Added a separate `issue/error` code in case of available space exhaustion. +* Fixed a `GRPC_LIBRARY Assertion` failed error. +* Fixed an error where scanning queries on secondary indexes returned an empty result. +* Fixed validation of `CommitOffset` in `TopicAPI`. +* Reduced shared cache consumption when approaching OOM. +* Merged scheduler logic from data executer and scan executer into one class. +* Added discovery and `proxy` handlers to the query execution process in the `viewer backend`. +* Fixed an error where the `/cluster` endpoint returned the root domain name, such as `/ru`, in the `viewer backend`. +* Implemented a seamless table update scheme for `QueryService`. +* Fixed an issue where `DELETE` returned data and did not delete it. +* Fixed an error in `DELETE ON` operation in query service. +* Fixed an unexpected batching disablement in `default` schema settings. +* Fixed a triggering check `VERIFY failed: MoveUserTable(): requirement move.ReMapIndexesSize() == newTableInfo->Indexes.size()`. +* Increased the `default` timeout for `grpc-streaming`. +* Excluded unused messages and methods from `QueryService`. +* Added sorting by `Rack` in /nodes in the `viewer backend`. +* Fixed an error where sorting queries returned an error in descending order. +* Improved interaction between `KQP` and `NodeWhiteboard`. +* Removed support for old parameter formats. +* Fixed an error where `DefineBox` was not being applied to disks with a static group. +* Fixed a `SIGSEGV` error in the dinnode during `CSV` import via `YDB CLI`. +* Fixed an error that caused a crash when processing `NGRpcService::TRefreshTokenImpl`. +* Implemented a `gossip protocol` for exchanging cluster resource information. +* Fixed an error in `DeserializeValuePickleV1(): requirement data.GetTransportVersion() == (ui32) NDqProto::DATA_TRANSPORT_UV_PICKLE_1_0 failed`. +* Implemented `auto-increment` columns. +* Use `UNAVAILABLE` status instead of `GENERIC_ERROR` when shard identification fails. +* Added support for rope payload in `TEvVGet`. +* Added ignoring of deprecated events. +* Fixed a crash of write sessions on an invalid topic name. +* Fixed an error in `CheckExpected(): requirement newConstr failed, message: Rewrite error, missing Distinct((id)) constraint in node FlatMap`. +* Enabled `self-heal` by default. diff --git a/ydb/docs/en/core/downloads/yandex-enterprise-database.md b/ydb/docs/en/core/downloads/yandex-enterprise-database.md index ed36fb725e44..6387e2e7dacf 100644 --- a/ydb/docs/en/core/downloads/yandex-enterprise-database.md +++ b/ydb/docs/en/core/downloads/yandex-enterprise-database.md @@ -31,6 +31,29 @@ Yandex Enterprise Database distributions are available for download via the link #| || **Version** | **Release date** | **Download** | **Checksums** | **Changelog** || +|| **v24.4** | | | | || +|| v.24.4.4.15 | 19.09.2025 | + +- [Distribution](http://binaries.ydb.enterprise.website.yandexcloud.net/builds/24.4.4.ent.15/ydbd-enterpise-24.4.4.ent.15-stable-linux-amd64.tar.xz) +- [Debug symbols](http://binaries.ydb.enterprise.website.yandexcloud.net/builds/24.4.4.ent.15/ydbd-enterpise-24.4.4.ent.15-stable-linux-amd64-debug.tar.xz) + +| + +- [For distribution](http://binaries.ydb.enterprise.website.yandexcloud.net/builds/24.4.4.ent.15/checksums.txt) +- [For debug symbols](http://binaries.ydb.enterprise.website.yandexcloud.net/builds/24.4.4.ent.15/checksums.debug.txt) + +| [See list](../changelog-enterprise.md#24-4-4-15) || +|| v.24.4.4.13 | 29.07.2025 | + +- [Distribution](https://binaries.ясубд.рф/release/24.4.4.13/yasubd-24.4.4.13-linux-amd64.tar.xz) +- [Debug symbols](https://binaries.ясубд.рф/release/24.4.4.13/yasubd-24.4.4.13-linux-amd64-debug.tar.xz) + +| + +- [For distribution](https://binaries.ясубд.рф/release/24.4.4.13/checksums.txt) +- [For debug symbols](https://binaries.ясубд.рф/release/24.4.4.13/checksums.debug.txt) + +| [See list](../changelog-enterprise.md#24-4-4-13) || || **v24.3** | | | | || || v.24.3.13.11 | 06.03.2024 | @@ -42,7 +65,7 @@ Yandex Enterprise Database distributions are available for download via the link - [For distribution](https://binaries.ясубд.рф/release/24.3.13.11/checksums.txt) - [For debug symbols](https://binaries.ясубд.рф/release/24.3.13.11/checksums.debug.txt) -| - || +| [See list](../changelog-enterprise.md#24-3-13-11) || || v.24.3.13.10 | 24.12.2024 | - [Distribution](https://binaries.ясубд.рф/release/24.3.13.10/yasubd-24.3.13.10-linux-amd64.tar.xz) @@ -53,7 +76,7 @@ Yandex Enterprise Database distributions are available for download via the link - [For distribution](https://binaries.ясубд.рф/release/24.3.13.10/checksums.txt) - [For debug symbols](https://binaries.ясубд.рф/release/24.3.13.10/checksums.debug.txt) -| [See list](../changelog-server.md#24-3) || +| [See list](../changelog-enterprise.md#24-3-13-10) || || **v24.2** | | | | || || v.24.2.7.1 | 20.08.2024 | @@ -65,7 +88,7 @@ Yandex Enterprise Database distributions are available for download via the link - [For distribution](https://binaries.ясубд.рф/release/24.2.7.1/checksums.txt) - [For debug symbols](https://binaries.ясубд.рф/release/24.2.7.1/checksums.debug.txt) -| [See list](../changelog-server.md#24-2) || +| [See list](../changelog-enterprise.md#24-2) || || **v24.1** | | | | || || v.24.1.18.1 | 28.06.2024 | @@ -77,25 +100,28 @@ Yandex Enterprise Database distributions are available for download via the link - [For distribution](https://binaries.ясубд.рф/release/24.1.18.1/checksums.txt) - [For debug symbols](https://binaries.ясубд.рф/release/24.1.18.1/checksums.debug.txt) -| [See list](../changelog-server.md#24-1) || +| [See list](../changelog-enterprise.md#24-1) || || **v23.4** | | | | || -|| v.23.4.11.1 | 15.05.2024 | [Distribution](https://binaries.ясубд.рф/release/23.4.11.1/yasubd-23.4.11.1-linux-amd64.tar.gz) | [Checksums](https://binaries.ясубд.рф/release/23.4.11.1/checksums.txt) | [See list](../changelog-server.md#23-4) || +|| v.23.4.11.1 | 15.05.2024 | [Distribution](https://binaries.ясубд.рф/release/23.4.11.1/yasubd-23.4.11.1-linux-amd64.tar.gz) | [Checksums](https://binaries.ясубд.рф/release/23.4.11.1/checksums.txt) | [See list](../changelog-enterprise.md#23-4) || || **v23.3** | | | | || -|| v.23.3.25.2 | 17.03.2024 | [Distribution](https://binaries.ясубд.рф/release/23.3.25.2/yasubd-23.3.25.2-linux-amd64.tar.gz) | [Checksums](https://binaries.ясубд.рф/release/23.3.25.2/checksums.txt) | [See list](../changelog-server.md#23-3) || +|| v.23.3.25.2 | 17.03.2024 | [Distribution](https://binaries.ясубд.рф/release/23.3.25.2/yasubd-23.3.25.2-linux-amd64.tar.gz) | [Checksums](https://binaries.ясубд.рф/release/23.3.25.2/checksums.txt) | [See list](../changelog-enterprise.md#23-3) || |# ### Docker #| || **Version** | **Release date** | **Download** | **Changelog** || +|| **v24.4** | | | | || +|| v.24.4.4.15 | 19.09.2025 | `cr.yandex/crptqonuodf51kdj7a7d/ydb-enterpise:24.4.4.ent.15` | [See list](../changelog-enterprise.md#24-4-4-15) || +|| v.24.4.4.13 | 29.07.2025 | `cr.yandex/crptqonuodf51kdj7a7d/ydb-enterpise:2025-08-08-73940688fea2aeb2e109f01a7827f2d7` | [See list](../changelog-enterprise.md#24-4-4-13) || || **v24.3** | | | | || -|| v.24.3.13 | 05.12.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.3.11.13` | [See list](../changelog-server.md#24-3) || +|| v.24.3.13 | 05.12.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.3.11.13` | [See list](../changelog-enterprise.md#24-3-13-10) || || **v24.2** | | | | || -|| v.24.2.7 | 20.08.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.2.7` | [See list](../changelog-server.md#24-2) || +|| v.24.2.7 | 20.08.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.2.7` | [See list](../changelog-enterprise.md#24-2) || || **v24.1** | | | | || -|| v.24.1.18 | 31.07.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.1.18` | [See list](../changelog-server.md#24-1) || +|| v.24.1.18 | 31.07.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.1.18` | [See list](../changelog-enterprise.md#24-1) || || **v23.4** | | | | || -|| v.23.4.11 | 14.05.24 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:23.4.11` | [See list](../changelog-server.md#23-4) || +|| v.23.4.11 | 14.05.24 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:23.4.11` | [See list](../changelog-enterprise.md#23-4) || || **v23.3** | | | | || || v.23.3.17 | 14.12.23 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:23.3.17` | [See list](../changelog-server.md#23-3-17) || || v.23.3.13 | 12.10.23 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:23.3.13` | [See list](../changelog-server.md#23-3) || diff --git a/ydb/docs/en/core/toc_changelog.yaml b/ydb/docs/en/core/toc_changelog.yaml index 43ab1390f6be..0676beafbc5d 100644 --- a/ydb/docs/en/core/toc_changelog.yaml +++ b/ydb/docs/en/core/toc_changelog.yaml @@ -1,6 +1,8 @@ items: - name: "{{ ydb-short-name }} Server" href: changelog-server.md +- name: "Yandex Enterprise Database" + href: changelog-enterprise.md - name: "{{ ydb-short-name }} CLI" href: changelog-cli.md - name: Security changelog diff --git a/ydb/docs/ru/core/changelog-enterprise.md b/ydb/docs/ru/core/changelog-enterprise.md new file mode 100644 index 000000000000..8c560f5ac6ec --- /dev/null +++ b/ydb/docs/ru/core/changelog-enterprise.md @@ -0,0 +1,379 @@ +# Список изменений сервера Корпоративной СУБД Яндекса + +## Версия 24.4 {#24-4} + +### Версия 24.4.4.15 {#24-4-4-15} + +Дата выхода: 19 сентября 2025. + +#### Производительность + +* Столбцы, по которым осуществляется сортировка результатов выполнения запроса, учитываются оптимизатором при автоматическом выборе вторичного индекса. Функциональность работает только для запросов к единственной таблице, без присоединения других таблиц. + +#### Исправления ошибок + +* При получении ошибки `OperationAborted` в ответе от S3 операция экспорта не завершается ошибкой, а повторяет попытку записи в S3. + +### Версия 24.4.4.13 {#24-4-4-13} + +Дата выхода: 29 июля 2025. + +#### Функциональность + +* [Поддержан](https://github.com/ydb-platform/ydb/pull/11276) рестарт без потери доступности кластера в [минимальной отказоустойчивой конфигурации](./concepts/topology#reduced) из трех узлов. +* [Добавлены](https://github.com/ydb-platform/ydb/pull/13218) новые функции UDF Roaring bitmap: AndNotWithBinary, FromUint32List, RunOptimize +* Добавлена возможность регистрировать [узел базы данных](./concepts/glossary.md#database-node) по сертификату. В [Node Broker](./concepts/glossary.md#node-broker) добавлен флаг `AuthorizeByCertificate` использования сертификата при регистрации. +* [Добавлены](https://github.com/ydb-platform/ydb/pull/11775) приоритеты проверки аутентификационных тикетов [с использованием стороннего IAM-провайдера](./security/authentication.md#iam), с самым высоким приоритетом обрабатываются запросы от новых пользователей. Тикеты в кеше обновляют свою информацию с приоритетом ниже. +* Добавлена возможность [чтения и записи в топик](./reference/kafka-api/examples.md#primery-raboty-s-kafka-api) с использованием Kafka API без аутентификации. +* Включены по умолчанию: + + * поддержка [представлений (VIEW)](./concepts/datamodel/view.md); + * режим [автопартиционирования](./concepts/datamodel/topic.md#autopartitioning) топиков; + * [транзакции с участием топиков и строковых таблиц](./concepts/transactions.md#topic-table-transactions); + * [волатильные распределённые транзакции](./contributor/datashard-distributed-txs.md#osobennosti-vypolneniya-volatilnyh-tranzakcij). + +#### Производительность + +* [Ускорено](https://github.com/ydb-platform/ydb/pull/12747) поднятие таблеток на больших кластерах:​ 210 мс **→** 125 мс (ssd)​, 260 мс **→** 165 мс (hdd)​. +* [Ограничено](https://github.com/ydb-platform/ydb/pull/17755) количество одновременно обрабатываемых изменений конфигураций. +* [Оптимизировано](https://github.com/ydb-platform/ydb/issues/18289) потребление памяти PQ-таблетками. +* [Оптимизировано](https://github.com/ydb-platform/ydb/issues/18473) потребление CPU таблеткой Scheme shard, что уменьшило задержки ответов на запросы. Теперь лимит на число операций Scheme shard проверяется до выполнения операций разделения и слияния таблеток. +* Включен по умолчанию [автоматический выбор вторичного индекса](./dev/secondary-indexes.md#avtomaticheskoe-ispolzovanie-indeksov-pri-vyborke) при выполнении запроса. + +#### Исправления ошибок + +* [Исправлена](https://github.com/ydb-platform/ydb/pull/12221) ошибка, из-за которой при чтении из топика маленьких сообщений маленькими порциями значительно увеличивалась назгрузка на CPU. Это могло приводить к задержкам в чтении/записи в этот топик. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/13918) ошибка восстановления из резервной копии, которая была создана в момент автоматического разделения таблицы. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/12601) ошибка в сериализации `Uuid` для [CDC](./concepts/cdc.md). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/12804) ​​ошибка, из-за которой чтение на подписчиках таблетки могло приводить к сбоям во время автоматического разделения таблицы. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/12807) ошибка, при которой [узел координации](./concepts/datamodel/coordination-node.md) успешно регистрировал прокси-серверы несмотря на разрыв связи. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/11593) ошибка, возникающие при открытии в интерфейсе вкладки с информацией о [группах распределенного хранилища](./concepts/glossary.md#storage-group). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/12448) [ошибка](https://github.com/ydb-platform/ydb/issues/12443), из-за которой [Health Check](./reference/ydb-sdk/health-check-api) не сообщал о проблемах в синхронизации времени. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/17123) редкая ошибка зависания клиентских приложений во время выполнения коммита транзакции, когда удаление партиции совершалось раньше обновления квоты на запись в топик. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/17312) ошибка в копировании таблиц с типом Decimal, которая приводила к сбою при откате на предыдущую версию. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/17519) [ошибка](https://github.com/ydb-platform/ydb/issues/17499), при которой коммит без подтверждения записи в топик приводил к блокировке текущей и следующих транзакций с топиками. +* Исправлены зависания транзакций при работе с топиками при [перезагрузке](https://github.com/ydb-platform/ydb/issues/17843) или [удалении](https://github.com/ydb-platform/ydb/issues/17915) таблетки. +* [Исправлены](https://github.com/ydb-platform/ydb/pull/18114) [проблемы](https://github.com/ydb-platform/ydb/issues/18071) с чтением сообщений больше 6Mb через [Kafka API](./reference/kafka-api). +* [Устранена](https://github.com/ydb-platform/ydb/pull/18319) утечка памяти во время записи в [топик](./concepts/glossary#topic). +* Исправлены ошибки обработки [nullable столбцов](https://github.com/ydb-platform/ydb/issues/15701) и [столбцов с типом UUID](https://github.com/ydb-platform/ydb/issues/15697) в строковых таблицах. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/14811) ошибка, которая приводила к существенному снижению скорости чтения с [подписчиков таблетки](./concepts/glossary.md#tablet-follower). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/14516) ошибка, которая приводила к ожиданию подтверждения волатильной распределённой транзакции до следующего рестарта. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15077) редкая ошибка, которая приводила к сбою при подключении подписчиков таблетки к лидеру с несогласованным состоянием журнала команд. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15074) редкая ошибка, которая приводила к сбою при перезапуске удалённого datashard с неконсистентными изменениями. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15194) ошибка, из-за которой мог нарушаться порядок обработки сообщений в топике. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15308) редкая ошибка, из-за которой могло зависать чтение из топика. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15160) проблема, из-за которой транзакция зависала при одновременном управлении топиком пользователем и перемещении PQ таблетки на другой узел. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15233) проблема с утечкой значения счётчика для userInfo, которая могла приводить к ошибке чтения `too big in flight`. +* [Исправлен](https://github.com/ydb-platform/ydb/pull/15467) сбой прокси-сервера из-за дублирования топиков в запросе. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15933) редкая ошибка, из-за которой пользователь мог писать в топик в обход ограничений квоты аккаунта. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/16288) проблема, из-за которой после удаления топика система возвращала "OK", но его таблетки продолжали работать. Для удаления таких таблеток воспользуйтесь инструкцией из [pull request](https://github.com/ydb-platform/ydb/pull/16288). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/16418) редкая ошибка, из-за которой не восстанавливалась резервная копия большой таблицы с вторичным индексом. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15862) проблема, которая приводила к ошибке при вставке данных с помощью `UPSERT` в строковые таблицы с значениями по умолчанию. +* [Устранена](https://github.com/ydb-platform/ydb/pull/15334) ошибка, которая приводила к сбою при выполнении запросов к таблицам с вторичными индексами, возвращающих списки результатов с помощью выражения `RETURNING *`. + +## Версия 24.3 {#24-3} + +### Версия 24.3.13.11 {#24-3-13-11} + +Дата выхода: 6 марта 2025. + +#### Исправления ошибок + +* [Исправлена](https://github.com/ydb-platform/ydb/pull/13501) редкая проблема, которая приводила к утечкам незакоммиченных изменений. +* [Исправлены](https://github.com/ydb-platform/ydb/pull/13948) проблемы с согласованностью, связанные с кэшированием удаленных диапазонов. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/15182) проблема длительного кеширования негативных ответов на запросы аутентификации от LDAP-совместимого каталога пользователей и групп. + +### Версия 24.3.13.10 {#24-3-13-10} + +Дата выхода: 24 декабря 2024. + +#### Функциональность + +* Добавлена [трассировка запросов](./reference/observability/tracing/setup) – инструмент, позволяющий детально посмотреть путь следования запроса по распределенной системе. +* Добавлена поддержка [асинхронной репликации](./concepts/async-replication), которая позволяет синхронизировать данные между базами YDB почти в реальном времени. Также она может быть использована для миграции данных между базами с минимальным простоем работающих с ними приложений. +* Добавлена поддержка [представлений (VIEW)](https://ydb.tech/docs/ru/concepts/datamodel/view), которая может быть включена администратором кластера с помощью настройки `enable_views` в [динамической конфигурации](./maintenance/manual/dynamic-config#obnovlenie-dinamicheskoj-konfiguracii). +* В [федеративных запросах](./concepts/federated_query/) поддержаны новые внешние источники данных: MySQL, Microsoft SQL Server, Greenplum. +* Разработана [документация](./devops/deployment-options/manual/federated-queries/connector-deployment) по разворачиванию YDB с функциональностью федеративных запросов (в ручном режиме). +* Для Docker-контейнера с YDB добавлен параметр запуска `FQ_CONNECTOR_ENDPOINT`, позволяющий указать адрес коннектора ко внешним источникам данных. Добавлена возможность TLS-шифрования соединения с коннектором. Добавлена возможность вывода порта сервиса коннектора, локально работающего на том же хосте, что и динамический узел YDB. +* Добавлен режим [автопартиционирования](./concepts/datamodel/topic#autopartitioning) топиков, в котором топики могут разбивать партиции в зависимости от нагрузки с сохранением гарантий порядка чтения сообщений и exactly once записи. Режим может быть включен администратором кластера с помощью настроек `enable_topic_split_merge` и `enable_pqconfig_transactions_at_scheme_shard` в [динамической конфигурации](./maintenance/manual/dynamic-config#obnovlenie-dinamicheskoj-konfiguracii). +* Добавлены [транзакции](./concepts/transactions#topic-table-transactions) с участием [топиков](https://ydb.tech/docs/ru/concepts/datamodel/topic) и строковых таблиц. Таким образом, можно транзакционно перекладывать данные из таблиц в топики и в обратном направлении, а также между топиками, чтобы данные не терялись и не дублировались. Транзакции могут быть включены администратором кластера с помощью настроек `enable_topic_service_tx` и `enable_pqconfig_transactions_at_scheme_shard` в [динамической конфигурации](./maintenance/manual/dynamic-config#obnovlenie-dinamicheskoj-konfiguracii). +* [Добавлена](https://github.com/ydb-platform/ydb/pull/7150) поддержка [CDC](./concepts/cdc) для синхронных вторичных индексов. +* Добавлена возможность изменить период хранения записей в [CDC](./concepts/cdc.md) топиках. +* Добавлена поддержка [автоинкремента](./yql/reference/types/serial) для колонок, включенных в первичный ключ таблицы. +* Добавлена запись в [аудитный лог](./security/audit-log) событий логина пользователей в YDB, событий завершения сессии пользователя в пользовательском интерфейсе, а также запроса бэкапа и восстановления из бэкапа. +* Добавлено системное представление, позволяющее получить информацию о сессиях, установленных с базой данных, с помощью запроса. +* Добавлена поддержка константных значений по умолчанию для колонок строковых таблиц. +* Добавлена поддержка выражения `RETURNING` в запросах. +* Добавлена [встроенная функция](./yql/reference/builtins/basic.md#version) `version()`. +* [Добавлены](https://github.com/ydb-platform/ydb/pull/8708) время запуска/завершения и автор в метаданные операций резервного копирования/восстановления из S3-совместимого хранилища. +* Добавлена поддержка резервного копирования/восстановления из S3-совместимого хранилища ACL для таблиц. +* Для запросов, читающих из S3, в план добавлены пути и метод декомпрессии. +* Добавлены новые настройки парсинга для `timestamp`, `datetime` при чтении данных из S3. +* Добавлена поддержка типа `Decimal` в [ключах партиционирования](https://ydb.tech/docs/ru/dev/primary-key/column-oriented#klyuch-particionirovaniya). +* Улучшена диагностика проблем хранилища в HealthCheck. +* **_(Экспериментально)_** Добавлен [стоимостной оптимизатор](./concepts/optimizer#stoimostnoj-optimizator-zaprosov) для сложных запросов, где участвуют [колоночные таблицы](./concepts/glossary#column-oriented-table). Оптимизатор рассматривает большое количество альтернативных планов выполнения и выбирает из них лучший на основе оценки стоимости каждого варианта. На текущий момент оптимизатор работает только с планами, где есть операции [JOIN](./yql/reference/syntax/join). +* **_(Экспериментально)_** Реализована начальная версия [менеджера рабочей нагрузки](./dev/resource-consumption-management), который позволяет создавать пулы ресурсов с ограничениями по процессору, памяти и количеству активных запросов. Реализованы классификаторы ресурсов для отнесения запросов к определенному пулу ресурсов. +* **_(Экспериментально)_** Реализован [автоматический выбор индекса](https://ydb.tech/docs/ru/dev/secondary-indexes#avtomaticheskoe-ispolzovanie-indeksov-pri-vyborke) при выполнении запроса, который может быть включен администратором кластера с помощью настройки `index_auto_choose_mode` в `table_service_config` в [динамической конфигурации](./maintenance/manual/dynamic-config#obnovlenie-dinamicheskoj-konfiguracii). + +#### YDB UI + +* Поддержано создание и [отображение](https://github.com/ydb-platform/ydb-embedded-ui/issues/782) экземпляра асинхронной репликации. +* [Добавлено](https://github.com/ydb-platform/ydb-embedded-ui/issues/929) обозначение [столбцов с автоинкрементом](./yql/reference/types/serial). +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1438) вкладка с информацией о [таблетках](./concepts/glossary#tablet). +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1289) вкладка с информацией о [группах распределенного хранилища](./concepts/glossary#storage-group). +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1218) настройка для добавления [трассировки](./reference/observability/tracing/setup) ко всем запросам и отображение результатов трассировки запроса. +* На страницу PDisk добавлены [атрибуты](https://github.com/ydb-platform/ydb-embedded-ui/pull/1069), информация о потреблении дискового пространства, а также кнопка, которая запускает [декомиссию диска](./devops/deployment-options/manual/decommissioning). +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1313) информация о выполняющихся запросах. +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1291) настройка лимита строк в выдаче для редактора запроса и отображение, если результаты запроса превысили лимит. +* [Добавлено](https://github.com/ydb-platform/ydb-embedded-ui/pull/1049) отображение перечня запросов с максимальным потреблением CPU за последний час. +* [Добавлен](https://github.com/ydb-platform/ydb-embedded-ui/pull/1127) поиск на страницах с историей запросов и списком сохраненных запросов. +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1117) возможность прервать исполнение запроса. +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/issues/944) возможность сохранять запрос из редактора горячими клавишами. +* [Разделено](https://github.com/ydb-platform/ydb-embedded-ui/pull/1422) отображение дисков от дисков-доноров. +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1154) поддержка InterruptInheritance ACL и улучшено отображение действующих ACL. +* [Добавлено](https://github.com/ydb-platform/ydb-embedded-ui/pull/889) отображение текущей версии пользовательского интерфейса. +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1229) с информацией о состоянии настроек включения экспериментальной функциональности. + +#### Производительность + +* [Ускорено](https://github.com/ydb-platform/ydb/pull/7589) восстановление из бэкапа таблиц со вторичными индексами до 20% по нашим тестам. +* [Оптимизирована](https://github.com/ydb-platform/ydb/pull/9721) пропускная способность Interconnect. +* Улучшена производительность CDC-топиков, содержащих тысячи партиций. +* Сделан ряд улучшений алгоритма балансировки таблеток Hive. + +#### Исправления ошибок + +* [Исправлена](https://github.com/ydb-platform/ydb/pull/6850) ошибка, которая приводила в неработоспособное состояние базу с большим количеством таблиц или партиций при восстановлении из резервной копии. Теперь при превышении лимитов на размер базы, операция восстановления завершится ошибкой, база продолжит работать в штатном режиме. +* [Реализован](https://github.com/ydb-platform/ydb/pull/11532) механизм, принудительно запускающий фоновый [компакшн](./concepts/glossary#compaction) при обнаружении несоответствий между схемой данных и данными, хранящимися в [DataShard](./concepts/glossary#data-shard). Это решает редко возникающую проблему задержки в изменении схемы данных. +* [Устранено](https://github.com/ydb-platform/ydb/pull/10447) дублирование аутентификационных тикетов, которое приводило к повышенному числу запросов в провайдеры аутентификации. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/9377) ошибка нарушения инварианта при первоначальном сканировании CDC, приводившая к аварийному завершению серверного процесса ydbd. +* [Запрещено](https://github.com/ydb-platform/ydb/pull/9446) изменение схемы таблиц резервного копирования. +* [Исправлено](https://github.com/ydb-platform/ydb/pull/9509) зависание первоначального сканирования CDC при частых обновлениях таблицы. +* [Исключены](https://github.com/ydb-platform/ydb/pull/9934) удаленные индексы из подсчета лимита на [максимальное количество индексов](https://ydb.tech/docs/ru/concepts/limits-ydb#schema-object). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/8847) [ошибка](https://github.com/ydb-platform/ydb/issues/6985) в отображении времени, на которое запланировано выполнение набора транзакций (планируемый шаг). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/9161) [проблема](https://github.com/ydb-platform/ydb/issues/8942) прерывания blue–green deployment в больших кластерах, возникающая из-за частого обновления списка узлов. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/8925) редко возникающая ошибка, которая приводила к нарушению порядка выполнения транзакций. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/9841) [ошибка](https://github.com/ydb-platform/ydb/issues/9797) в EvWrite API, которая приводила к некорректному освобождению памяти. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/10698) [проблема](https://github.com/ydb-platform/ydb/issues/10674) зависания волатильных транзакций после перезапуска. +* Исправлена ошибка в CDC, приводящая в некоторых случаях к повышенному потреблению CPU, вплоть до ядра на одну CDC-партицию. +* [Устранена](https://github.com/ydb-platform/ydb/pull/11061) задержка чтения, возникающая во время и после разделения некоторых партиций. +* Исправлены ошибки при чтении данных из S3. +* [Исправлен](https://github.com/ydb-platform/ydb/pull/4793) способ расчета aws signature при обращении к S3. +* Исправлены ложные срабатывания системы HealthCheck в момент бэкапа базы с большим количеством шардов. +* [Снято](https://github.com/ydb-platform/ydb/pull/11901) ограничение на запись в тип Uint8 значений больше 127. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/12915) ошибка восстановления из резервной копии, сохраненной в хранилище S3 с Path-style адресацией. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/12018) потенциальная поломка ["замороженных" блокировок](./contributor/datashard-locks-and-change-visibility#vzaimodejstvie-s-raspredelyonnymi-tranzakciyami), к которой могли приводить массовые операции (например, удаление по TTL). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/11658) редкая проблема, которая приводила к ошибкам при выполнении запроса на чтение. + +## Версия 24.2 {#24-2} + +### Версия 24.2.7.1 {#24-2-7-1} + +Дата выхода: 20 августа 2024. + +### Функциональность + +* Добавлена возможность [задать приоритеты](./devops/deployment-options/manual/maintenance-without-downtime#priority) задачам обслуживания в [системе управления кластером](./concepts/glossary#cms). +* Добавлена [настройка стабильных имён](reference/configuration/#node-broker-config) для узлов кластера в рамках тенанта. +* Добавлено получение вложенных групп от [LDAP-сервера](./security/authentication.md#ldap), в [LDAP-конфигурации](reference/configuration/#ldap-auth-config) улучшен парсинг хостов и добавлена настройка для отключения встроенной аутентификацию по логину и паролю. +* Добавлена возможность аутентификации [динамических узлов](./concepts/glossary#dynamic) по SSL-сертификату. +* Реализовано удаление неактивных узлов из [Hive](./concepts/glossary#hive) без его перезапуска. +* Улучшено управление inflight pings при перезапуске Hive в кластерах большого размера. +* [Изменен](https://github.com/ydb-platform/ydb/pull/6381) порядок установления соединения с узлами при перезапуске Hive. + +### YDB UI + +* [Добавлена](https://github.com/ydb-platform/ydb/pull/7485) возможность задать TTL для сессии пользователя в конфигурационном файле. +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1028) сортировка по `CPUTime` в таблицу со списком запросов. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/7779) потеря точности при работе с `double`, `float`. +* Поддержано [создание директорий из UI](https://github.com/ydb-platform/ydb-embedded-ui/issues/958). +* [Добавлена возможность](https://github.com/ydb-platform/ydb-embedded-ui/pull/976) задать интервал фонового обновления данных на всех страницах. +* [Улучшено](https://github.com/ydb-platform/ydb-embedded-ui/issues/955) отображения ACL. +* Включено автодополнение в редакторе запросов по умолчанию. +* [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/834) поддержка View. + +### Исправления ошибок + +* Добавлена проверка на размер локальной транзакции до ее коммита, чтобы исправить [ошибки](https://github.com/ydb-platform/ydb/issues/6677) в работе схемных операции при выполнении экспорта/бекапа больших баз. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/7709) [ошибка](https://github.com/ydb-platform/ydb/issues/7674) дублирования результатов SELECT-запроса при уменьшении квоты в [DataShard](./concepts/glossary#data-shard). +* [Исправлены](https://github.com/ydb-platform/ydb/pull/6461) [ошибки](https://github.com/ydb-platform/ydb/issues/6220), возникающие при изменении состояния [координатора](./concepts/glossary#coordinator). +* [Исправлены](https://github.com/ydb-platform/ydb/pull/5992) ошибки, возникающие в момент первичного сканирования [CDC](./dev/cdc). +* [Исправлено](https://github.com/ydb-platform/ydb/pull/6615) состояние гонки в асинхронной доставке изменений (асинхронные индексы, CDC). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/5993) редкая ошибка, из-за которой удаление по [TTL](./concepts/ttl) приводило к аварийному завершению процесса. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/5760) ошибка отображения статуса PDisk в интерфейсе [CMS](./concepts/glossary#cms). +* [Исправлены](https://github.com/ydb-platform/ydb/pull/6008) ошибки, из-за которых мягкий перенос (drain) таблеток с узла мог зависать. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/6445) ошибка остановки interconnect proxy на узле, работающем без перезапусков, при добавлении другого узла в кластер. +* [Исправлен](https://github.com/ydb-platform/ydb/pull/6695) учет свободной памяти в [interconnect](./concepts/glossary#actor-system-interconnect). +* [Исправлены](https://github.com/ydb-platform/ydb/issues/6405) счетчики UnreplicatedPhantoms/UnreplicatedNonPhantoms в VDisk. +* [Исправлена](https://github.com/ydb-platform/ydb/issues/6398) обработка пустых запросов сборки мусора на VDisk. +* [Исправлено](https://github.com/ydb-platform/ydb/pull/5894) управление настройками TVDiskControls через CMS. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/5883) ошибка загрузки данных, созданных более новыми версиями VDisk. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/5862) ошибка выполнении запроса `REPLACE INTO` со значением по умолчанию. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/7714) ошибка исполнения запросов, в которых выполнялось несколько left join'ов к одной строковой таблице. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/7740) потеря точности для `float`, `double` типов при использовании CDC. + +## Версия 24.1 {#24-1} + +### Версия 24.1.18.1 {#24-1-18-1} + +Дата выхода: 31 июля 2024. + +### Функциональность + +* Реализована [Knn UDF](./yql/reference/udf/list/knn.md) для точного поиска ближайших векторов. +* Разработан gRPC сервис QueryService, обеспечивающий возможность выполнения всех типов запросов (DML, DDL) и выборку неограниченных объёмов данных. +* Реализована [интеграция с LDAP протоколом](./security/authentication.md) и возможность получения перечня групп из внешних LDAP-каталогов. + +### Встроенный UI + +* Добавлен дашборд диагностики потребления ресурсов, который находится на вкладке с информацией о базе данных и позволяет определить текущее состояние потребление основных ресурсов: ядер процессора, оперативной памяти и места в сетевом распределенном хранилище. +* Добавлены графики для мониторинга основных показателей работы кластера {{ ydb-short-name }}. + +### Производительность + +* [Оптимизированы](https://github.com/ydb-platform/ydb/pull/1837) таймауты сессий сервиса координации от сервера до клиента. Ранее таймаут составлял 5 секунд, что в худшем случае приводило к определению неработающего клиента (и освобождению удерживаемых им ресурсов) в течение 10 секунд. В новой версии время проверки зависит от времени ожидания сеанса, что обеспечивает более быстрое реагирование при смене лидера или захвате распределённых блокировок. +* [Оптимизировано](https://github.com/ydb-platform/ydb/pull/2391) потребление CPU репликами [SchemeShard](./concepts/glossary.md#scheme-shard), особенно при обработке быстрых обновлений для таблиц с большим количеством партиций. + +### Исправления ошибок + +* [Исправлена](https://github.com/ydb-platform/ydb/pull/3917) ошибка возможного переполнения очереди, [Change Data Capture](./dev/cdc.md) резервирует емкость очереди изменений при первоначальном сканировании. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/4597) потенциальная взаимоблокировка между получением записей CDC и их отправкой. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/2056) проблема потери очереди задач медиатора при переподключении медиатора, исправление позволяет обработать очередь задач медиатора при ресинхронизации. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/2624) редко возникающая ошибка, когда при включённых и используемых волатильных транзакциях возвращался успешный результат подтверждения транзакции до того, как она была успешно закоммичена. Волатильные транзакции по умолчанию выключены, находятся в разработке. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/2839) редко возникающая ошибка, приводившая к потере установленных блокировок и успешному подтверждению транзакций, которые должны были завершиться ошибкой Transaction Locks Invalidated. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/3074) редкая ошибка, приводящая к возможному нарушению гарантий целостности данных при конкурентной записи и чтении данных по определённому ключу. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/4343) проблема, из-за которой реплики для чтения переставали обрабатывать запросы. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/4979) редкая ошибка, которая могла привести к аварийному завершению процессов базы данных при наличии неподтверждённых транзакций над таблицей в момент её переименования. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/3632) ошибка в логике определения статуса статической группы, когда статическая группа не помечалась нерабочей, хотя должна была. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/2169) ошибка частичного коммита распределённой транзакции с незакоммиченными изменениями в случае некоторых гонок с рестартами. +* [Исправлены](https://github.com/ydb-platform/ydb/pull/2374) аномалии с чтением устаревших данных, которые были [обнаружены с помощью Jepsen](https://blog.ydb.tech/hardening-ydb-with-jepsen-lessons-learned-e3238a7ef4f2). + +## Версия 23.4 {#23-4} + +### Версия 23.4.11.1 {#23-4-11-1} + +Дата выхода: 14 мая 2024. + +### Производительность + +* [Исправлена](https://github.com/ydb-platform/ydb/pull/3638) проблема повышенного потребления вычислительных ресурсов актором топиков `PERSQUEUE_PARTITION_ACTOR`. +* [Оптимизировано](https://github.com/ydb-platform/ydb/pull/2083) использование ресурсов репликами SchemeBoard. Наибольший эффект заметен при модификации метаданных таблиц с большим количеством партиций. + +### Исправления ошибок + +* [Исправлена](https://github.com/ydb-platform/ydb/pull/2169) ошибка возможной неполной фиксации накопленных изменений при использовании распределенных транзакций. Данная ошибка возникает при крайне редкой комбинации событий, включающей в себя перезапуск таблеток, обслуживающих вовлеченные в транзакцию партиции таблиц. +* [Устранена](https://github.com/ydb-platform/ydb/pull/3165) гонка между процессами слияния таблиц и сборки мусора, из-за которой сборка мусора могла завершиться ошибкой нарушения инвариантов и, как следствие, аварийным завершением серверного процесса `ydbd`. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/2696) ошибка в Blob Storage, из-за которой информация о смене состава группы хранения могла не поступать своевременно на отдельные узлы кластера. В результате в редких случаях могли блокироваться операции чтения и записи данных, хранящихся в затронутой группе, и требовалось ручное вмешательство администратора. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/3002) ошибка в Blob Storage, из-за которой при корректной конфигурации могли не запускаться узлы хранения данных. Ошибка проявлялась для систем с явным образом включенной экспериментальной функцией "blob depot" (по умолчанию эта функция выключена). +* [Исправлена](https://github.com/ydb-platform/ydb/pull/2475) ошибка, возникавшая в некоторых ситуациях записи в топик с пустым `producer_id` при выключенной дедупликации. Она могла приводить к аварийному завершению серверного процесса `ydbd`. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/2651) проблема, приводящая к падению процесса `ydbd` из-за ошибочного состояния сессии записи в топик. +* [Исправлена](https://github.com/ydb-platform/ydb/pull/3587) ошибка отображения метрики количества партиций в топике, ранее в ней отображалось некорректное значение. +* [Устранены](https://github.com/ydb-platform/ydb/pull/2126) утечки памяти, которые проявлялись при копировании данных топиков между кластерами {{ ydb-short-name }}. Они могли приводить к завершению серверных процессов `ydbd` из-за исчерпания доступной оперативной памяти. + +## Версия 23.3 {#23-3} + +### Версия 23.3.25.2 {#23-3-25-2} + +Дата выхода: 12 октября 2023. + +### Функциональность + +* Реализована видимость собственных изменений внутри транзакций. Ранее при попытке прочитать данные, уже модифицированные в текущей транзакцией, запрос завершался ошибкой. Это приводило к необходимости упорядочивать чтения и записи внутри транзакции. С появлением видимости собственных изменений эти ограничения снимаются, и запросы могут читать измененные в данной транзакции строчки. +* Добавлена поддержка [колоночных таблиц](concepts/datamodel/table.md#column-tables). Колоночные таблицы хорошо подходят для работы с аналитическими запросами (Online Analytical Processing), так как при выполнении запроса считываются только те столбцы, которые непосредственно участвуют в запросе. Колоночные таблицы YDB позволяют создавать аналитические отчёты с производительностью, сопоставимой со специализированными аналитическими СУБД. +* Добавлена поддержка [Kafka API для топиков](reference/kafka-api/index.md). Теперь с YDB-топиками можно работать через Kafka-совместимый API, предназначенный для миграции существующих приложений. Обеспечена поддержка протокола Kafka версии 3.4.0. +* Добавлена возможность [записи в топик без дедупликации](concepts/datamodel/topic.md#no-dedup). Такой вид записи хорошо подходит для случаев, когда порядок обработки сообщений не критичен. Запись без дедупликации работает быстрее и потребляет меньше ресурсов на сервере, но упорядочение и дедупликация сообщений на сервере не происходит. +* В YQL добавлены возможности [создавать](yql/reference/syntax/create-topic.md), [изменять](yql/reference/syntax/alter-topic.md) и [удалять](yql/reference/syntax/drop-topic.md) топики. +* Добавлена возможность назначать и отзывать права доступа с помощью команд YQL [GRANT](yql/reference/syntax/grant.md) и [REVOKE](yql/reference/syntax/revoke.md). +* Добавлена возможность логгировать DML-операции в аудитном логе. +* **_(Экспериментально)_** При записи сообщений в топик теперь можно передавать метаданные. Для включения этой функциональности добавьте `enable_topic_message_meta: true` в [конфигурационный файл](reference/configuration/index.md). +* **_(Экспериментально)_** Добавлена возможность [чтения из топиков](reference/ydb-sdk/topic.md#read-tx) и запись в таблицу в рамках одной транзакции. Новая возможность упрощает сценарий переноса данных из топика в таблицу. Для её включения добавьте `enable_topic_service_tx: true` в конфигурационный файл. +* **_(Экспериментально)_** Добавлена поддержка [совместимости с PostgreSQL](postgresql/intro.md). Новый механизм позволяет выполнять SQL запросы в PostgreSQL диалекте на инфраструктуре YDB с использованием сетевого протокола PostgreSQL. Можно использовать привычные инструменты работы с PostgreSQL, такие, как psql и драйверы (pq для Golang и psycopg2 для Python), а также разрабатывать запросы на привычном PostgreSQL синтаксисе с горизонтальной масштабируемостью и отказоустойчивость YDB. +* **_(Экспериментально)_** Добавлена поддержка [федеративных запросов](concepts/federated_query/index.md). Она позволяет получать информацию из различных источников данных без их переноса в YDB. Поддерживается взаимодействие с ClickHouse, PostgreSQL, S3 через YQL-запросы без дублирования данных между системами. + +### Встроенный UI + +* В настройках селектора типа запроса добавлена новая опция `PostgreSQL`, которая доступна при включении параметра `Enable additional query modes`. Также в истории запросов теперь учитывается синтаксис, используемый при выполнении запроса. +* Обновлен шаблон YQL-запроса для создания таблицы. Добавлено описание доступных параметров. +* Сортировка и фильтрация для таблиц Storage и Nodes вынесена на сервер. Необходимо включить параметр `Offload tables filters and sorting to backend` в разделе экспериментов, чтобы использовать данный функционал. +* В контекстное меню были добавлены кнопки для создания, изменения и удаления [топиков](concepts/datamodel/topic.md). +* Добавлена сортировка по критичности для всех issues в дереве в `Healthcheck`. + +### Производительность + +* Реализованы итераторные чтения. Новая функциональность позволяет разделить чтения и вычисления между собой. Итераторные чтения позволяют даташардам увеличить пропускную способность читающих запросов. +* Оптимизирована производительность записи в топики YDB. +* Улучшена балансировка таблеток при перегрузке нод. + +### Исправления ошибок + +* Исправлена ошибка возможной блокировки читающими итераторами снепшотов, о которых не знают координаторы. +* Исправлена утечка памяти при закрытии соединения в kafka proxy. +* Исправлена ошибка, при которой снепшоты, взятые через читающие итераторы, могут не восстанавливаться на рестартах. +* Исправлен некорректный residual предикат для условия `IS NULL` на колонку. +* Исправлена срабатывающая проверка `VERIFY failed: SendResult(): requirement ChunksLimiter.Take(sendBytes) failed`. +* Исправлен `ALTER TABLE` по `TTL` для колоночных таблиц. +* Реализован `FeatureFlag`, который позволяет отключать/включать работу с `CS` и `DS`. +* Исправлено различие координаторного времени между 23-2 и 23-3 на 50мс. +* Исправлена ошибка, при которой ручка `storage` возвращала лишние группы, когда в запросе параметр `node_id` во `viewer backend`. +* Добавлен `usage` фильтр в `/storage` во `viewer backend`. +* Исправлена ошибка в Storage v2, при которой возвращалось некорректное число в `Degraded`. +* Исправлена отмена подписки от сессий в итераторных чтениях при рестарте таблетки. +* Исправлена ошибка, при которой во время роллинг-рестарта при походе через балансер моргает `healthcheck` алертами про storage. +* Обновлены метрики `cpu usage` в ydb. +* Исправлено игнорирование `NULL` при указании `NOT NULL` в схеме таблицы. +* Реализован вывод записей об операциях `DDL` в общий лог. +* Реализован запрет для команды `ydb table attribute add/drop` работать с любыми объектами, кроме таблиц. +* Отключён `CloseOnIdle` для `interconnect`. +* Исправлено задваивание скорости чтения в UI. +* Исправлена ошибка, при которой могли теряться данные на `block-4-2`. +* Добавлена проверка имени топика. +* Исправлен возможный `deadlock` в акторной системе. +* Исправлен тест `KqpScanArrowInChanels::AllTypesColumns`. +* Исправлен тест `KqpScan::SqlInParameter`. +* Исправлены проблемы параллелизма для OLAP-запросов. +* Исправлена вставка `ClickBench parquet`. +* Добавлен недостающий вызов `CheckChangesQueueOverflow` в общем `CheckDataTxReject`. +* Исправлена ошибка возврата пустого статуса при вызовах `ReadRows API`. +* Исправлен некорректны ретрай экспорта в финальной стадии. +* Исправлена проблема с бесконечной квотой на число записей в CDC-топике. +* Исправлена ошибка импорта колонки `string` и `parquet` в колонку `string` OLAP. +* Исправлено падение `KqpOlapTypes.Timestamp` под tsan. +* Исправлено падение во `viewer backend` при попытке выполнить запрос к базе из-за несовместимости версий. +* Исправлена ошибка, при которой `viewer` не возвращал ответ от `healthcheck` из-за таймаута. +* Исправлена ошибка, при которой в Pdisk'ах могло сохраняться некорректное значение `ExpectedSerial`. +* Исправлена ошибка, при которой ноды базы падают по `segfault` в S3 акторе. +* Исправлена гонка в `ThreadSanitizer: data race KqpService::ToDictCache-UseCache`. +* Исправлена гонка в `GetNextReadId`. +* Исправлено завышение результата `SELECT COUNT(*)` сразу после импорта. +* Исправлена ошибка, при которой `TEvScan` мог вернуть пустой набор данных в случае сплита даташарда. +* Добавлен отдельный issue/код ошибки в случае исчерпания доступного места. +* Исправлена ошибка `GRPC_LIBRARY Assertion failed`. +* Исправлена ошибка, при которой при чтении по вторичному индексу в сканирующих запросах получался пустой результат. +* Исправлена валидация `CommitOffset` в `TopicAPI`. +* Уменьшено потребление `shared cache` при приближении к OOM. +* Смержена логика планировщиков из `data executer` и `scan executer` в один класс. +* Добавлены ручки `discovery` и `proxy` в процесс выполнения `query` во `viewer backend`. +* Исправлена ошибка, при которой ручка `/cluster` возвращает название корневого домена типа `/ru` во `viewer backend`. +* Реализована схема бесшовного обновления табличек для `QueryService`. +* Исправлена ошибка, при которой `DELETE` возвращал данные и НЕ удалял их. +* Исправлена ошибка работы `DELETE ON` в `query service`. +* Исправлено неожиданное выключение батчинга в дефолтных настройках схемы. +* Исправлена срабатывающая проверка `VERIFY failed: MoveUserTable(): requirement move.ReMapIndexesSize() == newTableInfo->Indexes.size()`. +* Увеличен дефолтный таймаут grpc-сриминга. +* Исключены неиспользуемые сообщения и методы из `QueryService`. +* Добавлена сортировка по `Rack` в `/nodes` во `viewer backend`. +* Исправлена ошибка, при которой запрос с сортировкой возвращает ошибку при убывании. +* Исправлено взаимодействие `KQP` с `NodeWhiteboard`. +* Удалена поддержка старых форматов параметров. +* Исправлена ошибка, при которой `DefineBox` не применялся для дисков, на которых есть статическая группа. +* Исправлена ошибка `SIGSEGV` в диннодах при импорте `CSV` через `YDB CLI`. +* Исправлена ошибка с падением при обработке `NGRpcService::TRefreshTokenImpl`. +* Реализован `gossip` протокол обмена информацией о ресурсах кластера. +* Исправлена ошибка `DeserializeValuePickleV1(): requirement data.GetTransportVersion() == (ui32) NDqProto::DATA_TRANSPORT_UV_PICKLE_1_0 failed`. +* Реализованы автоинкрементные колонки. +* Использовать статус `UNAVAILABLE` вместо `GENERIC_ERROR` при ошибке идентификации шарда. +* Добавлена поддержка `rope payload` в `TEvVGet`. +* Добавлено игнорирование устаревших событий. +* Исправлено падение write-сессий на невалидном имени топика. +* Исправлена ошибка `CheckExpected(): requirement newConstr failed, message: Rewrite error, missing Distinct((id)) constraint in node FlatMap`. +* Включён `self heal` по умолчанию. diff --git a/ydb/docs/ru/core/downloads/yandex-enterprise-database.md b/ydb/docs/ru/core/downloads/yandex-enterprise-database.md index 89a5074e411f..3144b631174c 100644 --- a/ydb/docs/ru/core/downloads/yandex-enterprise-database.md +++ b/ydb/docs/ru/core/downloads/yandex-enterprise-database.md @@ -19,7 +19,7 @@ ### Коммерческое использование -Для коммерческого использования Корпоративной СУБД Яндекса необходимо приобретение лицензии, [текст лицензионного соглашения](https://ясубд.рф/cond-commercial/). Цены на лицензии доступны [по запросу](https://forms.yandex.ru/surveys/13735628.a5bd9c7417fe06c03f7130d8863bed569e373119/). +Для коммерческого использования Корпоративной СУБД Яндекса необходимо приобретение лицензии, [текст лицензионного соглашения](https://ясубд.рф/cond-commercial/). Цены на лицензии доступны [по запросу](https://ydb.yandex.ru/#form). ## Скачивание дистрибутивов @@ -31,6 +31,29 @@ #| || **Версия** | **Дата выпуска** | **Скачать** | **Контрольные суммы** | **Список изменений** || +|| **v24.4** | | | | || +|| v.24.4.4.15 | 19.09.2025 | + +- [Дистрибутив](http://binaries.ydb.enterprise.website.yandexcloud.net/builds/24.4.4.ent.15/ydbd-enterpise-24.4.4.ent.15-stable-linux-amd64.tar.xz) +- [Отладочные символы](http://binaries.ydb.enterprise.website.yandexcloud.net/builds/24.4.4.ent.15/ydbd-enterpise-24.4.4.ent.15-stable-linux-amd64-debug.tar.xz) + +| + +- [К дистрибутиву](http://binaries.ydb.enterprise.website.yandexcloud.net/builds/24.4.4.ent.15/checksums.txt) +- [К отладочным символам](http://binaries.ydb.enterprise.website.yandexcloud.net/builds/24.4.4.ent.15/checksums.debug.txt) + +| [См. список](../changelog-enterprise.md#24-4-4-15) || +|| v.24.4.4.13 | 29.07.2025 | + +- [Дистрибутив](https://binaries.ясубд.рф/release/24.4.4.13/yasubd-24.4.4.13-linux-amd64.tar.xz) +- [Отладочные символы](https://binaries.ясубд.рф/release/24.4.4.13/yasubd-24.4.4.13-linux-amd64-debug.tar.xz) + +| + +- [К дистрибутиву](https://binaries.ясубд.рф/release/24.4.4.13/checksums.txt) +- [К отладочным символам](https://binaries.ясубд.рф/release/24.4.4.13/checksums.debug.txt) + +| [См. список](../changelog-enterprise.md#24-4-4-13) || || **v24.3** | | | | || || v.24.3.13.11 | 06.03.2024 | @@ -42,7 +65,7 @@ - [К дистрибутиву](https://binaries.ясубд.рф/release/24.3.13.11/checksums.txt) - [К отладочным символам](https://binaries.ясубд.рф/release/24.3.13.11/checksums.debug.txt) -| - || +| [См. список](../changelog-enterprise.md#24-3-13-11) || || v.24.3.13.10 | 24.12.2024 | - [Дистрибутив](https://binaries.ясубд.рф/release/24.3.13.10/yasubd-24.3.13.10-linux-amd64.tar.xz) @@ -53,7 +76,7 @@ - [К дистрибутиву](https://binaries.ясубд.рф/release/24.3.13.10/checksums.txt) - [К отладочным символам](https://binaries.ясубд.рф/release/24.3.13.10/checksums.debug.txt) -| [См. список](../changelog-server.md#24-3) || +| [См. список](../changelog-enterprise.md#24-3-13-10) || || **v24.2** | | | | || || v.24.2.7.1 | 20.08.2024 | @@ -65,7 +88,7 @@ - [К дистрибутиву](https://binaries.ясубд.рф/release/24.2.7.1/checksums.txt) - [К отладочным символам](https://binaries.ясубд.рф/release/24.2.7.1/checksums.debug.txt) -| [См. список](../changelog-server.md#24-2) || +| [См. список](../changelog-enterprise.md#24-2) || || **v24.1** | | | | || || v.24.1.18.1 | 28.06.2024 | @@ -77,26 +100,33 @@ - [К дистрибутиву](https://binaries.ясубд.рф/release/24.1.18.1/checksums.txt) - [К отладочным символам](https://binaries.ясубд.рф/release/24.1.18.1/checksums.debug.txt) -| [См. список](../changelog-server.md#24-1) || +| [См. список](../changelog-enterprise.md#24-1) || || **v23.4** | | | | || -|| v.23.4.11.1 | 15.05.2024 | [Дистрибутив](https://binaries.ясубд.рф/release/23.4.11.1/yasubd-23.4.11.1-linux-amd64.tar.gz) | [Контрольные суммы](https://binaries.ясубд.рф/release/23.4.11.1/checksums.txt) | [См. список](../changelog-server.md#23-4) || +|| v.23.4.11.1 | 15.05.2024 | [Дистрибутив](https://binaries.ясубд.рф/release/23.4.11.1/yasubd-23.4.11.1-linux-amd64.tar.gz) | [Контрольные суммы](https://binaries.ясубд.рф/release/23.4.11.1/checksums.txt) | [См. список](../changelog-enterprise.md#23-4) || || **v23.3** | | | | || -|| v.23.3.25.2 | 17.03.2024 | [Дистрибутив](https://binaries.ясубд.рф/release/23.3.25.2/yasubd-23.3.25.2-linux-amd64.tar.gz) | [Контрольные суммы](https://binaries.ясубд.рф/release/23.3.25.2/checksums.txt) | [См. список](../changelog-server.md#23-3) || +|| v.23.3.25.2 | 17.03.2024 | [Дистрибутив](https://binaries.ясубд.рф/release/23.3.25.2/yasubd-23.3.25.2-linux-amd64.tar.gz) | [Контрольные суммы](https://binaries.ясубд.рф/release/23.3.25.2/checksums.txt) | [См. список](../changelog-enterprise.md#23-3) || |# ### Docker #| || **Версия** | **Дата выпуска** | **Скачать** | **Список изменений** || +|| **v24.4** | | | | || +|| v.24.4.4.15 | 19.09.2025 | `cr.yandex/crptqonuodf51kdj7a7d/ydb-enterpise:24.4.4.ent.15` | [См. список](../changelog-enterprise.md#24-4-4-15) || +|| v.24.4.4.13 | 29.07.2025 | `cr.yandex/crptqonuodf51kdj7a7d/ydb-enterpise:2025-08-08-73940688fea2aeb2e109f01a7827f2d7` | [См. список](../changelog-enterprise.md#24-4-4-13) || || **v24.3** | | | || -|| v.24.3.13 | 05.12.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.3.11.13` | [См. список](../changelog-server.md#24-3) || +|| v.24.3.13 | 05.12.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.3.11.13` | [См. список](../changelog-enterprise.md#24-3-13-10) || || **v24.2** | | | || -|| v.24.2.7 | 20.08.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.2.7` | [См. список](../changelog-server.md#24-2) || +|| v.24.2.7 | 20.08.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.2.7` | [См. список](../changelog-enterprise.md#24-2) || || **v24.1** | | | || -|| v.24.1.18 | 31.07.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.1.18` | [См. список](../changelog-server.md#24-1) || +|| v.24.1.18 | 31.07.2024 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:24.1.18` | [См. список](../changelog-enterprise.md#24-1) || || **v23.4** | | | || -|| v.23.4.11 | 14.05.24 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:23.4.11` | [См. список](../changelog-server.md#23-4) || +|| v.23.4.11 | 14.05.24 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:23.4.11` | [См. список](../changelog-enterprise.md#23-4) || || **v23.3** | | | || || v.23.3.17 | 14.12.23 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:23.3.17` | [См. список](../changelog-server.md#23-3-17) || || v.23.3.13 | 12.10.23 | `cr.yandex/crptqonuodf51kdj7a7d/ydb:23.3.13` | [См. список](../changelog-server.md#23-3) || |# + +## Сертифицированная версия {#certified} + +Дистрибутивы сертифицированных версий Корпоративной СУБД Яндекса не доступны для свободного скачивания. Доступ к ним предоставляется [по запросу](https://ydb.yandex.ru/#form). diff --git a/ydb/docs/ru/core/toc_changelog.yaml b/ydb/docs/ru/core/toc_changelog.yaml index 6c0d84a426c0..20fc1dd460c2 100644 --- a/ydb/docs/ru/core/toc_changelog.yaml +++ b/ydb/docs/ru/core/toc_changelog.yaml @@ -1,6 +1,8 @@ items: - name: "{{ ydb-short-name }} Server" href: changelog-server.md +- name: "Yandex Enterprise Database" + href: changelog-enterprise.md - name: "{{ ydb-short-name }} CLI" href: changelog-cli.md - name: Список изменений безопасности