diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index b2a452ae7c582..68d47b10ef3bf 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -1,6 +1,178 @@ Apache Ignite Release Notes =========================== +Apache Ignite In-Memory Distributed Database 2.17.0 +----------------------------------------------------------- + +(!) WARNINGS: +* Control utility now uses thin client protocol by default (configured on a node via `ClientConnectorConfiguration`). Connection via Binary-REST protocol (`ConnectorConfiguration`) was deprecated for removal in future releases. +* Ignite sources were moved to Java 11. +* Removed deprecated authorization methods from Security Context. +* Removed deprecated `TcpCommunicationSpi` shared memory port configuration. + +Ignite: +* Added 'keepRaw' parameter to `DumpReaderConfiguration`. +* Added TLSv1_3 to `o.a.i.client.SslProtocol`. +* Added `IndexQuery` events. +* Added address information to `ClientConnectionException`. +* Added check for SSL errors on TcpDiscovery writing failures. +* Added configuration for distributed properties default values. +* Added expiry policy information to the caches system view. +* Added libs to the OpenCensus module to make Prometheus metrics work from the box without building any extra libs. +* Added logging for CDC mode switching. +* Added operation time metrics for `putAllConflict` and `removeAllConflict` operations. +* Added proper logging of default page size. +* Added query thread pool metrics to the log file. +* Added snapshot creation time into the snapshot view. +* Fixed CDC error with Ignite to Ignite streamer in case `BinaryConfiguration` is specified in the configuration. +* Fixed NPE on the 'TransactionsHoldingLockNumber' metric if transaction is not initialized. +* Fixed OOM crash on unstable topology. +* Fixed `ClusterPartitionsCountByState` metric failure if topology is not initialized. +* Fixed `IgniteCache.removeAsync(key,val)` failure inside an optimistic transaction. +* Fixed an assertion error on `IgniteCache#get`. +* Fixed assertion during `RotatedIdPartRecord` read from WAL. +* Fixed backward connection check with loopback address. +* Fixed cache dump check on a cache with a node filter. +* Fixed cluster failure on topology change when DNS service is unavailable. +* Fixed deserializing cache entries for `IndexQuery` on server. +* Fixed duplicated keys written to dump. +* Fixed entries cleaning on node shutdown/deactivation for in-memory mode. +* Fixed entry and checkpoint locks orders in `DataStreamer` and update TTL. +* Fixed excessive and useless warnings of `IpFinderCleaner`. +* Fixed expire time setting for thin client replication. +* Fixed fields count serialization in `TcpCommunication` messages. +* Fixed incremental snapshot restore fail if consistent ID is not a string. +* Fixed integer overflow in page eviction trackers. +* Fixed iterator for local `IndexQuery`. +* Fixed lambda serialization issues in code deployment for Java 21. +* Fixed local class deployments cache cleanup on reconnect. +* Fixed log message when Ignite Statistics usage state changes. +* Fixed logging of reduced cache entries for distributed long running operations. +* Fixed long JVM pause detector. +* Fixed node crashing if a snapshot restore was canceled due to network issues. +* Fixed node failure on timeout object intersection. +* Fixed node failure when a runtime exception occurs on a snapshot start stage. +* Fixed node failure while checking security permission for activation during a join. +* Fixed node join failure when index creation is in progress and caches have the same `deploymentId`. +* Fixed pending tree redundant cleanup on entries expire. +* Fixed redundant lambda object allocation in `ClockPageReplacementFlags`. +* Fixed removal of required affinity assignment instance from affinity cache. +* Fixed security context propagation for async transactional operations. +* Fixed sending a stack trace to a thin client if a task fails in the map phase. +* Fixed server node fail when node service filter class is unknown. +* Fixed service descriptor when deployment failed. +* Fixed starting square bracket in default log4j2 pattern. +* Fixed warnings about a closed socket. +* Fixed wrong old index size in the defragmentation procedure. +* Forbade a non-transactional `IgniteCache#clear()` inside a transaction. +* Implemented custom user defined metrics. +* Implemented transaction aware SQL and Scan queries. +* Improved check of previous node on a new incoming server connection. +* Moved Ignite sources to Java 11. +* Optimized UUID serialization for communication messages. +* Optimized entries expiration for persistent caches. +* Removed deprecated `TcpCommunicationSpi` shared memory port configuration. +* Removed deprecated authorization methods from Security Context. +* Updated JTidy dependency version to 1.0.5. +* Updated Janino dependency version to 3.1.12. +* Updated Jetty dependency version to 9.4.55. +* Updated Jetty dependency version to 9.4.56.v20240826. +* Updated Log4j2 dependency version to 2.22.0. +* Updated Netty dependency version to 4.1.101.Final. +* Updated OpenCensus dependency version to 0.31.1. +* Updated PostgreSQL JDBC dependency version to 42.7.3. +* Updated Snappy dependency version to 1.1.10.7. +* Updated Spring dependency version to 5.3.39. +* Updated ZooKeeper dependency version to 3.8.4. +* Updated commons-io dependency version to 2.17.0. +* Updated grpc-context version to 1.62.2. +* Updated json-path dependency version to 2.9.0. + +SQL: +* Added ability to create user defined SQL views. +* Added long queries tracking for DML operations. +* Fixed `AssertionError` due to cache size overflow. +* Fixed absence of warnings for long running queries with a lazy flag. +* Fixed assertion error on extra column in H2 `ResultInterface#currentRow`. +* Fixed nested subquery optimization. +* Fixed table statistics periodical update. + +SQL Calcite: +* Added ability to extend SQL engine with new system functions/operators. +* Added arithmetic overflow handling. +* Added date formatting/parsing functions with custom format. +* Added a hint for join type. +* Added memory quota control for `Cursor.getAll()` method. +* Added operations authorization. +* Added support for SQL hints at tables. +* Added support for bitwise aggregates (`BIT_AND`, `BIT_OR`, `BIT_XOR`). +* Added support for bitwise operations (`BITAND`, `BITOR`, `BITXOR`). +* Added support of OR operator with dynamic parameters for index scans. +* Allowed grouping by alias and ordinal value. +* Fixed 'typeof' function behavior when operand throws an error (it fails now). +* Fixed NVL/DECODE failure when it is used with parameters of different data types. +* Fixed assertion error for multiline statements in thin client. +* Fixed binary object dynamic parameter processing. +* Fixed column nullability check for data types with precision or scale. +* Fixed compiled expression cache key for correlated variable (to avoid cache collisions for correlated variables with different data types). +* Fixed complex key index scans (binary objects comparison). +* Fixed correlated nested loop `LEFT` join failure. +* Fixed default `TIMESTAMP` precision. +* Fixed error message for unsupported `FORMAT` in `CAST`. +* Fixed expand star for system fields. +* Fixed failure in `COUNT`(`DISTINCT`) operation. +* Fixed failure on `CREATE TABLE` DDL with Calcite engine when `DEFAULT` column value is NULL`. +* Fixed failure on sensitive information hiding for DDL statements. +* Fixed implicit conversion to `DECIMAL` for some functions. +* Fixed incorrect error for `TIME* WITH TIME ZONE` types. +* Fixed incorrect numeric results with operator 'IS [NOT] DISTINCT FROM'. +* Fixed incorrect result in unions in case of different types of numeric results. +* Fixed least restrictive type priority (for `DOUBLE` and `FLOAT`). +* Fixed lost limit/offset on planning. +* Fixed lost precisions of dynamic query parameters. +* Fixed not-null count calculation if index rebuild is in progress. +* Fixed numeric to interval cast. +* Fixed parsing of incorrect date literals. +* Fixed partition reservation for `index-count-scan`. +* Fixed rehashing of inputs containing null values. +* Fixed rounding of numerics (now rounds all types of floating point numerics to the nearest integer). +* Fixed sensitive information removal failure for JOINs and other SQL nodes. +* Updated Calcite version to 1.37. + +Control utility: +* Added a flag to ignore existed caches to the cache create command. +* Added ability to view cache data in JSON format. +* Added histogram bounds to the metric command output. +* Added logging of the `IdleVerify` command. +* Added support for the thin client connection to the control utility and deprecate legacy Binary-REST connection. +* Fixed CDC resend of replicated entries. +* Fixed Idle Verify hanging when invoked on an inactive cluster. +* Fixed Idle verify check failing when debug logging level is set. +* Fixed NPE in the cache distribution command. +* Fixed errors output. +* Fixed partition column output of the cache distribution command. +* Fixed permissions required by the consistency repair command. +* Removed `ADMIN_OPS` permissions check for cache operations. + +Java thin client: +* Added `ClientClusterGroup` support for Service Awareness. +* Added events for client start and stop. +* Added `invoke`/`invokeAll` operations. +* Fixed partition awareness after a cluster restart with the same topology version. +* Fixed client init hanging when cluster discovery is enabled but returned addresses are unreachable (in another subnet). +* Fixed client-connector threads blocking by transactional operations. +* Fixed orphaned handles after binary object detach operation. +* Fixed partition awareness with node filter. +* Fixed stale client cluster group data after a cluster restart. + +Ignite .NET: +* Added compute task sessions support. +* Fixed platform cache update for negative cache ID. +* Improved thin client service invocation performance by sending requests directly to the nodes where the service is deployed. + +JDBC: +* Added BLOB and stream APIs support. + Apache Ignite In-Memory Distributed Database 2.16.0 -----------------------------------------------------------