You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 19
Next »
General Ideas
- 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...
To Be Removed List
- 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)