| Apache Ignite Release Notes |
| =========================== |
| |
| |
| Apache Ignite In-Memory Computing Platform 2.8.1 |
| ----------------------------------------------------------- |
| |
| Security: |
| * Fixed vulnerability of using H2 admin rights for user SQL connections |
| |
| Ignite Core: |
| * Added cluster achieving fully rebalanced (PME-free ready) state metric |
| * Added compute job system view |
| * Added support long keys in DistributedMetaStorage |
| * Added transaction operations metrics |
| * Fixed ClassCastException in Thin Client |
| * Fixed IllegalArgumentException on activation of LogExporterSpi |
| * Fixed JDBC thin client SELECT hanging under 2.8.0 |
| * Fixed Java thin client: Wrong typeId generation for system types |
| * Fixed MERGE INTO query failing on Ignite client node |
| * Fixed MetricRegistryMBean and OpenCensusExporterSpi memory leak |
| * Fixed MetricRegistryMBean nit showing histogram values when histogram name contains underscore |
| * Fixed MetricRegistryMBean thread safety |
| * Fixed NullPointerException while initializing Cassandra Store |
| * Fixed NullPointerException thrown by ExchangeLatchManager during cache creation |
| * Fixed SQL: H2Connection leaking on INSERT |
| * Fixed SQL: KILL QUERY command hanging on query when query cursor is held by user or leak |
| * Fixed SQL: Potential race on MapResult close |
| * Fixed SQL: Query reduce can failing with NPE on retry |
| * Fixed SQL: Local queries cursors must be closed or full read to unlock the GridH2Table |
| * Fixed TcpCommunicationSpi metrics implementation |
| * Fixed Thin client thread not stopping |
| * Fixed affinity cache for version of last server event being wiped from history |
| * Fixed all binary types being registered twice |
| * Fixed empty cluster failing if wal segment size small |
| * Fixed cache stopping on supplier during rebalance causing NPE and supplying failure |
| * Fixed not being able to set serialized enum to a BinaryObject's field |
| * Fixed cluster failing to find the node by consistent ID |
| * Fixed cluster restart leading to cluster activation error |
| * Fixed continuously generating thread dumps in failure processor slowing down the whole system |
| * Fixed destroy of big cache which is not only cache in cache group causing IgniteOOME |
| * Fixed dynamic SQL index recreation after cache clear resulting in AssertionError or JVM crash |
| * Fixed contention on ConcurrentHashMap.size() |
| * Fixed consistency issues for atomic and mixed tx-atomic cache groups |
| * Fixed getting SecurityContext from GridSecurityProcessor |
| * Fixed h2Tree going into illegal state when non-indexed columns are dropped |
| * Fixed historical (WAL) rebalance starting on cleared partition if some baseline node leaves the cluster and then rejoins |
| * Fixed igniteQueue.removeAll throwing NPE |
| * Fixed ignitevisorcmd not connecting to cluster |
| * Fixed inconsistency between cache data and indexes when cache operation is interrupted |
| * Fixed incorrect rewriting of wal record type in marshalled mode during iteration |
| * Fixed intermittent [Failed to notify direct custom event listener] exception on node shutdown |
| * Fixed dynamically setting used cache for Spring Data |
| * Fixed logging exceptions inside IgniteSecurityProcessor#withContext(java.util.UUID) |
| * Fixed long exchange on deactivation process |
| * Fixed memory leak on unstable topology caused by partition reservation |
| * Fixed metric exporter implementation issue leading to NullPointerException from gauge which invokes communication |
| * Fixed node failing after get operation when entries from the cache expired concurrently |
| * Fixed node failing after putting incorrect key class for indexed type to transactional cache |
| * Fixed node leaving causing NullPointerException during IO message processing if security is enabled |
| * Fixed node stopping on type mismatch error between index type and type of value from searched row |
| * Fixed non-comparable keys for eviction policy causing failure handle and node shutdown |
| * Fixed pages leak suspicion in PDS |
| * Fixed partition desync if a partition is evicted then owned again and historically rebalanced |
| * Fixed possible extra page release when throttling and checkpoint thread store it concurrently |
| * Fixed possible tx desync during recovery on near node left |
| * Fixed partitions owned by other nodes switching their state to MOVING due to counter difference on node join |
| * Fixed Spring Data query annotations not working if statement keywords are in lower case |
| * Fixed remote thin client operations not being authorized correctly |
| * Fixed scan query shutting down the node in some cases |
| * Fixed scan query/iterator on a replicated cache getting wrong results |
| * Fixed searching checkpoint record in WAL not working with segment compaction |
| * Fixed some of rentingFutures in GridDhtPartitionTopologyImpl accumulating a huge number of eviction callbacks |
| * Fixed cache#putAllAsync method not collecting statistics |
| * Fixed thin JDBC streaming failing with BatchUpdateException if function is used |
| * Fixed page difference output throttling in PageMemoryTracker |
| * Fixed transaction hanging after too many open files NIO exception |
| * Fixed update of partition states becoming stuck when rebalance completed during exchange |
| * Fixed zookeeper discovery not working due to missed dependency |
| |
| Ignite .Net: |
| * Fixed services failing to call method with DateTime or Guid argument |
| * Fixed NullReferenceException when serializing fields of the same type in different order |
| |
| |
| Apache Ignite In-Memory Database and Caching Platform 2.8 |
| --------------------------------------------------------- |
| |
| Ignite Experimental API: |
| * Added monitoring API - an exporter of Ignite metrics to external recipients |
| * Extended IgniteCache API with withReadRepair to perform backup nodes consistency check on each cache get attempt |
| * Marked MVCC feature (added by 2.7.0 RELEASE) |
| |
| |
| Ignite Monitoring: |
| * Added support of exposing objects as system views (SQL, JMX exporters supported "out of the box") |
| * Added support of storing and updating metrics (JMX, SQL, Log, OpenCensus exporters supported "out of the box") |
| * Added SQL query system view |
| * Added client connections (JDBC, ODBC, Thin) system view |
| * Added cluster nodes system view |
| * Added columns system view |
| * Added continuous query system view |
| * Added free-lists system view |
| * Added indexes system view |
| * Added metrics for PME timings |
| * Added metrics for transaction duration |
| * Added metrics to measure cache API performance |
| * Added metrics to show index building in progress |
| * Added scan query system view |
| * Added schemas system view |
| * Added striped thread pool queue system view |
| * Added support of metrics configuration via JMX |
| * Added tables system view |
| * Added total time threads parked if checkpoint throttling occurred |
| * Added transactions system view |
| * Moved CacheGroupMetrics to the new framework |
| * Moved ClusterMetricsMxBean to the new framework |
| * Moved Communication metrics to the new framework |
| * Moved GridJobMetricsProcessor to the new framework |
| * Moved GridLocalMetrics to the new framework |
| * Moved IgniteMXBean to the new framework |
| * Moved QueryMetrics to the new framework |
| * Moved TransactionMetricsMxBean to the new framework |
| |
| |
| Ignite Core: |
| * Added @IgniteExperimental annotation to notify users about early access API available |
| * Added IGNITE_CONSISTENT_ID system property |
| * Added IGNITE_DISCOVERY_DISABLE_CACHE_METRICS_UPDATE system property |
| * Added IGNITE_YARN_QUEUE property to override YARN queue name |
| * Added JMX ability to exclude node from topology |
| * Added JMX metrics for partition map exchange timings |
| * Added SSL support for ZookeeperSpi |
| * Added Spark SQL Table Schema Specification |
| * Added WAL page snapshot records compression |
| * Added ability to override all caches 'rebalanceThrottle' option via JVM node option |
| * Added ability to set default parallelism of rebuild indexes in configuration |
| * Added ability to track system/user time held in the transaction |
| * Added binary mode (withKeepBinary) to Data Structures Queue |
| * Added a withReadRepair for IgniteCache to perform backup nodes consistency check on each cache get attempt |
| * Added cache validation logic on primary node instead of near node |
| * Added cluster activation/deactivation events |
| * Added configuration for explicit plugins providing (via spring configuration) |
| * Added disk page compression support |
| * Added extra logging for client-server connections in TcpDiscoverySpi implementations |
| * Added information about possible long GC pause to checkpoint started message |
| * Added initial support of Spark 2.4 (new internal changes since Spark 2.3) |
| * Added parallel write&evict same key in CacheWriteBehindStore |
| * Added possibility to have different rebalance thread pool size for nodes in the cluster |
| * Added support TcpCommunicationSpi of TLSv1.3 |
| * Added support TcpDiscoveryS3IpFinder client-side encryption |
| * Added support UriDeploymentSpi for JAR files |
| * Added support array as key for the cache |
| * Added support discovery messages for service deployment |
| * Added support for baseline auto-adjustment |
| * Added support for Kubernetes discovery for non-ready pods |
| * Added support for spring data update/delete operations |
| * Added support logical recovery phase outside of PME |
| * Added support best effort affinity for thin clients (partition awareness) |
| * Added support node discovery through AWS ELB |
| * Added transaction label to transaction cache events (e.g. EVT_TX_STARTED, EVT_TX_COMMITTED) |
| * Added transactions support to thin clients |
| * Added 'limit' as a parameter for TextQuery constructor and builder |
| * Added ignite-spring-data_2.2 module to be used with Spring Framework 5.2.x and Spring Data 2.2.x |
| * Added integration with hibernate 5.3 |
| * Added support for non-blocking PME on node left |
| * Added support for IgniteSpark skipStore option for internal dataStreamer (IgniteRdd and Ignite DataFrame) |
| * Avoid synchronous initialization of storage managers during PME |
| * Fixed B+Tree corruption caused by byte array values |
| * Fixed ComputeJob cancel method executes with the wrong SecurityContext |
| * Fixed IGNITE_ENABLE_FORCIBLE_NODE_KILL system property behaviour |
| * Fixed IO race during read\write cache configurations |
| * Fixed Ignite Queue hanging after several read/write operations |
| * Fixed IgniteCache replace method does not work in a binary mode without classes |
| * Fixed P2P for remote filter and filter factory |
| * Fixed RobinHoodBackwardShiftHashMap on big-endian architectures |
| * Fixed ScanQuery doesn't take lost partitions into account |
| * Fixed Spark DataFrame will get the wrong schema if a user executes add/drop column DDL |
| * Fixed TTL manager may not clear entries from the underlying CacheDataStore |
| * Fixed TcpDiscovery lock on SSLSocket close |
| * Fixed WebSessionFilter does not work with jetty 9.4 anymore |
| * Fixed a new exchange coordinator skips client fast reply for a previous exchange |
| * Fixed activate\deactivate hanging |
| * Fixed affinity calculation and fetching on client nodes |
| * Fixed binary metadata is not registered during the start of the cache |
| * Fixed blinking baseline node sometimes unable to connect to a cluster |
| * Fixed cache start while the cache is restarting with the same name |
| * Fixed checkpoint temp files don't removed on a node start |
| * Fixed client does not survive after several cluster restarts for ZookeeperDiscoverySpi |
| * Fixed cluster hanging on cache invoke with binary objects creation |
| * Fixed compatibility issue with JDBC drivers of older versions |
| * Fixed continuous query handlers are not called on backups when a one-phase commit is used |
| * Fixed data corruption when an exception occurred during tx commit without node stopping |
| * Fixed data loss during starting of the nodes with empty persistence data storage |
| * Fixed deadlock between restore partition states and checkpoint begin phase |
| * Fixed deadlock on client node in case of network problems or long GC pauses |
| * Fixed detection of corrupted index storage on a file system |
| * Fixed dynamic columns and indexes can be lost after the cluster restart |
| * Fixed exchange hanging while new node restoring state from disk and starting caches |
| * Fixed exchange on node left hanging when a cluster is in the transition state |
| * Fixed index usage is not applicable for mixed IN and EQUALS queries |
| * Fixed node hanging on join to topology |
| * Fixed node hanging with TcpDiscoveryS3IpFinder while stopping |
| * Fixed p2p incorrectly loaded classes of remote query filter |
| * Fixed partition hanging in MOVING state after node joined and rebalanced |
| * Fixed partition may restore wrong MOVING state during crash recovery |
| * Fixed possible exceptions during simultaneous cache group stop and partition eviction |
| * Fixed race between rollback exception and timeout exception on changing transaction state |
| * Fixed segmenting node can cause ring topology broke |
| * Fixed stopping caches concurrently with node join may lead to a crash of the node |
| * Fixed transaction commit exception about missing binary schema on large clusters |
| * Fixed transaction prepare-commit ordering in one-phase commit scenario |
| * Fixed transactions that potentially may cause hanging in COMMITING state and partitions desync |
| * Fixed validation of joining nodes for Zookeeper |
| * Fixed when collocated IgniteSet close is not working on non-affinity node |
| * Forbidding joining persistence node to an in-memory cluster |
| * IGNITE_DISABLE_WAL_DURING_REBALANCING turned on by default |
| * Improved CRC32 calculation algorithms for internal usages |
| * Improved LRT diagnostic messages |
| * Improved PME speed during full partition map generation (parallel execution) |
| * Improved PME speed during full partition map updating (parallel execution) |
| * Improved PME speed for starting multiple caches on joining node |
| * Improved large clusters discovery meta exchange (by add compression on Discovery data bag) |
| * Improved logging for the index rebuild procedure |
| * Improved read of hot variables in WAL |
| * Improved speed of WAL segment archiving |
| * Improved speed of checkpoint finalization on binary memory recovery |
| * Optimize GC pressure on rebalance procedure |
| * Optimize HistoryAffinityAssignment heap usage |
| * Performance improvements for affinity initialization for started cache groups |
| * Removed IGNITE_SERVICES_COMPATIBILITY_MODE system property |
| * Removed Java 7 and AI 1.x leftovers from IgniteSystemProperties & IgniteProductVersion |
| * Replaced IGNITE_BINARY_META_UPDATE_TIMEOUT with IGNITE_WAIT_SCHEMA_UPDATE |
| * Massive performance and stability improvements |
| |
| |
| SQL: |
| * Added Decimal precision and scale constraint |
| * Added KILL QUERY command |
| * Added a table row count statistics for the local queries |
| * Added a view with the list of existing SCHEMAS |
| * Added a view with the list of existing tables |
| * Added ability to specify query parallelism in CREATE TABLE's WITH "" clause |
| * Added automatic pages history dump on CorruptedTreeException |
| * Added cluster-wide unique identifier for running queries |
| * Added counter left partition for index rebuild to cache group metrics |
| * Added default query timeout |
| * Added drop _VER field support |
| * Added extract partition info from BETWEEN and range conditions for integer types |
| * Added extract partition info from JOINs |
| * Added lazy execution for the local queries |
| * Added query history statistics API |
| * Added support for data page scan on ScanQuery, SqlQuery and SqlFieldsQuery |
| * Added support of allocating memory for a data region when the first cache assigned to this region is created |
| * Added support of autoclose iterator for query cursor when all data has been read |
| * Added support of trivial IN-operation for partition extraction |
| * Added tracking all running queries on initial query node |
| * Added validation for PK index does not use wrapped object |
| * Added warning about long query execution printed by timeout (instead of on query finished) |
| * Disabled implicit distributed joins when queryParallelizm > 1 |
| * Do not store default precision and scale in the QueryEntity for CHAR/VARCHAR and DECIMAL types |
| * Fixed DDL operations don't work on not started caches on non-affinity nodes |
| * Fixed IF NOT EXISTS in CREATE TABLE doesn't work |
| * Fixed SQL event is not fired when a query is reduced to local form |
| * Fixed SQL query when the value has SQL field which name equals to affinity key name |
| * Fixed cache destroy operation which has created via SQL |
| * Fixed creating table with DateTime for PK on a server node |
| * Fixed error parsing INLINE_SIZE if CREATE INDEX is one of the multiple statements |
| * Fixed exception after change column type (drop, add) |
| * Fixed partition pruning is integrated with DML |
| * Fixed security checks are skipped on some SELECT paths |
| * Fixed subjectId is lost for SqlFieldsQuery event on the local node |
| * Fixed when same SQL requests with multiple statements produce a different result |
| * Fixed when unable to find row by an index created on partial baseline topology |
| * Forbid mixing _key and key columns in the DML queries |
| * Move rebalance configuration properties to the IgniteConfiguration level |
| * Optimize query execution if it targets only one or none partitions |
| * Reduce excessive int boxing when accessing cache by ID |
| * Remove scan index for merge table |
| * Renamed IGNITE schema to SYS |
| |
| |
| MVCC: |
| * Added continuous query failover for mvcc-caches |
| * Added deadlock detector |
| * Added late affinity assignment support |
| * Added mvcc-compatible cache peek operation for key-value API |
| * Fixed JVM crash when node stopped with errors |
| * Fixed SQL API methods should throw proper TransactionExceptions in case of tx failure |
| * Fixed client operation hangs if all data nodes left the cluster |
| * Fixed client reconnect became unstable after mvcc coordinator reassign |
| * Fixed concurrent cache stop can cause vacuum failure |
| * Fixed failure to perform non-MVCC SQL from transactions |
| * Fixed implicit mvcc transaction could use completed one instead of starting new |
| * Fixed incorrect data region metrics |
| * Fixed incorrect exception is thrown if no data nodes found for a partition |
| * Fixed missing EntryProcessor resource injection |
| * Fixed mvcc history can be missed during remove operation |
| * Fixed mvcc-cache rebalance procedure leads to data loss |
| * Fixed query trackers are not released |
| * Fixed query with specified explicit partitions |
| * Fixed race on invokeAll operations |
| * Fixed read transactions remap when coordinator fails |
| * Fixed removeAll on unstable topology |
| * Fixed transaction asynchronous rollback |
| * Fixed update operation hanging on backup on unstable topology |
| * Fixed vacuums do not clean up all outdated versions |
| |
| |
| JDBC: |
| * Added cache expiry policies |
| * Added support JDBC thin driver: connection timeout |
| * Added support data page scan for JDBC |
| * Added support of handling multiple async requests in parallel |
| * Added support query cancel |
| * Added support query timeout |
| * Fixed JDBC getPrimaryKeys returns wrong value for COLUMN_NAME |
| * Fixed JDBC thin driver metadata misses caches with queryEntities and names containing underscores |
| * Fixed STREAMING mode fails on streamer reopen on not ordered mode |
| * Fixed memory leak caused by executing a JDBC prepared statement |
| * Fixed sqline command !tables works incorrectly for a client node |
| * Fixed suspended optimistic transaction automatically resumes to last thread after a timeout |
| * Now driver starts with a random server to connect |
| * Updated handshake protocol so that the node returns its UUID |
| |
| |
| ODBC: |
| * Fixed SQLColumns does not work for tables with escape sequences in name |
| * Fixed backward compatibility between 2.5 and 2.7 |
| |
| |
| Web Agent: |
| * Added support for the cluster-ID |
| * Added support of two way SSL authentication in Web Console agent |
| * Fixed flag --disable-demo doesn't work |
| * Fixed hostname verifier must be disabled if "-Dtrust.all=true". |
| * Improve information message in case REST command failed on cluster |
| * Improve logging when cluster topology changed |
| |
| |
| Web Console: |
| * Added TypeScript support |
| * Added ability to cancel queries |
| * Added ability to configure disk page compression properties |
| * Added check for supported MongoDb version before WC start |
| * Added email confirmation |
| * Added management events (EVT_MANAGEMENT_TASK_STARTED) |
| * Added missed configurations for some of the properties from IgniteConfiguration |
| * Added option to disable self-registration on Web Console |
| * Added possibility to configure distributed MVCC |
| * Added support for "date", "time" and "date-and-time" on InputDialog |
| * Added support for "type=number" on InputDialog |
| * Added support for new countries Taiwan, Hong Kong, Singapore |
| * Fixed can't select cluster memory eviction mode |
| * Fixed long-running SQL queries could be randomly cancelled from WC |
| * Fixed memory leak in chart component |
| * Fixed priority for field validations |
| * Fixed validation in Firefox |
| * Update styles of top menu items |
| * Update to RxJS 6 |
| |
| |
| Node.js: |
| * Fixed Node.js thin client UUID marshalling |
| |
| |
| Ignite .NET: |
| * Added Thin Client Partition Awareness |
| * Added Thin Client Expiry Policy |
| * Added Thin Client Cluster API |
| * Added .NET Core 3.x support |
| * Added Ignite.NET Dockerfile |
| * Added Runnable .NET Core assembly |
| * Added ICache.GetLongSize |
| * Added IClusterNode.Version |
| * Added ICompute.WithExecutor |
| * Added IIgnite.GetVersion |
| * Added IBinaryObjectBuilder.SetField(name, val, type) overload |
| * Added Partition Preload API (PreloadPartition, PreloadPartitionAsync) |
| * Fixed JVM thread leak |
| * Fixed serialization performance for ISerializable |
| |
| |
| Ignite C++: |
| * Added BinaryType methods implementations (GetTypeId, GetFieldId) |
| * Fixed compilation ODBC and thin client with OpenSSL 1.1 |
| * Fixed compilation on ubuntu 18.04 |
| * Implement atomic part of Cache API for C++ thin client (ReplaceIfEquals, RemoveIfEquals etc.) |
| * Improve Best Effort Affinity for C++ thin client |
| * Remove strong dependency on Boost 1.58.0 |
| |
| |
| REST: |
| * Added "caches" param for "top" command |
| * Added baseline topology commands to REST API |
| * Added memory policy metrics via REST |
| * Fixed IGNITE_REST_SECURITY_TOKEN_TIMEOUT parameter is set in deciseconds instead of seconds |
| |
| |
| Visor: |
| * Added ability to set nodeId for VisorIdleVerifyDumpTask executed from ./control.sh --host HOST --cache idle_verify |
| * Added dynamic turn on/off cache statistics for Visor |
| * Added guard for cache restarting in progress for Visor tasks. |
| * Fixed rebalance status in Visor stays on 99.99%. |
| |
| |
| Control utility: |
| * Added ability to check CRC sums of stored pages |
| * Added ability to exclude cache from an output file |
| * Added ability to show more information about cache configuration |
| * Added ability to use simultaneous cache filtering options with control.sh --cache idle_verify |
| * Added command to deal with garbage in partitions which left after cache destroy in shared cache groups |
| * Added information about coordinator in control.sh output |
| * Added showing information about lost on idle_verify |
| * Added support SSL to work with baseline configuration (CommandHandler) |
| * Added support of changing baseline auto-adjust parameters via console.sh |
| * Added support request an SSL Keystore password and SSL truststore password |
| * Display time to baseline auto-adjust event in console.sh |
| * Fixed connection to cluster error in control.sh while using --cache |
| * Fixed control.sh --baseline remove outputs wrong error message when trying to remove a node from baseline |
| * Fixed control.sh not working on a multinode cluster setup |
| * Fixed idle_verify utility doesn't show both update counter and hash conflicts |
| * Fixed incorrect error message after three tries on an unsuccessful authorization |
| * Log all action performed thought control.sh |
| |
| |
| ML: |
| * Added Gaussian Mixture Model (GMM) trainer with fixed components |
| * Added ML logger and env variables in Spark ML Parser |
| * Added NamedVectors to replace HashMap in Model |
| * Added OneVsRest Trainer to handling cases with multiple class labels in a dataset |
| * Added Pipeline support to Cross-Validation process |
| * Added integration between Ignite SQL and Ignite ML |
| * Added new Hyper-parameter tuning via Genetic Algorithm |
| * Added parser for parquet file with the instance of DecisionTreeClassificationModel from Spark ML |
| * Added parser for parquet file with the instance of DecisionTreeRegressor from Spark ML |
| * Added parser for parquet file with the instance of GBTRegressionModel from Spark ML |
| * Added parser for parquet file with the instance of GradientBoostedTreesModel from Spark ML |
| * Added parser for parquet file with the instance of KMeansModel from Spark ML |
| * Added parser for parquet file with the instance of LinearRegressionModel from Spark ML |
| * Added parser for parquet file with the instance of LinearSVCModel from Spark ML |
| * Added parser for parquet file with the instance of RandomForestClassificationModel from Spark ML |
| * Added parser for parquet file with the instance of RandomForestRegressionModel from Spark ML |
| * Added support for using H2O MOJO models for inference and prediction on Ignite data |
| * Added support new feature-label extraction API (Vectorizers) to Preprocessor trainers |
| * Added various Naive Bayes classifiers |
| * Added vector projection |
| * Advanced support of categorical features (LabelEncoding, Strings in vectorizers) |
| * Fixed the problem with ML Labmdas which are not working in binary builds |
| * Implementation of a distributed estimator |
| * Import models from XGBoost |
| * Improve model loading from the directory instead a full path to file with model |
| * Improve the PeerClassloading for ml related lambdas |
| * Improvements of IgniteModelStorage for IgniteModel and SQL functionality |
| * Initial phase of integration with Spark ML (parsing of Spark ML models from ml package) |
| * Merge InfModel and Model |
| * Merge XGBoost and Ignite ML trees together |
| * Provide metrics to evaluate the quality of the model |
| * Provide the recommendation engine to build the recommendation system over the Ignite cache and via SQL operators |
| * Replace all label/feature extractors on new vectorizers |
| * Stacking for training and inference |
| * Unify API for ensemble training algorithms. |
| |
| |
| Dependency updates: |
| * Added dependency spring-data-2.2 |
| * Added dependency hibernate-5.3 |
| * Added dependency spark-2.4 |
| * Added dependency spring-5.2 |
| * Updated Jetbrains Annotations to 16.0.3 |
| * Updated Kafka to 2.0.1 |
| * Updated RocketMQ to 4.4.0 |
| * Updated Commons Beanutils to 1.9.4 |
| * Updated Jackson to 2.9.10 |
| * Updated Jetty to 9.4.25 |
| * Updated Spring to 4.3.26 |
| * Updated spring-5.0 to 5.0.16 |
| * Updated spring-data-2.0 to 2.0.13 |
| * Moved Flink to ignite-extension |
| |
| |
| 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 |