forked from apache/ignite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE_NOTES.txt
856 lines (771 loc) · 40.3 KB
/
RELEASE_NOTES.txt
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
Apache Ignite Release Notes
===========================
Apache Ignite In-Memory Database and Caching Platform 2.7.6
-----------------------------------------------------------
Ignite:
* Changed default persistence directory location when IGNITE_HOME is not set, native persistence files will not be stored in the temp directory anymore
* Fixed a bug that caused a SELECT query with an equality predicate on a part of the primary compound key to return a single row even if the query matched multiple rows
* Fixed an issue that could cause data corruption during checkpointing
* Fixed an issue where a row size was calculated incorrectly for shared cache groups, which caused a tree corruption
* Reduced java heap footprint by optimizing GridDhtPartitionsFullMessage maps in exchange history
* Fixed an issue where an outdated node with a destroyed cache caused the cluster to hang
* Fixed a bug that made it impossible to change the inline_size property of an existing index after it was dropped and recreated with a different value
* Fixed an issue causing silent control.sh script fail when JAVA_HOME is not set
* Fixed an issue causing sporadic node failure when persistence is enabled and WAL mmap is disabled
* Fixed an issue causing potential PDS corruption when a node is killed during checkpoint mark phase
Ignite .NET:
* Native persistence now works with a custom affinity function
* Fixed missing CacheEntryEventType.Removed event
Apache Ignite In-Memory Database and Caching Platform 2.7.5
-----------------------------------------------------------
Ignite:
* Added Java 11 support
* Fixed infinite looping during SSL handshake, affecting Java 11/Windows
* Fixed storage corruption case after incorrectly rotated page
* Erroneous WAL record after incorrectly rotated page processed automatically
* Addressed ignite.sh failure on Mac OS and Linux, affecting Java 11
* Launch scripts and some Ignite initialization steps were fixed for Java 12
* Fixed indexes corruption on node stop under load
* Fixed case of node crash during node deactivation
* Error message with advice about required JVM parameters printed when Java 9+ is used
* Introduced SYSTEM_CRITICAL_OPERATION_TIMEOUT failure type
Apache Ignite In-Memory Database and Caching Platform 2.7
---------------------------------------------------------
Ignite:
* Added experimental support for multi-version concurrency control with snapshot isolation
- available for both cache API and SQL
- use CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT to enable it
- not production ready, data consistency is not guaranteed in case of node failures
* Implemented Transparent Data Encryption based on JKS certificates
* Implemented Node.JS Thin Client
* Implemented Python Thin Client
* Implemented PHP Thin Client
* Ignite start scripts now support Java 9 and higher
* Added ability to set WAL history size in bytes
* Added SslContextFactory.protocols and SslContextFactory.cipherSuites properties to control which SSL encryption algorithms can be used
* Added JCache 1.1 compliance
* Added IgniteCompute.withNoResultCache method with semantics similar to ComputeTaskNoResultCache annotation
* Spring Data 2.0 is now supported in the separate module 'ignite-spring-data_2.0'
* Added monitoring of critical system workers
* Added ability to provide custom implementations of ExceptionListener for JmsStreamer
* Ignite KafkaStreamer was upgraded to use new KafkaConsmer configuration
* S3 IP Finder now supports subfolder usage instead of bucket root
* Improved dynamic cache start speed
* Improved checkpoint performance by decreasing mark duration.
* Added ability to manage compression level for compressed WAL archives.
* Added metrics for Entry Processor invocations.
* Added JMX metrics: ClusterMetricsMXBean.getTotalBaselineNodes and ClusterMetricsMXBean.getActiveBaselineNodes
* Node uptime metric now includes days count
* Exposed info about thin client connections through JMX
* Introduced new system property IGNITE_REUSE_MEMORY_ON_DEACTIVATE to enable reuse of allocated memory on node deactivation (disabled by default)
* Optimistic transaction now will be properly rolled back if waiting too long for a new topology on remap
* ScanQuery with setLocal flag now checks if the partition is actually present on local node
* Improved cluster behaviour when a left node does not cause partition affinity assignment changes
* Interrupting user thread during partition initialization will no longer cause node to stop
* Fixed problem when partition lost event was not triggered if multiple nodes left cluster
* Fixed massive node drop from the cluster on temporary network issues
* Fixed service redeployment on cluster reactivation
* Fixed client node stability under ZooKeeper discovery
* Massive performance and stability improvements
Ignite .Net:
* Add .NET Core 2.1 support
* Added thin client connection failover
Ignite C++:
* Implemented Thin Client with base cache operations
* Implemented smart affinity routing for Thin Client to send requests directly to nodes containing data when possible
* Added Clang compiler support
SQL:
* Added experimental support for fully ACID transactional SQL with the snapshot isolation:
- use CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT to enable it
- a transaction can be started through native API (IgniteTransactions), thin JDBC driver or ODBC driver
- not production ready, data consistency is not guaranteed in case of node failures
* Added a set of system views located in "IGNITE" schema to view cluster information (NODES, NODE_ATTRIBUTES, NODE_METRICS, BASELINE_NODES)
* Added ability to create predefined SQL schemas
* Added GROUP_CONCAT function support
* Added string length constraint
* Custom Java objects are now inlined into primary and secondary indexes what may significantly improve performance when AFFINITY_KEY is used
* Added timeout to fail query execution in case it cannot be mapped to topology
* Restricted number of cores allocated for CREATE INDEX by default to 4 to avoid contention on index tree Fixed transaction hanging during runtime error on commit.
* Fixed possible memory leak when result set size is multiple of the page size
* Fixed situation when data may be returned from cache partitions in LOST state even when PartitionLossPolicy doesn't permit it
* Fixed "Caches have distinct sets of data nodes" during SQL JOIN query execution between REPLICATED and PARTITIONED caches
* Fixed wrong result for SQL queries when item size exceeds the page size
* Fixed error during SQL query from client node with the local flag set to "true"
* Fixed handling UUID as a column type
JDBC:
* Implemented DataSource interface for the thin driver
ODBC:
* Added streaming mode support
* Fixed crash in Linux when there are more than 1023 open file descriptors
* Fixed bug that prevented cursors on a server from being closed
* Fixed segmentation fault when reusing a closed connection
Web Console:
* Added new metrics: WAL and Data size on disk
* Added support for "collocated" query mode on Query screen
* Added support for Java 9+ for Web Agent.
* Added ability to show/hide password field value
* Implemented execution of selected part of SQL query
* Implemented explain of the selected part of SQL query
* Implemented connection to a secured cluster
* Implemented responsive full-screen layout
* Split "Sign In" page to three separate pages
* UI updated to modern look and feel
* Improved backend stability
* Fixed fail when working with web sockets
REST:
* Added option IGNITE_REST_GETALL_AS_ARRAY for array format in "getAll" call
Visor:
* Added output of node "Consistent ID"
* Visor now collects information about cache groups instead of separate caches to reduce memory consumption
* Improved help for "start" command
* Fixed output of cache metrics
Control utility:
* Added information about transaction start time
* Added command to collect information about a distribution of partitions
* Added command to reset lost partitions
* Added support for empty label (control.sh --tx label null)
* Added atomicity mode to utility output.
* Added orphaned local and remote transactions and ability to rollback them
* Added "--dump" flag to dump current partition state to file.
* Renamed command argument '--force' to '--yes'
* Removed "initOrder" and "loc keys" from an info
* Fixed control utility hanging when connected to a joining node with PME
ML:
* Added TensorFlow integration
* Added Estimator API support to TensorFlow cluster on top of Apache Ignite
* Added ANN algorithm based on ACD concept
* Added Random Forest algorithm
* Added OneHotEncoder for categorical features
* Added model estimation
* Added K-fold cross-validation for ML models
* Added splitter for splitting the dataset into test and train subsets
* Added ability of filtering data during datasets creation
* Added encoding categorical features with One-of-K Encoder
* Added MinMax scaler preprocessor
* Added gradient boosting for trees
* Added indexing for decision trees
* Added GDB convergence by error support
* Added ability to build pipeline of data preprocessing and model training
* Added ability to start and maintain TensorFlow cluster on top of Apache Ignite
* Added support of Multi-Class for Logistic Regression
* Implemented distributed binary logistic regression
Dependency updates:
* Apache Camel updated to 2.22.0
* Apache Commons Beanutils updated to 1.9.3
* Apache Hadoop Yarn updated to 2.7.7
* Apache Kafka updated to 1.1.0
* Apache Lucene updated to 7.4.0
* Apache Mesos updated to 1.5.0
* Apache Tomcat updated to 9.0.10
* Apache Zookeeper updated to 3.4.13
* Guava updated to 25.1-jre
* Jackson Databind updated to 2.9.6
* Jackson 1 usages replaced with Jackson 2
* JCraft updated to 0.1.54
* H2 version updated to 1.4.197
* Log4j 2.x updated to 2.11.0
* Netty updated to 4.1.27.Final
* RocketMQ updated to 4.3.0
* Scala 2.10.x was updated to 2.10.7
* Scala 2.11.x updated to 2.11.12
Apache Ignite In-Memory Database and Caching Platform 2.6
---------------------------------------------------------
Ignite:
* Fixed incorrect calculation of client affinity assignment with baseline.
* Fixed incorrect calculation of switch segment record in WAL.
* Fixed JVM crush during in-progress eviction and cache group stop.
REST:
* Fixed serialization of BinaryObjects to JSON.
Apache Ignite In-Memory Database and Caching Platform 2.5
---------------------------------------------------------
Ignite:
* Implemented Zookeeper discovery SPI.
* Added Java thin client.
* Added continuous queries with transformers.
* Implemented general approach for critical failures handling.
* Added the new method IgniteMXBean.getCurrentCoordinatorFormatted() which displays formatted information about current coordiantor.
* Added partition update counters verification on partition map exchange.
* Added ability to disable WAL during initial data rebalancing.
* Added additional data storage metrics
* Added additional transactional metrics.
* Added DEB package and improved RPM package.
* Added information about fields serialization/deserialization errors in BinaryMarshaller.
* Added configurable automatic rollback timeout for pending transactions preventing partition map exchange to complete.
* Added preventing infinite iterations of corrupted B+Tree. New IGNITE_BPLUS_TREE_LOCK_RETRIES property was added, default value is Integer.MAX_VALUE.
* Implemented handling of broken segment in WAL compaction.
* Fixed affinity to always choose primary node from one of the owners when persistence is enabled.
* Partition eviction now does not block exchange.
* Fixed the issue that prevented rebalancing on a new baseline node join.
* Fixed potential deadlock during preloading.
* Fixed exception handling in IsolatedUpdater of DataStreamer.
* Fixed the issue when ComputeTaskFuture.get() threw a trimmed exception chain: now full exception chain is propagated to the caller; the exception thrown from IgniteCompute methods may now differ from the previous behavior.
* Fixed null value being passed to entry processor when such entry actually exists.
* Fixed problem when cluster could not survive after IgniteOutOfMemoryException.
* Fixed NullPointerException on batch atomic cache operations with cache store.
* Fixed bug with ScanQuery transformer which applies to the first result page only.
* Fixed hanging of node stopping in case when node is invalidated and persistence is enabled.
* BinaryMetadata exchange is triggered only if there are actual changes in BinaryMetadata.
* Fixed contention while executing parallel atomic single get operations.
* Fixed cache metadata corruption during concurrent checkpoint and cache destroy.
* Implemented additional synchronization for correct partition counters update on partition map exchange.
* Optimized checkpoint lock acquisition for demander thread.
* Destroyed caches with enabled persistence now will not survive grid restart.
* Nodes with incompatible SQL metadata will not be able to join grid. This fixes known case for index corruption.
* Fixed fillFactor memory metric value.
* Fixed bug with checkpoint buffer overflow with enabled throttling.
* Fixed crash recovery problem when index tree could reference to removed data pages.
* Fixed error during cluster initialization with partially acceptable WAL archive.
* Fixed issue with local partitions size changing inside checkpoint write lock.
* Fixed LOG_ONLY and BACKGROUND modes to be power-crash resistant.
* Fixed incorrect finishing of implicit transactions on unstable topology.
* Fixed incorrect mapping of smallint Cassandra type.
* Introduced log markers support to IgniteLogger and standard DEV_ONLY marker.
* Changed Log4J and Log4J2 adapters to update active logger configuration when configuration source file is modified.
* Fixed sqlline.sh script to use Java from JAVA_HOME.
* Improved Docker image build.
* Default and recommended JVM options are updated.
Ignite .Net:
* Added SSL configuration for node-to-node links.
* Added dynamic service proxies.
* Propagated query metrics to ICache.GetQueryMetrics() and ICache.ResetQueryMetrics().
* DML update via LINQ.
* Fixed hang caused by mishandled exception during custom cache store deserialization.
* Fixed GroupBy and Where issues in LINQ.
* .Net thin client SSL support.
Ignite C++:
* Fixed bug with LocalSize cache method.
SQL:
* Implemented COPY command for fast data load.
* Added support of authorization for CREATE TABLE and DROP TABLE commands.
* Improved deadlock handling in DML.
* Added IGNITE_SQL_FORCE_LAZY_RESULT_SET option to force all SQL queries on node using lazy result set.
* Fixed SQL query hang if cluster contains nodes not in baseline.
JDBC:
* Added SSL support.
* Added authentication.
* Added streaming mode to thin driver.
* Semicolon now can be used as delimiter for properties in URL string.
* Changed default socket buffer size to 64Kb in thin driver.
* Added FQDN to thin client in order to support multiple IPs for connection establishment.
ODBC:
* Added SSL support.
* Implemented username/password authentication.
* Added support of multiple addresses in connection string.
* Added support for SQL_ATTR_LOGIN_TIMEOUT.
Web Console:
* Added support for persistence in demo mode.
* Configuration screen is reworked to new modern design with improved usability.
* Implemented support for comma-separated list of node URIs.
* Fixed Docker file generation.
* Fixed code generation for large numbers in configuration params.
* Fixed demo for non-collocated joins.
* Fixed enum values decoding for SQL queries.
* Upgraded build to use Webpack 4.
REST:
* Added AUTHENTICATE command.
* Added support for new authentication API.
* Implemented possibility to get values from cache inserted via API or SQL.
* Enhanced GET_OR_CREATE_CACHE command with optional "templateName", "backups", "cacheGroup", "dataRegion" and "writeSynchronizationMode" options.
* Added support of Java built-in types (boolean, int, long, ..., UUID) for put/get operations.
Visor:
* Added "cache -slp" and "cache -rlp" commands to show and reset lost partitions for specified cache.
* Added scan queries of near cache support.
Control utility:
* Added utilities to control.sh script to display cache info.
* Added new tools (control.sh --tx, TransactionsMXBean) to view active transactions and ability to kill them .
* Added confirmation on dangerous operations.
* Fixed NullPointerException in case of empty base line and not active cluster.
* Fixed timeout on changing baseline in control.sh
ML:
* Implemented framework for genetic algorithms over Apache Ignite caches.
* Implemented LSQR-based linear regression.
* Implemented Linear SVM for binary classification.
* Implemented distributed version of SVM (support vector machine) algoritm.
Apache Ignite In-Memory Database and Caching Platform 2.4
---------------------------------------------------------
Ignite:
* Introduced Baseline Affinity Topology
* Ability to disable WAL for cache in runtime through IgniteCluster API or ALTER TABLE command
* Added ability to convert WAL to human-readable form
* Ability to enable/disable JDBC, ODBC and thin client endpoints
* Project moved to Java 8
* Java 7 is no longer supported
* Apache Ignite can be run on Java 9
* Introduced Apache Ignite packaging with RPM
* Spark Data Frames support
* Added integration with Spring 3.x
* Added handler to stop node when IO error is encountered
* EvictionPolicyFactory support added to CacheConfiguration
* Added JMX metrics for memory regions
* Added detailed memory consumption on start and OOM reporting
* Added custom thread pools monitoring
* Support Ignite MR in Kerberized environment without IGFS
* S3 IP finder: support server side encryption and bucket endpoint configuration
* Multiple fixes and performance optimizations
Ignite.NET:
* Thin Client initial release
* .NET Core / Linux / macOS support
* Mono platform support
* Removed C++ JNI layer
SQL:
* Added DEFAULT support to CREATE TABLE command
* Added ALTER TABLE DROP COLUMN support
* Added INLINE_SIZE option to CREATE INDEX command
* Added PARALLEL option to CREATE INDEX command
* Added optional on-heap row cache
* INSERT command now can be executed without explicit column names (INSERT INTO table VALUES ...)
* Allowed multiple caches to share the same schema
* Added support for Java 8 Date and Time API
* Added "notNull" property to QuerySqlField annotation
* Improved COUNT(*) performance
* Fixed a problem causing an exception in certain nodes do not have primary partitions for REPLICATED cache
* Fixed per-thread H2 connection leak.
* Fixed partition exchange hang due to SQL query running inside a transaction.
JDBC Driver:
* Optimized batched operations processing
ODBC Driver:
* Added support of multiple statements execution with one call
* Added support of SQL_ATTR_CONNECTION_TIMEOUT
* Added support of SQL_ATTR_QUERY_TIMEOUT
* Optimized batched operations processing
* Proper handling of ungraceful TCP disconnects (keep-alive connection)
* Fixed error preventing close of executed DML statement
* Fixed table names returned by SQLTables for DDL-created tables
Machine Learning:
* Implemented Fuzzy c-means algorithm
* Implemented gradient descent for OLS Linear Regression
* Implemented K nearest neighbor algorithm
* Introduced API for datasets
* Introduced API for ML model and trainers
* Introduced common mechanism for group training of models
* Added distributed version of multilayer perceptron
* Added local version of multilayer perceptron
* Added basic import/export functionality for ml models
* Added decision tree algorithm
* Performance optimizations for distributed operations
Web Console:
* Implemented component for cluster selection and activation
* Implemented support for multiple statements on Queries screen
* Implemented progress indication for 'execute', 'scan' and 'export' actions on Queries screen
* Added support for ClientConnectorConfiguration
* Added several SQL examples on Queries screen
* Added "Connected clusters" component in header
* Added support for custom SMTP server configuration
* Added detection of CSV separator based on browser locale
* Added "Copy to clipboard" action on Queries screen
* Added duration and node ID in results header and 'Show query' modal
* Improved support for binary JDBC types on import from RDBMS
* Fixed Web Console under IE11
* Fixed configuration generation for imported model in case of Oracle NUMBER(5) data type
* Fixed output of big numbers in SQL query results
Visor:
* Added "-quiet" flag for batch mode
* Added ability to start cache rebalance
* Added output of data region metrics to "node" command
* Added dialog to put/get/remove values to/from cache for simple key types
* Show valid message for caches when cluster is inactive
* Fixed 'cache -a' in case of node filter
* Fixed reading last command line in batch mode
* Updated eviction policy factory in configs
Apache Ignite In-Memory Database and Caching Platform 2.3
---------------------------------------------------------
Ignite:
* Ability to enable persistence per data region.
* Default page size is changed to 4KB.
* Ability to enable and disable rebalancing per-node.
* Added methods for batch services deployment.
* Introduced cache start/stop order on cluster activation.
* EstimatedRebalancingFinishTime and RebalancingStartTime metrics are exposed through MXBean interface.
* Ability to (de)activate cluster via http-rest API.
* Added Ignite update notifier.
* Updated Lucene dependency to version 5.5.2.
* Added an option to disable MBeans.
* Added sorted and multithreaded checkpoint modes.
* Added calculation of fill factor memory metric in persistent mode.
* Added estimated time for rebalance start and completion to cache metrics.
* Added API to add binary metadata locally.
* Added write throttling during an ongoing checkpoint to avoid zero performance drops.
* Ability to convert WAL to human-redable form.
* Ability to handle CacheObject from DataRecord in standalone WAL iterator.
* Support for uninterruptable writes using AsyncFileIOFactory; enabled with -DIGNITE_USE_ASYNC_FILE_IO_FACTORY=true.
* Enhanced persistent store path resolving to not rely on automatically generated consistent ID.
* Pre-configure local event listeners with IgniteConfiguration.LocalEventListeners.
* Massive performance and stability improvements.
Ignite.NET:
* LINQ: Local collections joins support.
* LINQ: Regex support.
Ignite CPP:
* Added Compute::Broadcast method.
* Added Ignite::SetActive method.
SQL:
* Added sqlline utility to the build.
* CREATE TABLE: Added NOT NULL support.
* CREATE TABLE: Ability to specify cache, key type and value type names.
* CREATE TABLE: Added "WRAP_KEY" and "WRAP_VALUE" options to CREATE TABLE command.
* CREATE TABLE: Added DATA_REGION option.
* CREATE TABLE: Added WRITE_SYNCHRONIZATION_MODE option.
* ALTER TABLE: ADD COLUMN support.
* Added lazy query execution mode (SqlFieldsQuery.setLazy).
* Added QuerySqlField.inlineSize property.
* Added FieldsQueryCursor interface to get fields metadata for SqlFieldsQuery.
* Added QueryEntity(Class keyClass, Class valueClass) constructor.
* Improved LocalDate, LocalTime and LocalDateTime support for Java 8.
* Optimized memory consumption during query execution.
* Fixed BigInteger data type handling.
JDBC Driver:
* Batch update support.
* SQLSTATE error codes support.
* Added "enforceJoinOrder" flag to connection string.
* Added "skipReducerOnUpdate" flag.
* Thin driver: Allowed execution of multiple SQL statements in one command.
* Thin driver: Added metadata support.
* Thin driver: Added type conversions in accordance with specification.
* Thin driver: Added schema to connection string.
* Thin driver: Added Statement.closeOnCompletion() support.
* Appended UUID to thick driver's Ignite instance name to avoid collision with user-created instances.
* Fixed a bug in PreparedStatement not clearing query parameters after execution.
ODBC Driver:
* SQLSTATE error codes support.
* Support for BINARY and VARBINARY types.
* DML statement batching.
* SQL_ATTR_CONNECTION_DEAD connection attribute.
* SQLGetInfo for info types.
* Added "skipReducerOnUpdate" flag.
* SQLRowCount now returns number of affected rows for non-batch queries.
* SQLBindParameter do not unbind parameter if the ParameterValuePtr is NULL anymore.
* Fixed error on cursor closing before all the rows from the result fetched.
Machine Learning:
* Implemented K-means clustering algorithm optimized for distributed storages.
* Introduced sparse block distributed matrix.
* Initial BLAS implementation.
* Integration with BLAS via netlib.
* Added getRow() and getCol() methods to Matrix API.
Web Console:
* Improved DDL support.
* Added PK alias generation on Models screen.
* Added generation of QueryEntity.keyFields on model import from RDBMS.
* Added sanitize user on save.
* Added charts with throughput and latency metrics for cache operations.
* Added version to footer.
* Added "Lazy ResultSet" flag on Queries screen.
* Implemented refresh rate for Monitoring screen.
* Implemented cluster nodes log viewer.
Visor:
* Ability to keep connection opened in batch mode.
* Ability to activate/deactivate cluster.
* Improved cache statistics.
* Added missing configuration properties to "config" command.
* Fixed script execution after alert throttling interval.
Apache Ignite In-Memory Database and Caching Platform 2.2
---------------------------------------------------------
Ignite:
* Checkpointing algorithm optimized
* Default max memory size changed from 80% to 20%
Ignite CPP:
* Now possible to start node with persistent store
* Ignite.setActive method added to C++ API
Apache Ignite In-Memory Database and Caching Platform 2.1
---------------------------------------------------------
Ignite:
* Persistent cache store
* Added IgniteFuture.listenAsync() and IgniteFuture.chainAsync() mehtods
* Deprecated IgniteConfiguration.marshaller
* Updated Lucene dependency to version 5.5.2
* Machine learning: implemented K-means clusterization algorithm optimized for distributed storages
* SQL: CREATE TABLE and DROP TABLE commands support
* SQL: New thin JDBC driver
* SQL: Improved performance of certain queries, when affinity node can be calculated in advance
* SQL: Fixed return type of AVG() function
* SQL: BLOB type support added to thick JDBC driver
* SQL: Improved LocalDate, LocalTime and LocalDateTime support for Java 8
* SQL: Added FieldsQueryCursor interface to get fields metadata for SqlFieldsQuery
* ODBC: Implemented DML statement batching
* Massive performance and stability improvements
Ignite.NET:
* Automatic remote assembly loading
* NuGet-based standalone node deployment
* Added conditional data removeal via LINQ DeleteAll
* Added TimestampAttribute to control DateTime serialization mode
* Added local collections joins support to LINQ.
Ignite CPP:
* Added Compute::Call and Compute::Broadcast methods
Web Console:
* Implemented support for UNIQUE indexes for key fields on import model from RDBMS
* Added option to show full stack trace on Queries screen
* Added PK alias generation on Models screen.
Apache Ignite In-Memory Database and Caching Platform 2.0
---------------------------------------------------------
Ignite:
* Introduced new page memory architecture
* Machine Learning beta: distributed algebra support for dense and sparse data sets
* Reworked and simplified API for asynchronous operations
* Custom thread pool executors for compute tasks
* Removed CLOCK mode in ATOMIC cache
* Deprecated schema-import utility in favor of Web Console
* Integration with Spring Data
* Integration with Hibernate 5
* Integration with RocketMQ
* Integration with ZeroMQ
* SQL: CREATE INDEX and DROP INDEX commands
* SQL: Ability to execute queries over specific set of partitions
* SQL: Improved REPLICATED cache support
* SQL: Updated H2 version to 1.4.195
* SQL: Improved performance of MIN/MAX aggregate functions
* ODBC: Added Time data type support
* Massive performance improvements
Ignite.NET:
* Custom plugin API
* Generic cache store
* Binary types now can be registered dynamically
* LINQ: join, "contains" and DateTime property support
Ignite CPP:
* Implemented Cache::Invoke
* Added remote filters support to continuous queries
Web Console:
* Multi-cluster support
* Possibility to configure Kubernetes IP finder
* EnforceJoinOrder option on Queries screen
Apache Ignite In-Memory Database and Caching Platform 1.9
---------------------------------------------------------
Ignite:
* Added Data streamer mode for DML
* Added Discovery SPI Implementation for Ignite Kubernetes Pods
* SQL: Query can utilize multiple threads
* SQL: Improved distributed SQL support
* Benchmarking simplified and automated
* Fixed licenses generation during build
* ignite-spark module upgraded to Spark 2.0
Ignite.NET:
* DML support
* TransactionScope API for Ignite transactions support
Ignite CPP:
* DML support
* Implemented LoadCache
* ContinuousQuery support
Apache Ignite In-Memory Database and Caching Platform 1.8
---------------------------------------------------------
Ignite:
* SQL: Added DML operations support (INSERT, UPDATE, DELETE, MERGE)
* SQL: Improved DISTINCT keyword handling in aggregates
* Hadoop: Added MapR distribution support
* Visor: Improved SQL statistics
* Added Redis protocol support
* Added transactions deadlock detection
* Many stability and fault-tolerance fixes
Ignite.NET:
* ASP.NET session state store provider
* Entity Framework second level cache
* Custom loggers support: NLog, Apache log4Net
ODBC driver:
* Added DML operations support
* Added distributed joins support
* Added DSN support
* Performance improvements
Apache Ignite In-Memory Database and Caching Platform 1.7
---------------------------------------------------------
Ignite:
* Added distributed SQL JOIN.
* Node can be assigned as primary only after preloading is finished.
* Fixed CountDownLatch re-create issue.
* ODBC: Added decimal type support.
* Visor: Fixed data nodes calculation when node filter is set for cache.
* Many stability and fault-tolerance fixes.
Ignite.NET:
* Added ASP.NET Output Cache provider.
* Added ability to use .NET configuration in Apache.Ignite.exe.
* Added ability to implement custom affinity functions.
* Fixed a bug in IBinaryObjectBuilder causing type name to be lost.
Ignite CPP:
* Marshalling performance improvements.
Apache Ignite In-Memory Database and Caching Platform 1.6
---------------------------------------------------------
Ignite .NET:
* Added LINQ Provider for cache SQL queries
* Added native configuration mechanism (C#, app.config, web.config - instead of Spring XML)
* Added NuGet distribution
* Added AtomicSequence and AtomicReference data structures
* Binaries are now AnyCPU (instead of separate x64/x86)
* Java-based services can be called the same way as .NET service are called
* Added java-based continuous query filters
* Added automatic Java detection: no need for JAVA_HOME
* Added ability to use Java-based remote filters in continuous queries.
Ignite C++:
* Added Transactions API for C++ client.
* Added Date and Timestamp types implementation for C++ client.
* Simplified Autotools build process for C++ client.
Ignite:
* Added ability to get partition 'updateCntr' with continuous query public API.
* Added asynchronous execution of ContinuousQuery's remote filter and local listener.
* Added backup partitions storing to local store default behavior.
* Added cache deadlock detection.
* Added Cache Store implementation backed by Cassandra DB.
* Added method to get versioned cache entry.
* Added ODBC driver for Ignite.
* Added support for join timeout while registering local addresses with IP finder in TcpDiscoverySpi.
* Added support for JTA transactions via synchronization callback.
* Added Web Console for Ignite.
* Fixed a bug causing object deserialization when local store is configured for cache.
* Fixed a problem with incorrect classloader picked in OSGI environment.
* Fixed a race condition when evicted offheap data was not delivered to query engine leading to query timeout.
* Fixed an issue in ContinuousQueries that caused missing of notifications.
* Fixed background cache partition map exchange not to flood network.
* Fixed BinaryContext to honor custom loader set through IgniteConfiguration.
* Fixed BinaryObjectOffHeapImpl leak to public code.
* Fixed cluster stability with 500+ clients.
* Fixed continuous queries to send filter factory instead of filter.
* Fixed continuous query deployment in case originating node has left.
* Fixed issues with continuous query.
* Fixed deadlock in services deployment when Spring is used.
* Fixed discovery and node start procedure issues that may cause slowdowns during larger topologies start (>100 nodes).
* Fixed eviction policy notification if swap or off heap is enabled and an entry is not loaded during preloading.
* Fixed excessive thread stack usage in case of high contention on cache entries.
* Fixed execution of Splunk MapReduce jobs on top of Ignite MR.
* Fixed GridClosureProcessor internal closures to be deserialized by BinaryMarshaller.
* Fixed issue with AWS dependencies.
* Fixed java proxies deserialization with optimized marshaller.
* Fixed local store behavior at cross cache transactions.
* Fixed marshalling of Java collection and maps for BinaryMarshaller.
* Fixed memory leak in IgniteH2Indexing.
* Fixed NPE during rebalancing.
* Fixed NPE in GridMergeIndex.
* Fixed OOME when OFFHEAP_TIERED mode is used.
* Fixed potential thread starvation during cache rebalancing.
* Fixed race condition on load cache on changing topology.
* Fixed race in marshalling logic that could arise when several nodes are running on the same host.
* Fixed redeployment issues happened with ScanQueries filters.
* Fixed service proxy not to make remote call for methods declared in java.lang.Object.
* Fixed several ClassNotFoundException in OSGi environment.
* Fixed SKIP_STORE flag behavior for transaction entry.
* Fixed support for classes with equal simple name for binary marshaller.
* Fixed system caches not to use user-defined TransactionConfiguration.
* Fixed the issue when CacheStore was updated even if EntryProcessor didn't update an entry.
* Fixed thread safety for TcpDiscoveryMulticastIpFinder.
* Fixed unintentional deserialization of BinaryObjects in OFFHEAP mode with peer class loading enabled.
* Fixed UTF-16 surrogate pairs marshalling.
* Fixed value copying in entry processor with OptimizedMarshaller.
* Fixed web session clustering with WebLogic.
* Hadoop: fixed a bug causing exception during MR planning when input split file doesn't exist.
* IGFS: Added configuration flag to disable default path modes under "/ignite" folder.
* IGFS: Added pluggable factory interface for Hadoop FileSystem creation.
* IGFS: Fixed file properties when running over secondary file system.
* IGFS: Fixed issues with Kerberized HDFS.
* IGFS: Massive performance and stability fixes.
* Improved marshaller behavior during cluster topology change.
* Mesos integration: added possibility to load Ignite package from file system.
* Optimized cache 'get' operations on affinity node.
* Optimized memory usage on server nodes to allow more client connections.
* Passed update notifier flag to discovery data to be sure that all cluster nodes have the same notifier status as the first node.
* Performance optimization for transactions that do not acquire locks.
* ScanQueries over local partitions performance optimisation.
* Support of package-private implementations for Ignite Services.
* Supported Ignite Compute tasks cancellation for Ignite.NET.
* Visor CMD: Added ability to attach custom scripts to alerts.
* Web sessions: minor fix to prevent NullPointerException in some special case.
* Web sessions: user session classes are no longer needed on server nodes.
* A lot of stability and fault-tolerance fixes.
Apache Ignite In-Memory Database and Caching Platform 1.5
---------------------------------------------------------
* Ignite.NET: Initial Release.
* Ignite C++: Initial Release.
* Massive performance improvements for cache operations and SQL.
* Added new binary cache object marshalling implementation.
* Added IgniteSemaphore data structure.
* Added MQTT Streamer.
* Added Twitter Streamer.
* Added Ignite Sink (integration with Apache Flume).
* Added Apache Camel Streamer.
* Added OSGi support.
* Fixed optimistic serializable transactions: implemented "deadlock-free" locking algorithm.
* Fixed failover for continuous queries.
* Fixed compilation and runtime errors under OpenJDK and IBM JDK.
* Fixed Integer.size limitation for cache.
* Fixed and improved cache types configuration.
* Fixed cache rebalancing.
* Many stability and fault-tolerance fixes.
* Added example to demonstrate the usage of EntryProcessor.
Complete list of closed issues: https://issues.apache.org/jira/issues/?jql=project%20%3D%20IGNITE%20AND%20fixVersion%20%3D%201.5%20AND%20status%20%3D%20closed
Apache Ignite In-Memory Database and Caching Platform 1.4
---------------------------------------------------------
* Added SSL support to communication and discovery.
* Added support for log4j2.
* Added versioned entry to cache API.
* Added client node based JDBC driver implementation.
* Fixed consistency issue for custom events processing within discovery.
* Fixed race in cache swap/unswap logic.
* Fixed IGNITE_HOME resolution with JBoss.
* Fixed configuration file resolution on classpath.
* Fixed MBean registration for caches.
* Fixed near cache evictions with offheap.
* Fixed SQL queries group index logic.
* Fixed memory leak in partitioned transactional cache.
* Fixed auto-retries for cache operations in recoverable cases.
* Fixed affinity routing in compute grid.
* Many stability and fault-tolerance fixes.
Apache Ignite In-Memory Database and Caching Platform 1.3
---------------------------------------------------------
* Added auto-retries for cache operations in recoverable cases.
* Added integration with Apache YARN.
* Added auto detection and dropping of slow client nodes.
* Fixed several issues with JTA integration.
* Fixed several issues with Hibernate L2 cache.
* Fixed issue with GAR files in source release.
* Stability fixes for TCP discovery SPI.
* Stability fixes for onheap and offheap SQL queries.
* Bug fixes in In-Memory Accelerator For Apache Hadoop.
* Many stability and fault-tolerance fixes.
Apache Ignite In-Memory Database and Caching Platform 1.2
---------------------------------------------------------
* Added client mode to TCP discovery SPI.
* Added memory based evictions.
* Added integration with Apache Spark.
* Added integration with Apache Mesos.
* Added IgniteCache.getAllOutTx() method.
* Added serializable cache store factories for built-in stores.
* Bug fixes in In-Memory Accelerator For Apache Hadoop.
* Many stability and fault-tolerance fixes.
Apache Ignite In-Memory Database and Caching Platform 1.1
---------------------------------------------------------
* Added Google Compute Engine TCP discovery IP finder.
* Added generic cloud TCP discovery IP finder (based on jclouds).
* Added SortedEvictionPolicy.
* Added chaining for IgniteConfiguration and CacheConfiguration setters.
* Added AffinityUuid class for easier generation of unique collocated keys.
* Added support for cache configuration templates.
* Added support for (*) star notation in cache names.
* Added "collocated" mode for SQL queries.
* Improved expiry policy handling (TTL based evictions) to avoid thrashing.
* Fixed job continuations.
* Fixed compilation and runtime with OpenJDK 7 & 8
* Fixed SQL Union support
* Fixed Word-Count streaming example to produce better results.
* Removed edtFTPj scanner from URI deployment due to licensing issues.
* Made deployment scanners for URI-based deployment pluggable.
* Many stability and fault-tolerance fixes.
Apache Ignite In-Memory Database and Caching Platform 1.0
---------------------------------------------------------
* Simplified query API.
* Added automatic aggregation, grouping, and sorting support to SQL queries.
* Added dynamic caches, i.e. ability to start and stop caches during runtime.
* Changed IgniteDataLoader to IgniteDataStreamer.
* Added automatic transformation support to streaming.
* Removed old streaming APIs in favor of new IgniteDataStreamer.
* Added many examples using Java8 lambdas and streams.
* Added new streaming examples based on new streaming and SQL querying APIs.
* Added automatic schema-import demo under examples.
* Improved javadoc documentation.
* Added ability to automatically exclude LGPL optional dependencies during build.
Apache Ignite In-Memory Database and Caching Platform 1.0 RC3
-------------------------------------------------------------
This is the first release of Apache Ignite project. The source code in large part is based
on the 7 year old GridGain In-Memory Database and Caching Platform, open source edition, v. 6.6.2, which was
donated to Apache Software Foundation in September 2014.
The main feature set of Ignite In-Memory Database and Caching Platform includes:
* Advanced Clustering
* Compute Grid
* Data Grid
* Service Grid
* IGFS - Ignite File System
* Distributed Data Structures
* Distributed Messaging
* Distributed Events
* Streaming & CEP