Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Rename GridFutureAdapter and other Ignite Core classes that misuse "adapter" term.
  • Remove AbstractFailureHandler.ignoredFailureTypes: critical failures should be handled, not masked. (There is no ideas about how exactly handle unknown errors. Discussion: http://apache-ignite-developers.2346864.n4.nabble.com/GridDhtInvalidPartitionException-takes-the-cluster-down-td41459.html )
  • Make 'pairedConnections' on by default in TcpCommunicationSpi?
  • Implement new BinaryObject with field type changes and constant-time access to constant-length fields.
  • Rename configuration checkpointFrequency to checkpointInterval (or probably other options used Frequency word but really meaning Interval)
  • For all versioned FooBarerV3 classes, etc, remove all previous V2,  versionless classes, make it the only one without V3.
  • Replace home-brewed GridFutureAdapter with standard CompletableFuture?
  • Restructure future interfaces: IgniteInternalFuture should extend IgniteFuture.
  • Support Java9+ Automatic modules ( https://issues.apache.org/jira/browse/IGNITE-11461 ) for all Jars.
  • Reorder modules tree:
    • group ignite-spring, ignite-flume- ignite-spar, iginte-camel, ignite-cassandra into ignite/integrations
    • group ignite-dev-utils, ignite-benchmarks, ignite-tools  into ignite/dev-support
    • etc...
  • Get rid of words Ignite, Grid in internal classes. Examples: GridFutureAdapter, GridManager, GridProcessor, etc...
  • Get rid of "use..." or "...Enabled" in boolean properties' names.
  • .NET: Target .NET Standard 2.0, discontinue .NET 4.0 support
  • Redesign REST protocol. 
  • Make most of options are runtime configurable.
  • Change `Object consistentId` to `String consistentId` because String is much more safer. User by mistake can set consistentId with not serializable object.
  • Make IgniteConfiguration immutable, so that you can start two nodes from some IgniteConfiguration (node startup should not change cfg in any ways).
  • Client nodes should pick up configuration from cluster (such as binary configuration, peer class loading, etc) instead of reporting mismatch.
  • Support heterogenous clusters with nodes of different versions.
  • Remove all compatibility checks and hooks for any specific 2.x versions since there is no compatibility in 2.x or with 2.x.
  • Logging overhaul: If logging implementation in classpath, it should be choosen automatically with sensible default config if user config not present. There should be no IGNITE_CONSOLE_APPENDER
  • provide "out of the box" SQL API without any strange query through cache instance. Something like ignite.sql().query("SELECT * FROM table")
  • Resurrect fair affinity.
  • Raise maximum number of partitions to allow more nodes in a single grid. Currently we have a theoretical maximum of ~2k (if 32 primary partitions per node). Or even better rework current approach to partitioning to allow unlimited number of nodes.

To Be Removed List For Discussion

...