-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Expand file tree
/
Copy pathRELEASE_NOTES.txt
More file actions
3159 lines (2927 loc) · 168 KB
/
RELEASE_NOTES.txt
File metadata and controls
3159 lines (2927 loc) · 168 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Apache Ignite Release Notes
===========================
Apache Ignite distributed database for high-performance computing 2.18.0
-----------------------------------------------------------
Ignite:
* Move binary classes to binary-api
* Move OptimizedMarshaller to ignite-binary-impl
* Move GridFunc to ignite-commons
* Move BinaryReader and BinaryWriter implementations to binary-impl
* BinaryContext dependencies moved to commons and binary-api
* Move GridToStringBuilder to ignite-commons
* Move builders package to ignite-binary-impl
* BinaryStreams moved to ignite-binary-impl
* Move IgniteException, IgniteCheckedException to ignite-commons
* Refactor ClusterMetricsUpdateMessage
* Binary API initial commit
* Remove unused code from MessageReader and MessageWriter
* Move GridUnsafe to ignite-unsafe
* Minify binary classes visibility
* Move JdkMarshaller to ignite-binary-impl
* Remove unsafe dependency from binary-api
* Move GridTuple* to ignite-commons
* Add MessageProcessor for generating Message ser/der
* Snapshot check bases on DistributedProcess
* Add SessionContext API
* Remove unused code from IgniteUtils
* Store crash recovery data to checkpoint recovery files
* Generate serdes code for management commands arguments
* Remove setMarshaller from tests
* Remove VerifyBackupPartitionsTaskV2#V2_SINCE_VER
* Support of data region storage path implemented
* Remove U dependency from binary package
* Move BinaryObjectImpl to binary-impl
* Add JMH benchmark and helper for TPC-H queries
* Make BinaryWriterExImpl package private
* Remove redundant IdleVerify code
* Use MessageSerializer for diagnostic messages
* Several storage paths per cache
* Perform enum fields serialization/deserialization with external mappers
* Remove Message#fieldsCount
* Initial commit for ignite-commons
* Cleanup GridFunc
* Make BinaryReaderExImpl package private
* Added metrics of TCP communication connection pool
* Added support of partition loss detection after cluster inactivity
* Use MessageSerializer for GridJobExecuteRequest
* Move binaryMetadata, marshaller directories logic to NodeFileTree
* Use MessageSerializer for GridDistributedLockRequest
* Remove NodeFileTree.cacheStorage(String) method
* Use MessageSerializer for GridCacheQueryResponse
* Remove Message interface from CacheObject
* Recording systemViews to perfStart report
* Per cache custom storagePath configuration
* Replace F.eq with the Objects.equals
* Add max value aggregated interval metric
* Use MessageSerializer for GridDistributedTxPrepareRequest
* Support of cache storage for --persitence commands
* Inline binary writer methods
* DataStorageConfiguration#extraSnapshotPaths added
* Use MessageSerializer for NearCacheUpdates message
* Use MessageSerializer for TcpDiscoveryMetricsUpdateMessage
* Ignite accepts joining node with rolling upgrade version
* Move WAL dirs to NodeFileTree
* Remove GridNioFuture
* Fixed in-memory cluster hanging when error is thrown on activation
* Use MessageSerializer for FragmentDescription
* Refactor GridDistributedTxPrepareResponse and successors
* Replace VisorDataTransferObject with IgniteDataTransferObject
* Rename IncrementalSnapshotVerificationTask classes
* Move defragmentation logic to CacheFileTree
* TcpDiscoverySpi uses MessageSerializer
* Remove Serializable interface from Message
* Refactor GridLongList
* Refactor GridDhtLockResponse and successors
* Discovery optimizations for MultiDC
* Move IgniteThread to commons
* Refactor GridNearAtomicAbstractUpdateRequest and GridNearAtomicSingleUpdateRequest
* Fix hang in put with RANDOM_LRU and RANDOM_2_LRU eviction policy
* WAL state/enable/disable commands
* Use MessageSerializer for GridDhtAtomicUpdateRequest
* Move cache dir/partition iteration into NodeFileTree
* Explicit index cache path
* Remove unused Ipc classes
* Move BinarySerializedFieldComparator to test
* Refactor serialization of CacheEntryPredicateAdapter and CacheEntrySerializablePredicate
* Remove deprecated SpiQuery
* Move T* aliases to ignite-commons
* Remove IGNITE_EXCHANGE_COMPATIBILITY_VER_1
* Add serdes tests for Services with custom exceptions
* Skip read-through in DML operations
* Cache partition files calculation in NodeFileTree
* Incremental snapshot migration to SnapshotFileTree
* Remove Message#onAckReceived
* Refactor GridDhtPartitionSupplyMessage
* Move readString, writeString to CommonUtils
* Migration to snapshot file tree in tests
* Implement an affinity backup filter assigning partition copies evenly between data centers
* Move checkpoint dir to NodeFileTree
* Refactor BinaryMetadataHolder
* Remove marshaller from IgniteConfiguration
* Сheckpoint command added
* Use MessageSerializer for GridCacheReturn, GridChangeGlobalStateMessageResponse, GridNearGetResponse
* Implement a TopologyValidator based on DataCenterId
* Use MessageSerializer for GridDistributedTxFinishRequest
* Refactor SnapshotOperationRequest class to be stateless for serialization framework
* IndexQuery can't use an index until data population completes
* Remove setSharedMemoryPort
* Remove "instanceof BinaryMarshaller" from tests
* WAL files move to NodeFileTree
* Remove candsByIdxBytes field from GridDistributedBaseMessage
* Provide flag to include DataStructure to cache dump
* Use CommonUtils instead of U in binary
* Remove GridDhtPartitionDemandMessage#VERSION_SINCE
* Introduce CacheIdleVerifyCancelCommand
* Refactor QueryStartResponse, FragmentMapping, ColocationGroup
* Use MessageSerializer for handshake messages
* Refactor IncrementalSnapshotVerificationTask
* Compatibility test for Ignite snapshot
* Remove explicit call of setMarshaller for binary marshaller
* Dump reader - cache names filter added
* Refactor GridNearUnlockRequest
* Fix snapshot creation if DataRegionConfiguration#storagePath set
* Refactor GridJobExecuteResponse
* Use MessageSerializer for GridDhtPartitionsFullMessage
* Reduce the number of JUnit parameters in SnapshotCompatibilityTest, refactor corresponding code
* Add Message interface to IgniteDhtPartitionCountersMap
* Use MessageSerializer for GridDhtAtomicSingleUpdateRequest
* Move discoveryInternalLsnr to tests
* IgniteSnapshotManager migration to SnapshotFileTree
* Optimize IgniteDiagnosticMessage marshalling
* Remove PARTIAL_COUNTERS_MAP_SINCE
* Remove EXCHANGE_PROTOCOL_2_SINCE
* Remove orphaned qryResCache and related code
* Move binary streams implementations to package-private
* Add Message interface to IgniteDhtPartitionsToReloadMap
* Move cacheWorkDir, cacheDir to NodeFileTree
* Refactor SnapshotMetadataVerificationTask
* Fix memory leak in HeavyQueriesTracker
* Move SnapshotFileTree constants to private
* Remove DurableBackgroundCleanupIndexTreeTask and related code
* Remove IgniteDataTransferObject protoVer fields
* Fix reading performance statistics report due to miss-cached strings
* Add metrics to improve node network unavailability detection
* Refeactor building of IdleVerifyResult
* Remove IgniteConfiguration from BinaryContext
* Added authorization of Compute Job cancellation
* Remove CacheObjectValueContext#kernalContext method
* Remove BinaryFieldEx interface
* Refactor GridNearSingleGetRequest, CacheEntryInfoCollection, GridDistributedTxFinishResponse
* Simplify BinaryContext creation
* Rename SnapshotPartitionsVerifyTaskResult class
* Remove BinaryConfiguration dependency from BinaryContext
* Make BinaryObjectImpl package private
* Move snapshots, snp to NodeFileTree
* Fix discrepancy with CacheStore in case of an error during tx commit phase
* Extract GridToStringBuilder Unsafe code to interface
* Split TcpDiscoveryIoSession to fix race in RingMessageWorker
* Use MessageSerializer for GridNearGetRequest
* Move cache dir filters to NodeFileTree
* New node property to distinguish different DCs
* Added offline commands support
* Remove instanceOf BinaryMarshaller
* Add metrics for inserted/removed bytes to/from cache group
* Rebalancing optimization for MultiDC
* Use MessageSerializer for TxLockList, CommittedVersion, GridNearSingleGetResponse
* More cleanup binary writer
* Use MessageSerializer for GridNearAtomicUpdateResponse and GridNearAtomicCheckUpdateRequest
* Use MessageSerializer for QueryStartRequest
* Remove GridMessageCollection
* Use MessageSerializer for GridCacheTxRecoveryRequest and GridCacheTxRecoveryResponse
* Use MessageSerializer for MetadataResponseMessage
* Minify visibility of BinaryUtils doReadXXXArray methods
* Fix freelist corruption in JDK17 with ShenandoahGC and assertions turned off
* Use MessageSerializer for GridCacheMessage
* Refactor CacheInvokeDirectResult
* Fixed missing error for partially successful putAll on ATOMIC, FULL_SYNC caches during primary node stop
* Added capturing of cluster node certificates during join process
* Fix query entity configuration merge on node join
* Refactor GridDhtForceKeysResponse
* Use MessageSerializer for SnapshotFiles* messages
* .ΝΕΤ: Propagate compute task names to Java
* Remove RMV_ANON_CLS_POS_CHANGED_SINCE
* Make BinaryReaderHandles package private
* Fixed NPE when getting cluster name on inactive cluster
* Fix CdcCommandLineStartup interruption
* Use MessageSerializer for SchemaOperationStatusMessage
* Make BinarySchema package-private
* Add configOnly flag to dump
* Use MessageSerializer for TcpDiscoveryConnectionCheckMessage
* Remove Message interface from GridIntList
* Use MessageSerializer for TcpDiscoveryHandshakeResponse
* Use SnapshotFileTree in LocalSnapshotSender
* Remove setForceServerMode
* CdcMain clears corrupted cdc state files
* Fixed flaky ServiceAwarenessTest.testNodesLeaveMultiThreaded
* Remove GridCacheMessage#handlerId and #cacheGroupMessage
* Fix transaction closing on explicit rollback or commit
* Optimize writing Map by BinaryWriterExImpl
* Add test for freelist corruption during cache clear with JDK17 with ShenandoahGC
* Use CacheObjectValueContext where possible
* Use MessageSerializer for GridCacheEntryInfo
* Move BinaryObjectOffheapImpl to package-private
* Fix tx support init in partitionAwareness mode
* Use MessageSerializer for GridQueryKillRequest and GridQueryKillResponse
* Make BinaryObjectBuilderImpl package private
* Minify BinaryUtils methods visibility
* Add tx deadlocks count metric
* Use MessageSerializer for MissingMappingRequestMessage and MissingMappingResponseMessage
* Remove redundant IgniteExperimental annotations
* Fix snapshot restoration when indexPath equal to storagePath
* Use MessageSerializer for GridCacheVersion and GridCacheVersionEx
* Use MessageSerializer for GridDhtAtomicNearResponse
* Cache API optimizations for MultiDC
* Clean up IgniteIndexReaderTest
* Refactor SnapshotHandlerRestoreTask
* Refactor UpdateErrors message
* Use MessageSerializer for GridQueryNextPageRequest
* Allow to create table for already existing cache with defined schema
* PerfStat: fix reading empty unsupported system views
* Enforce explicit use of OutputStream for TcpDiscoverySpi#writeToSocket
* Make BinarySchemaRegistry package private
* Merge HandshakeMessage classes
* Clean TcpCommunicationSpi unused methods
* Use MessageSerializer for GridTaskResultResponse
* Move WAL segments to NodeFileTree
* Fix inconsistent behaviour on concurrent commit and timeout with 1PC
* Disable distributed processes during rolling upgrade
* Fix suboptimal expire shift calculation
* Use MessageSerializer for GridDhtAtomicUpdateResponse
* Fix corrupted tree exception on expiration
* Move constant to private
* Use MessageSerializer for IncrementalSnapshotAwareMessage
* Fix AssertionError on concurrent services undeployment
* Move IgniteSnapshotManager#partitionRowIterator to tests
* Add logs for local snapshot creation steps
* Fix check dump on other node
* Speed up warmup running in several threads
* Use MessageSerializer for WalStateAckMessage
* Move WAL compacted file constants to NodeFileTree
* Use MessageSerializer for GridTaskResultRequest
* Make BinaryEnumObjectImpl package private
* Remove orphaned TcpDiscoverySpi#writeToSocket method
* Fixed missing test parameters for GridRuntimeExceptionSelfTest
* Added performance statistics for putAllConflict, removeAllConflict operations
* Use MessageSerializer for PartitionUpdateCountersMessage
* Updated jetty-server dependency version from 9.4.56.v20240826 to 11.0.24
* Use MessageSerializer for InboxCloseMessage
* Make BinaryLazyValue package private
* GridInternalWrapper renamed and moved to ignite-commons
* Use MessageSerializer for GridDhtPartitionExchangeId
* Use MessageSerializer for CacheEvictionEntry
* Reduce memory requirements of largeUserAttributes* tests
* Use MessageSerializer for GridJobSiblingsResponse
* Refactoring setting socket timeout for TcpDiscoverySpi#writeToSocket
* Use MessageSerializer for GridDhtPartitionsSingleRequest
* Move BinaryArrayIdentityResolver to package-private
* Fix primitive column descriptor problem with alias on key or val field
* Use MessageSerializer for CacheContinuousQueryBatchAck
* Remove BinaryWriter#typeId setter
* Use MessageSerializer for AtomicApplicationAttributesAwareRequest
* Fix message serializer code generation problems
* Fix LengthPrefixCodec issue with 3 byte buffer
* Make "metastorage" and "distributedMetastorage" system views filtrable
* Use MessageSerializer for UUIDCollectionMessage
* BPlusTree reuses lastRow from rowFilter closure to fill buffer
* Fix flaky GridTcpCommunicationSpiConfigSelfTest
* Use MessageSerializer for ServiceSingleNodeDeploymentResultBatch
* Use MessageSerializer for UserAuthenticateResponseMessage
* Move BinaryEnumArray to package-private
* Fix GridLogCommandHandler path validation
* Keep order in IndexQueryResultMeta message
* Use MessageSerializer for GridDhtAtomicDeferredUpdateResponse
* remove always true CacheObjectBinaryProcesor#isBinaryEnabled
* Add warn if index inline size is too big
* Use MessageSerializer for TcpDiscoveryRingLatencyCheckMessage
* Compatibility test - Restore snapshot with custom path
* Use MessageSerializer for TcpDiscoveryHandshakeRequest
* Use MessageSerializer for GridQueryCancelRequest
* Use MessageSerializer for SessionChannelMessage
* Use MessageSerializer for TcpDiscoveryDuplicateIdMessage
* Fix IndexQuery can query backup partition if setPartition is used
* Remove setForceServerMode from ConfigVariationsFactory
* Remove IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES
* Fixed H2QueryInfo#planWithoutScanCount for UNION queries.
* GridDhtPartitionSupplyMessage minor refactoring
* Add parent process listener to IgniteCompatibilityNodeRunner
* Documentation of distributed properties for blocking new connections.
* Remove redundant maps in IndexProcessor
* Refactor serialization for TcpDiscoveryAbstractTraceableMessage
* Move BinaryClassDescriptor#newInstance to BinaryReaderExImpl
* Make BinaryObjectExImpl package private
* Move WAL temp file constants to NodeFileTree
* Fixed flaky the CommunicationConnectionPoolMetricsTest#testMetricsBasics test
* Remove MIN_BLT_SUPPORTING_VER
* Wait for pending messages to be sent before checks
* Remove setForceServerMode from GridCacheAbstractRemoveFailureTest
* Added LastArchivedSegment metric
* Move maintenance file to NodeFileTree
* Initialized StandaloneGridKernalContext with no-op security processor implementation
* Move BinaryNoopMetadataHandler to package-private
* Fixed an assertion error on the cluster state command
* Fix snapshot restore failure due to non-serializable cache group names collection
* Fix binary compatibility issue with dcId property
* Add CODEOWNERS for platforms
* Throw when CacheConfiguration#extraStoragePaths contains duplicates
* Added data center ID to the ClusterNodeView
* Remove FORCE_ADD_REASSIGNMENT_SINCE.
* Update NodeFileTree javadoc for CDC files
* Removed NOT_NULLS_SUPPORT_VER.
* Deploy ignite-commons to staging
* Restore 'checkout' in `sonar-pr-from-fork-build.yml`
* Fix typos in method names of IncrementalSnapshotAwareMessage
* Exclude new modules from release
* Remove QueryUtils usage from BinaryContext
* Fix SnapshotCompressionBasicTest
* Fix exclusions in IgniteCompatibilityAbstractTest
* Updated IgniteReleasedVersion for compatibility tests to 2.17.0
* Test TcpDiscoveryCoordinatorFailureTest#testClusterFailedNewCoordinatorInitialized hangs and locks suite SPI(Discovery) until timeout
* Updated dependency version commons-lang3 to 3.18.0
* Thick client optimizations for MultiDC
* Remove orphaned PHP client code
* Cache storage path added to ClientCacheConfiguration
* Added client router node metric.
SQL:
* Add system view for SQL query plans history
* Add docs for PostgreSQL cdc-extension
* Fixed performance drop introduced by SQL plan history system view
* Method to create SQL cache via thin client
* Fixed node crash after SQL query with WITH clause
* Add initiatorId to the SQL_QUERY_HISTORY system view
* Fix indexed field validation
* Add information about query initiator id to log
* Set H2 default SQL plan history to zero
* Documentation: Add SQL_PLANS_HISTORY view performance considerations
SQL Calcite:
* Update Calcite version to 1.40
* Support UNNEST operator
* Add HASH join type
* Refactor PlannerTest
* Add query blocking tasks executor (allows to execute SQL inside UDF)
* Add non-equi condition support for LEFT/RIGHT/FULL/ANTI HASH JOIN
* Add heuristics to optimize join order
* Add group partitions reservation
* Refactor JmhSqlBenchmark
* Fix MergeJoin/NestedLoopJoin buffers overflow
* Add support of user-defined table functions
* Optimize scans with filter
* Add dynamic configuration to disable a rule globally
* Fix merge filter to scan after trimmed fields
* Add thread pool starvation warning, add UDF query warning
* Optimize memory consumption for hash-table based operators
* Add extraction of common part from disjunction in conditions
* Fix mapping sending for trim exchange
* Optimize IN statement with literals
* Optimization for MultiDC
* Add number of passed query parameters validation
* Fix incorrect processing of IS NOT DISTINCT condition in MergeJoin
* Limit joins number to commute in planning
* Fix usage of checkState() in the join nodes
* Fix cast of dynamic parameters
* Fix wider type for fixed chars coercion
* Fix NVL/COALESCE failure with correlated subquery as parameter
* Fix excessive log output on planning error
* Reduce contention by QueryBlockingTaskExecutor
* Fixed assertion on planning for filter with double correlate
* Reuse Row for non-storing accumulators
* Fix function with schema serialization
* Fix "field names not distinct" assertion error
* Fix flaky CancelTest.testNotOriginatorNodeStop
Control utility:
* Added support for interactive input of sensitive command arguments in control utility
* Add rolling upgrade commands for control.sh
* Implement control.sh status command for rolling upgrade
* Fix control.sh --kill compute command authorization and authorization error propagation
* Removed redundant permission check to cancel services from control utility
Java thin client:
* SqlFieldsQuery initiator ID support
* Fix NPE on SQL fields query
* Remove GridClient from control.sh
* Fix multi-key operations unordered map/set warnings in server logs
* Optimizations for MultiDC
* Move GridClientByteUtils to IgniteUtils
* Fix thin client duplicates channels
* Add handshake timeout configuration for java thin client
* Fixed management client connection if the 'newThinConnectionsEnabled' property is set
* Fix binary meta sending on reconnect
* Simplify GridClientOptimizedMarshaller
* Fixed cache list command if mapped to a client node
JDBC:
* Add JDBC local query property
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
-----------------------------------------------------------
(!) WARNINGS:
* Operations on atomic caches within transactions are finally forbidden. The system property IGNITE_ALLOW_ATOMIC_OPS_IN_TX has been removed.
* Removed CacheAtomicityMode#TRANSACTIONAL_SNAPSHOT cache mode.
* Mixed mode cache groups are now forbidden, but IGNITE_ALLOW_MIXED_CACHE_GROUPS system option may temporarily allow them.
* The ignite-ml and cassandra modules have been migrated to the Ignite extensions.
Ignite:
* Added ARM64 Docker images.
* Added CLIENT_CONNECTION_ATTRIBUTES system view.
* Added ability to configure metric exporter filter from Spring XML.
* Added cache dumps.
* Added extended debug logging of client connections.
* Added limit support to IndexQuery.
* Added logging of snapshot check procedure.
* Added metrics for operations on secondary indexes.
* Added performance statistics for IndexQuery.
* Added performance statistics info about query properties and processed rows count by query.
* Added size limit of the client session outbound message queue.
* Added topology snapshot info to services system view.
* Deprecated legacy authorization approach via Security Context.
* Deprecated rebalance related methods in the ClientCacheConfiguration.
* Fixed JavaNioAccess handling in JDK 14 and later.
* Fixed MappedFile.map for JDK 14 and newer.
* Fixed NPE during defragmentation OOM exception handling.
* Fixed NPE during transaction recovery.
* Fixed NPE on snapshot create operation for in-memory cluster.
* Fixed StoredCacheData removing when a node filter is set.
* Fixed WAL logging to an archived segment after node restart.
* Fixed an issue when IgniteLock cannot be acquired after release on JDK 17.
* Fixed an issue when TTL is not set for entries inserted with "insert from select" query.
* Fixed an issue when a transaction never finishes on timeout when deadlock detection is disabled.
* Fixed an issue where continuous queries caused excessive memory usage.
* Fixed assertion error in case of empty SQL query.
* Fixed assertion error on defragmentation.
* Fixed broken serialization of communication messages due to incorrect GridCacheQueryRequest class marshalling.
* Fixed continuous queries backup ack message sending for expired entries.
* Fixed deprecation of PartitionLossPolicy (READ_ONLY_ALL, READ_WRITE_ALL).
* Fixed doubled serialization of CQ event oldValue field for REMOVE/EXPIRY events.
* Fixed duplicate index error after CREATE INDEX IF NOT EXISTS on different tables.
* Fixed erroneous logging of failed index rebuild.
* Fixed exception message for transaction timeout before data lock acquired.
* Fixed failure on sqlOnHeapCache=enabled and more than one index used.
* Fixed histogram metric configuration restore on node restart.
* Fixed in-memory server node crashing by TcpIgniteClient.putAllConflict() if cache objects transformation applied.
* Fixed log message about sending and receiving partition file during snapshot restore.
* Fixed log message of snapshot create operation with the warning result.
* Fixed negative duration in the SQL query system view.
* Fixed node crash due to SecurityContext not found during discovery message processing.
* Fixed opencensus-exporter-trace-zipkin dependency scope.
* Fixed possibility to create two caches with the same schemas and index names.
* Fixed possible failures of cache operations when performed through a thin client with Partition Awareness enabled.
* Fixed server nodes crashing if the cache directory contains illegal chars.
* Fixed snapshot creation failing when check throws an exception.
* Fixed snapshot restore metrics is case of an error on prepare.
* Fixed snapshot restore rollback if start cache stage failed.
* Fixed startup on Java 21.
* Fixed the defragmentation can't be configured to use one thread issue.
* Fixed usage of sandbox to create CacheStore.
* Fixed usage of vulnerable init setting in H2 connection.
* Fixed writing post-handshake message in NIO server.
* Removed deprecated "ssl.key.algorithm" Ignite system property - "ssl.KeyManagerFactory.algorithm" is used instead.
* Removed the GridSslContextFactory from public API.
* Updated Snappy-java dependency version to 1.1.10.4.
* Updated Spring dependency version to 5.2.25.RELEASE.
* Updated guava dependency version to 32.1.2.
* Updated jetty dependency version to 9.4.53.v20231009.
* Updated postgresql dependency version to 42.6.0.
* Updated snappy dependency version to 1.1.10.4.
* Updated zookeeper dependency version to 3.8.3.
* Updated zstd dependency version to 1.5.5.
SQL Calcite:
* Added ENFORCE_JOIN_ORDER hint.
* Added FORCE_INDEX/NO_INDEX hints.
* Added events on query execution (EVT_CACHE_QUERY_OBJECT_READ, EVT_SQL_QUERY_EXECUTION).
* Added explicit commons-codec dependency.
* Added local flag support.
* Added long-runing queries and big result-set queries warnings.
* Added metrics for CalciteQueryExecutor thread pool.
* Added partition pruning.
* Added queries timeout support.
* Added sensitive information hiding when IGNITE_TO_STRING_INCLUDE_SENSITIVE property is set to false.
* Added support of setting partitions in SqlFieldsQuery.
* Fixed CREATE TABLE ... WITH affinity_key option validation.
* Fixed NPE on write query plan to performance statistics.
* Fixed SQL metrics (added parsing metrics for the Calcite-based engine, fixed execution metrics).
* Fixed failure on planning when cache size exceeds Integer.MAX_VALUE.
* Fixed list of reserved keywords.
* Fixed memory leak in MailboxRegistryImpl#remotes.
* Fixed performance statistics collection.
* Fixed placeholder values from ModifyNode.
* Fixed primary key inline size calculation.
* Fixed query leak on remote fragment initialization phase failure.
* Fixed the query freezes when partitions are set issue.
* Updated calcite dependency version to 1.34.0.
Control utility:
* Added JMX commands invoker.
* Added compact footer usage statistics to the idle_verify command.
* Added descriptions and values to the properties list command.
* Added node Consistent ID to the index validate command output.
* Added number of partitions processed by the index worker to the output of the index commands.
* Added support of SslContextFactory to CommandHandler (instead of GridSslBasicContextFactory).
* Added support of custom SSL factory.
* Added the cache create command.
* Added the multiple nodes argument to the 'indexes_force_rebuild' and 'schedule_indexes_rebuild' commands.
* Fixed connectable nodes list.
* Fixed control utility module location for slim and LGPL assemblies.
* Fixed idle_verify hash conflicts for expiring entries.
* Fixed result printing of performance statistics subcommands.
* Fixed the page size of cache scan command to meet the limit argument.
Java thin client:
* Added Service Awareness feature.
* Fixed Java thin client socket#open timeout to ClientConfiguration#timeout property.
* Fixed cache objects transformation in Java thin client.
* Fixed potential SocketChannel leak on failed connection.
* Removed artificial port range upper limit of 49151.
Ignite .NET:
* Fixed node crash due to OverflowException in Callbacks.ConsoleWrite.
Ignite .NET thin client:
* Added partition awareness support for types with affinity key.
Apache Ignite In-Memory Distributed Database 2.15.0
-----------------------------------------------------------
(!) WARNINGS:
* Removed deprecated daemon mode for Ignite nodes.
* Removed deprecated ignitevisorcmd tool.
* Removed legacy JMX metric beans (ThreadPoolMXBean, CacheGroupMetricsMXBean, CacheMetricsMXBean, PersistenceMetricsMXBean, DataStorageMetricsMXBean, DataRegionMetricsMXBean).
* Removed redundant ignite-spring to ignite-indexing module dependency. If you use SQL in Ignite and get Ignite dependency via maven, check that you have explicit dependency to the one of the SQL engines (ignite-indexing or ignite-calcite).
* Moved ignite-ssh module to the ignite-extensions.
* Deprecated lazy flag of SqlFieldsQuery. Default value for this flag is changed to 'true'.
* Operations on atomic caches within transactions are forbidden by default now. To allow such operations set system property IGNITE_ALLOW_ATOMIC_OPS_IN_TX to 'true'.
Ignite:
* Added new feature: Incremental snapshots.
* Added cache objects transformation feature (this can be used to encrypt, compress or filter the data).
* Added support of caches with disk page compression for snapshots.
* Added ability to copy only primary partitions to snapshot.
* Added an option to skip snapshot check during restore.
* Added a snapshot exception if a data streamer is loading data with no consistency guarantee.
* Added storing of snapshot operation warnings to a meta.
* Added snapshot delta pages sorting.
* Added partition size and counter check on snapshot create.
* Added system view for Ignite configuration.
* Added "Page free space" column to pages lists system views.
* Added API to kill client (THIN, ODBJ, JDBC) connections.
* Added metrics for page read time and page replace time.
* Added thin client affinity hits/misses metric (for partition awareness requests).
* Added distributed property to disable CDC.
* Added maximum CDC directory size configuration parameter.
* Added expiry policy support for CDC.
* Added ability to provide expireTime during CDC conflict resolution.
* Added LOB and BLOB fields support to CacheJdbcPojoStore.
* Added missing "--add-opens" for Java 15+ runtime.
* Added default constructor to PlatformDotNetSessionLockResult to avoid issues with ReflectionFactory on some application servers.
* Added ability to use configured FailureHandler for segmentation handling.
* Added authorization of .NET and C++ compute tasks.
* Added authorization of Ignite Cluster Node stop/start/restart operations.
* Added authorization of SQL user management operations.
* Added 'ADMIN_CLUSTER_STATE' security permission (now it's the only required permission to change cluster state).
* Granting permissions to system compute tasks by their FQN has been replaced with predefined system permissions.
* Improved rebalance and PME logging (partition ranges disabled).
* Default metrics exporter is now the JMX exporter.
* Optimized index rebuilding (disable writing of WAL records for indexes during rebuilding).
* Optimized deactivation of large memory regions with persistence.
* Optimized zeroing of memory pages.
* Fixed lambdas serialization on Java 17.
* Fixed PDS defragmentation on Windows.
* Fixed JDBC connection leak with cache.invoke() over write-behind enabled cache.
* Fixed an issue that could lead to data corruption of atomic cache when a new updated entry is greater than WAL buffer size.
* Fixed snapshot create operation started from a non baseline node.
* Fixed snapshot inconsistency if it was taken under cache workload.
* Fixed snapshot cancel if one path is configured for several nodes.
* Fixed snapshot restore hanging if the prepare stage fails.
* Fixed ignite-cdc stopping on client node crush.
* Fixed ignite-cdc.sh start failure with non-defailt work directory.
* Fixed CdcMain state committing during index rebuild.
* Fixed CdcConsumer stopping on ignite-cdc.sh stop.
* Fixed the metric for the number of active client sessions.
* Fixed calculation of cache group storage size related metrics (PagesFillFactor, TotalUsedPages, TotalAllocatedPages).
* Fixed assertion on histogram update if currentTimeMillis decreases.
* Fixed REST status code in case of failed request.
* Fixed an issue that could lead to skipping 3rd party cache store while executing the REST API GET command.
* Fixed execution options propagation for compute methods.
* Fixed possible assertion in Communication SPI when the paired connections are set.
* Fixed potential data loss on historical rebalance.
* Fixed WAL timeout rollover.
* Fixed incorrect assertion on CRC calculation when disk page compression is enabled.
* Fixed node start failure if cpMapSnapshot.bin file is corrupted.
* Fixed PDS corruption on checkpoint after deactivation.
* Fixed PDS corruption on deactivation during entries expire.
* Fixed node failure on rebalancing during caches stop.
* Fixed NPE in case of simultaneous cache destroy and transaction rollback.
* Fixed incorrect id check in ClusterGroup.forNodeId.
* Fixed broken affinity after thick client reconnection.
* Fixed near cache creation on non-affinity nodes.
* Fixed possible memory corruption because of insufficient size of compression buffer.
* Fixed skipping verification of index and metastorage partitions in the snapshot verification process.
* Fixed criteria skipping after first IN clause for IndexQuery.
* Fixed WalWritingRate metric for LOG_ONLY and BACKGROUND modes.
* Updated log4j2 dependency to version 2.20.0.
* Updated Jetty dependency to 9.4.49.v20220914.
* Updated Jackson Databind dependency to 2.14.0.
* Updated postgresql dependency to 42.5.0.
* Updated Netty dependency to 4.1.89.Final.
* Updated Ant dependency to 1.10.13.
* Updated Apache Calcite dependency to 1.32.0.
Control utility:
* Added cache clear command.
* Added cache scan command.
* Added multiple partitions support to consistency repair command.
* Added broken partitions list printing to idle-verify command.
* Added result saving into log file to idle_verify command.
* Improved entries versions checking by idle_verify command.
* Added a command to configure Histogram and Hitrate metrics.
* Added a command to forcefully resend CDC cache data.
* Added a command to delete segment CDC links before last gap.
* Added unified syntax for starting and canceling snapshot operations using control script.
* Added the ability to get a view from multiple nodes.
* Logging mechanism moved to IgniteLogger.
Java thin-client:
* Added endpoints discovery feature.
* Added ClientConfiguration.clusterDiscoveryEnabled configuration property.
* Added events listening.
* Added connections balancing (use random open connection for requests instead of default).
* Added configurable logging.
* Fixed the pending requests race on close.
Ignite .NET:
* Added support for default interface methods to Services.
* Added support for Native AOT.
* Added IgniteClientConfiguration.EnableClusterDiscovery thin client configuration property that can be used to enable or disable discovery.
* Fixed marshalling of nested binarizable structures with different schemas.
* Fixed startup on Java 15+.
* Fixed platform cache invalidation on client nodes with near cache.
* Fixed missing DLLs in release package.
Ignite C++:
* Added ability to use java-based continuous query remote filters to C++ thick clients.
* Fixed SIGSEGV on thin client connection close.
ODBC:
* Fixed handling of single quotes.
SQL:
* Fixed redundant query results for commented lines.
* Fixed incorrect type conversion for index scans (for example, when indexed field has string data type and search row has numeric data type).
* Fixed potential deadlock in discovery thread while updating SQL statistics.
Calcite-based SQL engine:
* Added ability to set up global heap memory quota and per-query hep memory quota.
* Added ability to scan inlined keys of indexes without additional requests to data pages.
* Added native support for SEARCH/SARG operator (this makes possible index scans for IN and some other conditions).
* Added support for LocalDate/LocalTime types.
* Added support of index scans on boolean fields.
* Added EVERY/SOME aggregate functions.
* Added details to Calcite parser exception.
* Added new distribution type (optimization to make some joins colocated).
* Added optimization for COUNT(column) if column is indexed.
* Added optimization: merge index conditions for the same field.
* Added optimization: use index first/last value for min()/max() aggregates.
* Added optimization: push not correlated filter part to the table scan.
* implemented query metadata, required for ODBC and JDBC.
* Optimized index scans with conditions containing NULLs.
* Fixed scans to exclude expired entries.
* Fixed row count estimate by limit with offset.
* Fixed CAST error from numbers to boolean.
* Fixed NPE on DML on non-existed table.
Apache Ignite In-Memory Distributed Database 2.14.0
-----------------------------------------------------------
(!) WARNINGS:
* Java thin client retrieves BinaryConfiguration from server and overrides configured and/or default properties.
The behavior is defined by ClientConfiguration#isAutoBinaryConfigurationEnabled.
This is a breaking change for users who use POJO as cache keys and rely on default BinaryConfiguration.
* Removed LOCAL caches support.
* Removed scalar module.
Ignite:
* Added CDC binary meta change events.
* Added a control.sh command that schedules index rebuild via the maintenance mode.
* Added a pluggable affinity mapping function for the partition awareness usage.
* Added a snapshot creation operation metrics.
* Added a snapshot status command to control.sh and JMX.
* Added a user info to the sql queries view.
* Added an opportunity to specify a single partition for IndexQuery.
* Added cache change events for CDCConsumer.
* Added cache metrics command for Control Script.
* Added support of optional beans for SpringResource annotation injection.
* Added system view and histogram to show the distribution of hot and cold pages in the page memory.
* Added the ability to define a custom path for the snapshot operation.
* Added the ability to intercept calls to service methods.
* Fixed 'Integer value is out of bounds' issue when the dataregion maxSize is large enough.
* Fixed 'Invalid cross-device link error' when extending WAL segments size.
* Fixed ClassCastException that appears during deployment manager stop in Java versions 11.0.16+ and 17.0.4+.
* Fixed an issue that caused inconsistent keys after deletion during rebalance.
* Fixed an issue that could lead to a block of the management pool in case of using clearSync.
* Fixed an issue that could lead to unexpected partition map exchange on client nodes.
* Fixed an issue where the snapshot error was not propagated to the initiating node.
* Fixed an issue with potential node failure during the cancellation of computing jobs with cache operations.
* Fixed applying expiration to CDC-replicated cache entries.
* Fixed asynchronous operation permits overflow for explicit transaction with single write entry.
* Fixed durable background task start on BLT node joined to the active cluster.
* Fixed idle_verify command of control.sh utility.
* Fixed incorrect node hostname resolution despite IP is configured with IGNITE_LOCAL_HOST.
* Fixed incorrect params of GridCacheManager#stop method.
* Fixed node resolving stale addresses from previously restarted and killed nodes.
* Fixed nofication for node start event.
* Fixed partition update counter tracking after the node restart.
* Fixed potential deadlock in transactions recovery on node failure.
* Fixed propagation of a service call exception stacktrace to the client side.
* Fixed race condition in GridNioServer.
* Fixed server-side message parsing for big messages from thin clients.
* Fixed tasks for sending snapshot files.
* Fixed the "io.datastorage.StorageSize" metrics in case of multiple persistence data regions.
* Fixed the move of remote partition files during snapshot restore operations.
* Fixed the run of ignitevisorcmd in JDK 17 environment.
* Fixed writing of an empty binary object.
* Fixed wrong checkpoint locks count calculation after lock timeout (wrong calculation leads to node failure in some cases).
* Improved REST commands: skip authorization for 'Probe' and 'Version' commands.
* Improved `--consistency repair` command of the control.sh utility; Read Repair now supports arrays and collections as values.
* Improved `--consistency repair` command of the control.sh utility; Read Repair now supports binary keys.
* Improved `--consistency repair` command of the control.sh utility; atomic caches can now be repaired by Read Repair.
* Improved behavior of the speed-based throttling when a dirty-page ratio is low.
* Improved consistency check, it now supports cacheGroup as a param as well.
* Improved consistency check, it's now able to fix counters.
* Improved index-reader.sh utility: add free size calculation.
* Improved index-reader.sh utility: analyze and output information about the actual usage of inline space in the index.
* Improved index-reader.sh utility: exclude repeated stack traces.
* Improved inline size adjustment for fixed size index items.
* Improved logging levels for situations when dealing with a client node.
* Improved registered service name lookup performance and reduced service shutdown time.
* Improved service name lookup performance and reduced service startup time.
* Improved speed of the index-reader.sh utility.
* Moved ignite-cloud IP Finder to the Ignite Extensions project.
* Moved ignite-mesos to the Ignite Extensions project.
* Moved ignite-spark modules to the Ignite Extensions project.
* Moved ignite-yarn to the Ignite Extensions project.
* Moved inigte-aop module to the Ignite Extensions project.
* Removed deprecated log4j 1.x module.
* Update Tomcat Servlet API dependency version to 9.0.63.
* Update jsonpath dependency to 2.7.0.
* Updated Jackson Databind dependency to 2.12.7 (CVE-2020-36518).
* Updated Jetty dependency to 9.4.43.
* Updated Lucene library version to 8.11.2.
* Updated Spring dependency to 5.2.22.
* Updated the MySql connector dependency version (fixes CVE-2021-2471, CVE-2022-21363).
Java thin client:
* Added AtomicLong.
* Added IgniteSet.
* Added automatic binary configuration. Name mapper and compact footer settings will be set according to cluster configuration.
* Added partition awareness to AtomicLong - send network requests directly to the primary node for the given instance.
* Added support of IndexQuery feature in Java thin client.
* Fixed an issue that caused addresses not to be reloaded from ClientAddressFinder on connection loss.
* Fixed hang on client startup when deprecated TLS version is used.
* Fixed race condition and potential hang on client close.
JDBC:
* Fixed handling of BinaryObjectException on response to deserialization at the thin JDBC client
* Fixed parsing quoted delimiters in CSV fields content for SQL command COPY.
.NET thin client:
* Added AtomicLong.
* Added IgniteSet.
.NET:
* Added service interceptors.
* Fixed StringComparer serialization.
* Fixed net461 release binaries.
* Improved Java detection on Linux.
C++ thin client:
* Added partition property to SqlFieldsQuery for C++ thin client.
* Added support ScanQuery for C++ thin client.
* Added user thread pool size to public configuration of the C++ thin client.
SQL:
* Added segmented indexes support for Calcite engine.
* Added support for IN criterion for IndexQuery: IndexQuery.setCriteria(in("A", Arrays.asList(1, 2 ,3))).
* Calcite-based SQL engine is now independent of H2-based SQL engine and doesn't require 'ignite-indexing' module and H2 to be in classpath anymore.
* Fixed incorrect query result if a subquery with a filter was used on the left shoulder of a LEFT JOIN.
* Fixed indexes registration after add/drop column for Calcite engine.
* Fixed insertion of values with java LocalDate, LocalTime and LocalDateTime types via SQL.
* Improved SQL calcite: use index count scan for COUNT(*).
Apache Ignite In-Memory Distributed Database 2.13.0
-----------------------------------------------------------
(!) WARNINGS:
* The deprecated legacy service grid implementation was removed.
Ignite:
* Added 'snapshotTransferRate' distributed property to limit the rate at which snapshot files are created.
* Added CDC hard links check on startup.
* Added JDBC and ODBC batching support in Calcite query engine.
* Added JMX management and metrics for snapshot restore operation.
* Added Maintenance task to rebuild corrupted indexes.
* Added SNAPSHOT system view to show local snapshots.
* Added a ServiceCallContext that allows implicitly pass additional parameters on every service call.
* Added a special option to run snapshot commands synchronously using control.sh.
* Added an ability for plugins to provide topology validator as extension.
* Added dynamic restoration of encrypted snapshots.
* Added ignite-parent pom and bom artifacts to the Ignite release lifecycle.
* Added new experimental, Apache Calcite based SQL engine.
* Added non default page size support to CDC.
* Added saving settings for transactions monitoring to disk.
* Added separate JVM options for ignite-cdc.sh and ignite.sh.
* Added separate configuration for system data region.
* Added serialization of the partition map to the disk to avoid long start up of the node.
* Added services method invocation duration histogram metric.
* Added support for JDK 17.
* Added support of IGNITE_TO_STRING_INCLUDE_SENSITIVE option by Сonsistency check command.
* Added support of status option in the Control.sh consistency check command.
* Added task execution time metric to thread pools.
* Added the LifecycleAware interface support for local event listeners.
* Added the ability to change the priority of a compute task if PriorityQueueCollisionSpi is configured.
* Deprecated IgniteServices#service(String) and IgniteServices#services(String).
* Deprecated the IGNITE_WAIT_FOR_BACKUPS_ON_SHUTDOWN system property.
* Deprecated the ignite-log4j module.
* Fixed CDC state restore when record contains multiple DataEntry.