Versions Compared

Key

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

...

  • Local caches (they are useless but require a lot of time to be supported)
  • Scalar - it is already extremely outdated and noone asks for an update
  • Visorcmd - a node that is always connected to the grid may be a destabilizing behavior; actionable utilities like control.sh make more sense
  • Full text and spacial indexes - they are not persistent; should be rewritten for durable memory later on
  • Schedule module - hardly used, local-only scheduling (same issues as with local cache)
  • Explicit locks outside the transaction - lock concept is broken in a distributed system
  • Modules with legacy library versions: hibernate-4.2, hibernate-5.1, spring-data, visor-console-2.10, etc?
  • Remove current data structures (Lock, Semaphore, Set, Queue). Cache-based implementation leads to configuration issues. May be implemented on top of cache API in an auxiliary library or have an internal cache-free implementation
  • AOP - hard to believe it's used
  • Deprecated metrics - kept only for backward compatibility
  • Checkpoint SPI - regular caches may be used as a storage, no need for another storage abstraction
  • Old thin client and old JDBC connector
  • GAR files - should be replaced with JAR files, no need for tasks scan inside the jar. Also, remove IgniteCompute methods executing tasks by task name
  • Deprecated methods, fields and classes marked with `@deprecated`. Also revive IGNITE-6301 to remove indexedTypes field
  • As many IGNITE_ parameters as possible from IgniteSystemProperties
  • "Force server mode" for client nodes
  • JSR107 (JCache) compatibility (useless but require a time to be supported) 
  • ForceKeyRequests and related code. Since we have Late affinity assignment and primary node partitions are always up to date we don't need to request actual data from backups

  • @CentralizedAffinityFunction and related code. I don't see any real usages of custom affinity functions that use this annotation

  • Leave Exchanges Merge + Late Affinity assignment as the only PME protocol. Remove centralized affinity distribution in case of node left and no merge exchange legacy modes

  • CacheRebalanceMode.NONE and Rebalance Delay as it can break data consistency in a cluster. Also, remove force rebalance mode as it can be used only if rebalance delay is set

  • .NET: Legacy Entity Framework and ASP.NET integrations
  • Daemon nodes
  • Near cache - extremely rare deliberate usage, performance issues, slowdowns new features development, a lot of "if near() then skip test" at TeamCity
  • DiscoverySpi#failNode and other "for tests only" public methods.
  • Redis and Memcached protocols support
  • IndexingSpi (question)
  • Old Service Grid implementation
  • QueryEntity and annotation based indexed types configuration
  • CacheFileLocalStore - obsolete, have native persistence now
  • Get rid of ignite-shmem
  • Get rid of Discovery & Communication compatibility with previous versions (Ignite does not allow heterogeneous clusters).
  • Get rid of cache groups, instead provide another way to support large number of caches.
  • Get rid of custom affinity support (and other user closures in a configuration as much many as possible)