You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by al...@apache.org on 2020/10/21 15:15:31 UTC

[ignite-website] branch master updated: Ignite 2.9.0 Release notes

This is an automated email from the ASF dual-hosted git repository.

alexpl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-website.git


The following commit(s) were added to refs/heads/master by this push:
     new b80781c  Ignite 2.9.0 Release notes
b80781c is described below

commit b80781cb3d88c3ca288adbd995e464fd6c294083
Author: Aleksey Plekhanov <pl...@gmail.com>
AuthorDate: Wed Oct 21 18:11:58 2020 +0300

    Ignite 2.9.0 Release notes
---
 releases/2.9.0/release_notes.html | 208 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 208 insertions(+)

diff --git a/releases/2.9.0/release_notes.html b/releases/2.9.0/release_notes.html
new file mode 100644
index 0000000..9dc8881
--- /dev/null
+++ b/releases/2.9.0/release_notes.html
@@ -0,0 +1,208 @@
+<head>
+<link rel="canonical" href="https://ignite.apache.org/releases/latest/release_notes.html" />
+
+
+
+	
+
+
+
+	<style>h1 {    color: #113847;    font-size: 33px;    font-weight: bold;    margin: 30px 0 15px 0;    padding-bottom: 7px;    width: 700px;}h2 {  border-bottom: 2px solid #ccc;     color: #113847;     font-size: 29px;     font-weight: normal;     margin: 30px 0 15px 0;     padding-bottom: 7px;  width: 700px; }a {      color: #cc0000;      text-decoration: none;  }span {    color: #cc0000;}a:hover {    text-decoration: underline;}ul,ol {    list-style: disc;    margin-left: 30px;}ul li,o [...]
+
+	<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-61232409-1', 'auto');
+  ga('send', 'pageview');
+
+	</script></head>
+<body>
+	<h1>Apache IGNITE 2.9.0</h1>
+			<div></div>
+
+    <h2>Ignite Core:</h2><ul>
+        <li>Added the feature of cluster snapshots for persistence caches</li>
+        <li>Added tracing of transactions, discovery, exchange, and communication components</li>
+        <li>Added new cluster-wide state: read-only. In this state caches available for cache read operations. Cache operations with data modification (update, remove, clear, create, destroy and etc.) don't allowed</li>
+        <li>Added TDE master key rotation feature</li>
+        <li>Added functionality to run user-defined code inside a sandbox</li>
+        <li>Added Cluster ID and tag properties to identify the cluster</li>
+        <li>Added support for one-way thick-client to server connections</li>
+        <li>Added the ability to not open server sockets (for incoming connections) by thick client</li>
+        <li>Added management API to cancel user-provided tasks and queries</li>
+        <li>Added partition states system view and free-lists system view</li>
+        <li>Added txKeyCollisions cache metric</li>
+        <li>Added OffHeapEntriesCount, OffHeapBackupEntriesCount, OffHeapPrimaryEntriesCount, HeapEntriesCount, CacheSize to cache metrics</li>
+        <li>Added query pool starvation monitoring</li>
+        <li>Added the ability to put non-primitive data types via HTTP-REST</li>
+        <li>Added the ability to use CACHE_CREATE and CACHE_DESTROY permissions on per-cache level</li>
+        <li>Added the ability to restrict access to the internal package of Ignite</li>
+        <li>Added nodes caching in cluster groups</li>
+        <li>Added warning of deadlock when an unordered collection is passed to putAll-style bulk cache operation</li>
+        <li>Added the ability to set user attributes for thin clients connections</li>
+        <li>Added a new public API for the cluster state change (activation/deactivation and etc.)</li>
+        <li>Added EVT_BASELINE_..., EVT_CLUSTER_STATE_CHANGE_STARTED, EVT_PAGE_REPLACEMENT_STARTED events</li>
+        <li>Added the ability to hide sensitive data in logs, exceptions, and utilities output (IGNITE_TO_STRING_INCLUDE_SENSITIVE system property)</li>
+        <li>Added the ability to change long-running operation timeout in run-time</li>
+        <li>Added dedicated thread pool for creating and rebuilding indexes</li>
+        <li>Added possibility to pass client SSL certificate to security plugin (for clients: JDBC thin, thin-client, grid-client, REST)</li>
+        <li>Added Apache Ignite Slim binary distribution with essential modules only</li>
+        <li>Added the ability to set fetch size for JDBC cache store</li>
+        <li>Added "features" to thin client protocol</li>
+        <li>Added support for node discovery using AWS ALB</li>
+        <li>Updated Bouncy Castle dependency for AWS module to 1.60 version</li>
+        <li>Fixed security context propagation for remote filters and listeners (for ContinuousQueries, IgniteMessaging, IgniteEvents)</li>
+        <li>Fixed ConcurrentModificationException when DEBUG logging continuous queries</li>
+        <li>Fixed critical errors handling by thin-client server-side threads</li>
+        <li>Fixed memory leaks in continuous query handlers</li>
+        <li>Fixed data streamer pool MXBean (from ThreadPoolMXBean to StripedExecutorMXBean)</li>
+        <li>Fixed memory leaks in MVCC processor</li>
+        <li>Fixed deadlock on concurrent removeAll() on the same cache</li>
+        <li>Fixed sensitive user data leak in a diagnostic exchange log message</li>
+        <li>Fixed checkpoint block for all duration of index deletion</li>
+        <li>Fixed WAL flush issue in LOG-ONLY/FSYNC modes and null flush pointer</li>
+        <li>Fixed limiter for a dump of long-running transactions</li>
+        <li>Fixed thread group for Ignite threads (do not use dedicated thread group anymore)</li>
+        <li>Fixed exception during creating string representation of the binary object</li>
+        <li>Fixed potential partition map exchange hanging on Zookeeper discovery clusters</li>
+        <li>Fixed NPE in checkpoint thread</li>
+        <li>Fixed fail of optimistic serializable transactions when read-through is enabled</li>
+        <li>Fixed node startup after upgrade in case of using Local cache with persistence enabled</li>
+        <li>Fixed awaiting for service deployment in the event-driven service processor</li>
+        <li>Fixed incorrect collecting cache configuration on the coordinator</li>
+        <li>Fixed node failure when DistributedProcess unable to send a single message to the coordinator</li>
+        <li>Fixed binary metadata folder, now it's moved to PDS storage folder</li>
+        <li>Fixed EVT_CACHE_STOPPED event local listener issue</li>
+        <li>Fixed processing of failure detection timeout in TcpDiscoverySpi. If a node fails to send a message or ping, now it drops the current connection strictly within this timeout and begins establishing a new connection much faster</li>
+        <li>Fixed WAL FSYNC mode problem with a disabled archiver</li>
+        <li>Fixed the ability to set number of WAL segments to less than 2</li>
+        <li>Fixed race condition in the state processor.</li>
+        <li>Fixed deadlock between topology update and CQ registration</li>
+        <li>Fixed potential NullPointerException on cache operations after client reconnect</li>
+        <li>Fixed class loading exception when package name starts from 'class'</li>
+        <li>Fixed ClassCastException in cache group metrics on client nodes</li>
+        <li>Fixed registration of capturingClass in marshaller making lambdas fragile on code update.</li>
+        <li>Fixed NPE, when IgniteLock removed before it's used</li>
+        <li>Fixed processing of connection recovery timeout in TcpDiscoverySpi. If a node loses connection, now it strictly obtains a new connection to the ring of gets segmented within this timeout.</li>
+        <li>Fixed p2p deployment of scan queries transformer class</li>
+        <li>Fixed exception on initialization in push metrics exporters</li>
+        <li>Fixed AssertionError on getting cache size from the MBean on the inactive cluster</li>
+        <li>Fixed JVM option in .sh/.bat scripts to support CPU load metric on java 11 and higher</li>
+        <li>Fixed broken redis mget command</li>
+        <li>Improved transaction recovery mechanism on topology change</li>
+        <li>Improved checkpoint logic to write checkpoint buffer pages first to avoid throttling</li>
+        <li>Improved node recovery time by executing partition state restore phase in parallel</li>
+        <li>Improved node start-up and periodic metrics logging.</li>
+        <li>Improved rebalancing scheduling (SYNC caches rebalance first)</li>
+        <li>Improved node host resolving (don't try to resolve hostnames when localHost is set as IP)</li>
+        <li>Improved data loss handling</li>
+        <li>A lot of stability and performance fixes</li>
+        <li>Replaced ignite.sh invocation with the direct JVM call for Docker deployment</li>
+        <li>Discontinued IGFS and Hadoop Accelerator components</li>
+    </ul>
+    <h2>SQL:</h2><ul>
+        <li>Added the ability to create tables for existing caches</li>
+        <li>Added metrics: sql.parser.cache.hits - count of hits for queries cache, sql.parser.cache.misses - count of misses for queries cache</li>
+        <li>Added metrics to count the number of successful and failed SQL queries</li>
+        <li>Added validation of the uniqueness of a field's name annotated with @QuerySqlEntity. Previously cache could be started without errors, but the key's field would not be queryable</li>
+        <li>Added an option to validate field types against SQL schema on key-value insert</li>
+        <li>Added separate SQL configuration</li>
+        <li>Fixed SQL schema name validation (prohibit empty schema names)</li>
+        <li>Fixed duplicate definition of a column by "create table"</li>
+        <li>Fixed SQL wildcard to java regex translation</li>
+        <li>Fixed custom GROUP_CONCAT separator support</li>
+        <li>Fixed data race when getting index rebuild status</li>
+        <li>Fixed incorrect "not null" constraint check on key field</li>
+        <li>Fixed an issue when a node stops if an index is created on a field with invalid data type</li>
+        <li>Fixed QuerySqlField annotation's "name" property validation</li>
+        <li>Fixed improper index usage, fields enumeration not used with pk index creation</li>
+        <li>Fixed an issue when the primary key was created with invalid fields order</li>
+        <li>Improved row count statistic calculation (index scan replaced with cache.localSize)</li>
+        <li>Improved indexing of JavaObject. Only hash bytes are stored now, which reduces the size of the index and reduces the time for objects comparison.</li>
+    </ul>
+    <h2>Ignite .Net:</h2><ul>
+        <li>Added IgniteLock</li>
+        <li>Added ICache.EnableStatistics, ICluster.EnableStatistics</li>
+        <li>Added native platform cache</li>
+        <li>Added the ability to use platform cache to execute local ScanQuery with partition</li>
+        <li>Added the ability to call .NET services from Java</li>
+        <li>Added the ability to get metadata for FieldsQueryCursor</li>
+        <li>Added partition-based AffinityCall and AffinityRun overloads, fixed existing AffinityCall and AffinityRun to reserve partition</li>
+        <li>Added the ability to use SqlFieldsQuery as ContinuousQuery.InitialQuery</li>
+        <li>Fixed query cursor thread safety</li>
+        <li>Fixed issue with starting Ignite under Mono on Linux</li>
+        <li>Fixed searching of service method with user type array parameter</li>
+        <li>Fixed OutOfMemory exception when calling grid service from .NET with user type array parameter</li>
+        <li>Fixed TransactionScope behavior with read-only cache operations</li>
+        <li>Fixed stale local node info after client reconnect</li>
+    </ul>
+    <h2>Ignite C++:</h2><ul>
+        <li>Added CMake build support</li>
+        <li>Fixed compilation error for boost versions greater than 1.70</li>
+        <li>Removed autotools build support</li>
+    </ul>
+    <h2>JDBC:</h2><ul>
+        <li>Added connections failover support</li>
+        <li>Added support for 'connectionTimeout' and 'queryTimout' properties</li>
+        <li>Added SSL CipherSuites support</li>
+        <li>Added support for individual reconnect in case of best effort affinity mode</li>
+        <li>Added the ability to control affinity cache size</li>
+        <li>Added support of custom user's java object</li>
+        <li>Fixed an issue where a metadata request through a JDBC Connection could fail if metadata is requested for cache without explicit query entity configured</li>
+    </ul>
+    <h2>Java thin-client:</h2><ul>
+        <li>Added cluster API support</li>
+        <li>Added cluster group API support</li>
+        <li>Added compute support</li>
+        <li>Added Ignite services support</li>
+        <li>Fixed size overhead after unmarshalling Collections/Arrays of objects</li>
+        <li>Fixed binary type schema registration for nested objects when CompactFooter is enabled</li>
+        <li>Fixed transactions withLabel issue</li>
+        <li>Fixed binary type issue when more than one schema for one type is used</li>
+    </ul>
+    <h2>.Net thin client:</h2><ul>
+        <li>Added cluster API support</li>
+        <li>Added cluster group API support</li>
+        <li>Added compute support</li>
+        <li>Added automatic server node discovery</li>
+    </ul>
+    <h2>Python thin-client:</h2><ul>
+        <li>Added the ability to specify keyfile password</li>
+        <li>Fixed wrong fields order in queries when fields count > 10</li>
+    </ul>
+    <h2>Control utility:</h2><ul>
+        <li>Added commands to manage cluster binary metadata to control.sh command-line utility</li>
+        <li>Added commands to view and change Cluster Id and Tag</li>
+        <li>Added "--force" flag for "deactivate" and "set-state" commands</li>
+        <li>Added "--check-crc" flag for "validate_indexes" command</li>
+        <li>Added "--verbose " option to print stack trace errors</li>
+        <li>Added "--check-sizes" option for "validate_indexes" to check whether index and cache size are equal</li>
+        <li>Added "--cache check_index_inline_sizes" command to check that indexes inline size the same on all cluster nodes</li>
+        <li>Fixed double password requests for keystore and truststore</li>
+        <li>Fixed corrupted indexes detection</li>
+        <li>Fixed GridClient instances leakage after various errors</li>
+        <li>Fixed return code swallowing by control.sh bash script</li>
+    </ul>
+    <h2>Spring Data integration:</h2><ul>
+        <li>Added multiple Ignite instances on same JVM support (@RepositoryConfig)</li>
+        <li>Added query tuning parameters in @Query annotation support</li>
+        <li>Added projections support</li>
+        <li>Added Page and Stream responses support</li>
+        <li>Added SQL Fields Query resultset transformation into the domain entity support</li>
+        <li>Added named parameters (:myParam) in SQL queries support (declared using @Param("myParam"))</li>
+        <li>Added advanced parameter binding and SpEL expressions in SQL queries support</li>
+        <li>Added SpEL expressions in Text queries (TextQuery) support</li>
+        <li>Fixed incorrect processing of non-comparable keys in spring-data for repository methods: findAllById(ids) and deleteAllById(ids).</li>
+        <li>Fixed cursors leakage in RunningQueryManager when executing queries via spring-data repositories.</li>
+    </ul>
+    <h2>ML:</h2><ul>
+        <li>Added more distances between two Vectors</li>
+    </ul>
+    <h2>Web Console:</h2><ul>
+        <li>Moved to separate repository</li>
+    </ul>
+</body>
+