Features and Improvements
- Integration with BLAS via netlib [#IGNITE-5777]
- SQL: Added CREATE TABLE NOT NULL support [#IGNITE-5648]
- Added write throttling during an ongoing checkpoint to avoid zero performance drops [#IGNITE-6334]
- JDBC thick driver: added SQLSTATE error codes support [#IGNITE-6317]
- ODBC: added SQLSTATE error codes support [#IGNITE-6294]
- Added ability to handle CacheObject from DataRecord in standalone WAL iterator [#IGNITE-6235]
- ODBC: Implemented SQL_ATTR_CONNECTION_DEAD connection attribute [#IGNITE-6151]
- JDBC driver now returns correct JDBC, Database and Driver versions [#IGNITE-6139]
- JDBC thin driver: added type conversions in accordance with specification [#IGNITE-6130]
- JDBC Metadata now expects "catalog" parameter match to empty [#IGNITE-6125]
- Local scans performance was improved up to 2 times in particular cases [#IGNITE-6101]
- ODBC: Implement SQLGetInfo for info types [#IGNITE-6099]
- Improved comparing of inlined indexes [#IGNITE-5918]
- Default page size of durable memory is changed to 4KB [#IGNITE-5884]
- Introduced cache start/stop order on cluster activation [#IGNITE-5830]
- SQL: Added WRITE_SYNCHRONIZATION_MODE option to CREATE TABLE command [#IGNITE-5703]
- DataStreamer performance improved [#IGNITE-5658]
- JDBC thin driver: added SQLSTATE error codes support [#IGNITE-5620]
- SQL: Added ALTER TABLE ADD COLUMN support [#IGNITE-5572]
- JDBC thin driver: added schema to connection string [#IGNITE-5409]
- JDBC thin driver: added Statement.closeOnCompletion() support [#IGNITE-5344]
- Add ability to enable and disable rebalancing per-node [#IGNITE-5061]
- JDBC: added "enforceJoinOrder" flag to connection string [#IGNITE-4642]
- ODBC: More detailed error message if the query parsing failed [#IGNITE-3987]
- Hide QueryEntity.notNullFields from public API [#IGNITE-6514]
- Thin client: add tests for ODBC and SQL config conversions [#IGNITE-6413]
- Configuration for thin client [#IGNITE-6327]
- SQL: Add ALTER TABLE tests with persistence [#IGNITE-6316]
- JDBC: consistent driver names [#IGNITE-6297]
- SQL: QueryIndex.setInlineSize should return this instead of void [#IGNITE-6197]
- Make "Node crashed in the middle of checkpoint" message softer and more informative [#IGNITE-6183]
- Change default max memory size from 80% to 20% [#IGNITE-6182]
- JDBC2: Propagate "lazy" flag [#IGNITE-6117]
- ODBC: Propagate "lazy" flag [#IGNITE-6119]
- JDBC Thin: Propagate "lazy" flag [#IGNITE-6118]
- Improve future listeners model in DataStreamerImpl [#IGNITE-6051]
- Add transaction prepare and commit markers to WAL [#IGNITE-6014]
- Thin client: cache.Get for primitives [#IGNITE-5899]
- Change checksum calculation methods [#IGNITE-5817]
- JDBC thin driver: add complex DDL+DML test [#IGNITE-5462]
- JDBC thin: support client info [#IGNITE-5425]
- JDBC thin driver: validate compliance [#IGNITE-5339]
- Safe way for deactivate cluster [#IGNITE-4931]
Fixed
- Excluded daemon nodes from snapshot operation topology [#IGNITE-6480]
- Fixed of snapshot RESTORE fail if there is partition which size is greater than 2 Gb [#IGNITE-6470]
- Fixed consistent ID user in lightweight ClusterNode [#IGNITE-6460]
- Fixed error in checkpointer during topology change [#IGNITE-6434]
- Fixed offheap page evictions if loading not through data loader [#IGNITE-6385]
- Visor GUI: Fixed vulnerability of search in arbitrary folder [#IGNITE-6367]
- Fixed overflow when using more than Short.MAX_VALUE partitions [#IGNITE-6356]
- Fixed exchange hang on partition eviction when partition is LOST [#IGNITE-6342]
- Fixed issue with client cache being created on server node [#IGNITE-6340]
- Added ability to convert WAL to human-redable form [#IGNITE-6277]
- Fixed empty topology in discovery events when node has been segmented [#IGNITE-6256]
- Fixed race that could cause node hang-up during GridDhtTxFinishRequest processing [#IGNITE-6254]
- ODBC: SQLRowCount now returns number of affected rows for non-batch queries [#IGNITE-6245]
- Added support for uninterruptable writes using AsyncFileIOFactory. Enabled with -DIGNITE_USE_ASYNC_FILE_IO_FACTORY=true [#IGNITE-6228]
- IgniteCache.loadCache() now doesn't block loading from store on remote nodes [#IGNITE-6219]
- Fixed hanging on concurrent updates of binary metadata [#IGNITE-6214]
- ODBC: SQLBindParameter do not unbind parameter if the ParameterValuePtr is NULL anymore [#IGNITE-6211]
- Optimized marshaller: fixed defaultWriteObject/defaultReadObject with NotActiveException [#IGNITE-6200]
- ODBC: Fixed error on cursor closing before all the rows from the result fetched [#IGNITE-6188]
- Fixed calculation of moving partitions count in partition map [#IGNITE-5999]
- Infinite silent timeout while client with different configuration try enter topology [#IGNITE-5869]
- SQL: Fixed BigInteger data type handling [#IGNITE-5855]
- Reusing BinaryObjectBuilder can fails unexpectedly [#IGNITE-5839]
- Fixed NullPointerException in JDBC Metadata getIndexInfo method [#IGNITE-4643]
- IgnitePdsWalTlbTest.testWalDirectOutOfMemory() hangs [#IGNITE-6493]
- Fix IgnitePdsThreadInterruptionTest failure with larger number of threads [#IGNITE-6484]
- Ignite PDS1: Test testGetForInitialWrite failed in IgnitePdsCheckpointSimulationWithRealCpDisabledTest [#IGNITE-6466]
- JDBC thin: SQLSTATE is not set for BatchUpdateException [#IGNITE-6465]
- Timed out test IgnitePdsAtomicCacheRebalancingTest.testTopologyChangesWithConstantLoad [#IGNITE-6428]
- Failures in .NET test suite [#IGNITE-6404]
- IgniteSqlNotNullConstraintTest.testTransactionalAddColumnNotNullCheckDmlInsertValues fails periodically [#IGNITE-6403]
- SQL: Support SQLSTATE error code for "NOT NULL" constraint [#IGNITE-6396]
- Uncomment JdbcThinStatementSelfTest.testCloseOnCompletion [#IGNITE-6395]
- JDBC thin driver: JdbcThinTcpIo.srvProtocolVer is not used [#IGNITE-6391]
- Calculating cache size during cache stop sporadically fails with ClusterGroupEmptyCheckedException [#IGNITE-6355]
- Thin clients: close query cursors on disconnect [#IGNITE-6330]
- JDBC thin: statement type mismatch error is handled incorrect [#IGNITE-6326]
- Fix ALTER TABLE tests failures [#IGNITE-6314]
- JDBC thin protocol compatibility is broken [#IGNITE-6291]
- NPE on SQL query with parameters on custom schema name [#IGNITE-6288]
- TxPessimisticDeadlockDetectionTest.testDeadlocksPartitionedNear and TxPessimisticDeadlockDetectionTest.testDeadlocksReplicated is failing flaky [#IGNITE-6262]
- are not delivered via JDBC [#IGNITE-6220] Values of types int and long[]
- Unexpected setting local deployment owner anyone node [#IGNITE-6213]
- Inefficient memory consumption for checkpoint buffer [#IGNITE-6210]
- Test fail DynamicIndexReplicatedAtomicConcurrentSelfTest.testClientReconnectWithCacheRestart [#IGNITE-6179]
- JDBC: consistent product name across all drivers [#IGNITE-6170]
- TxOptimisticDeadlockDetectionTest.testDeadlocksPartitioned is failing [#IGNITE-5865]
- Test flakily fails [#IGNITE-5403]
- File interop_target.h is missing from source-release [#IGNITE-4591]
- Affinity task hangs when Collision SPI produces a lot of job rejections & Failover SPI produces many attempts [#IGNITE-3558]
.NET: Features and Improvements
- .NET: support ClientConnectorConfiguration [#IGNITE-6399]
- .NET: Separate interfaces for Ignite and Cache facades for thin client [#IGNITE-6368]
- .NET: Decouple AbstractQueryCursor from PlatformTarget data exchange specifics [#IGNITE-6279]
- .NET: Thin client: Define metadata exchange protocol [#IGNITE-6258]
- .NET: Fix TestAffinityCall to take late affinity assignment into account [#IGNITE-6255]
- .NET: Thin client: Basic exception handling [#IGNITE-6250]
- .NET: Thin client: ScanQuery [#IGNITE-6244]
- .NET: Thin client: cache.Get and Put for user types [#IGNITE-6236]
- .NET: Extract type codes to a separate class [#IGNITE-6233]
- .NET: Propagate SqlFieldsQuery.lazy property [#IGNITE-6121]
- .NET: Decouple Marshaller from Ignite [#IGNITE-5924]
- .NET: Thin client: cache.Get for primitives [#IGNITE-5905]
.NET: Fixed
- Fix PutAll for dependent objects [#IGNITE-6081]
- .NET: DataStreamer does not work with complex object graphs [#IGNITE-6354]
- .NET: Incorrect conflicting type error [#IGNITE-5931]
C++: Features and Improvements
- CPP: Propagate SqlFieldsQuery.lazy property [#IGNITE-6122]
C++: Fixed
- C++: impossible to start node with persistent store [#IGNITE-6282]