Related Documents
- Usability improvements
- Client Usability Improvements for 7.0
- Usability and API Enhancements Specification
Client API and Features
High Effort:
- Provide mechanism for clients to connect to multiple distributed systems or to allow switching from one server Pool on a Region to another and back again (different server Pools could be in different systems) [Effort: High]
- Allow client queues to failback from one server back to the original server when it comes back online [Effort: High]
- Allow client to failover to another cluster and then to failback to the original cluster when connectivity is restored [Effort: High]
Medium Effort:
- Creation and usage of Proxy Regions which delegate fully to server [Effort: Medium]
- Make this similar to what's in the C#/C++ native client which provides "tethered" and "untethered" Region Views [Effort: Medium/Hard]
- Note: We also have peer-to-peer Proxy Regions so do we extend this to include peer-to-peer as well for uniformity?
Very Low Effort:
- ManagementService API for invoking GFSH commands on server (allows deprecation of DynamicRegionFactory) [Effort: Very Low]
Cache API and Features
Medium/Hard Effort:
- New operations over WAN: removeAll/destroyAll, clear, transactions, invalidate* (*NOTE: invalidate is not supported by client-server which WAN uses) [Effort: Medium/Hard]
- Provide cleaner mechanism for peer nodes to connect as client to other DS without hacky workarounds for Region name collisions [Effort: Medium/Hard]
- Cleanup interaction between WBCL and CacheLoader/CacheWriter to avoid GET that loads from RDB resulting in WBCL writing to RDB (WBCL is very old and only understands create, update, destroy – really needs the newer ops to fix it) [Effort: Medium/Hard]
Medium Effort:
- GetAll optimization for PartitionedRegions so that single bulk get requests are sent to each Bucket node for peers as well as Java and native clients [Effort: Medium]
- New Region operation: Region#removeAll(Collection<?> keys) and Region#destroyAll(Collection<?> keys) [Effort: Medium]
- Improved cache callbacks for bulk ops that are invoked once with all the keys (especially CacheLoader and CacheWriter for getAll and putAll) [Effort: Medium]
Low Effort:
- Provide a non-deprecated way to create subregions [Effort: Low]
- Deprecate DataPolicy#PRELOADED [Effort: Low]
- Deprecate or remove external API for BridgeServer endpoints [Effort: Low]
- Allow infinite chaining (wrapping) of callback args for Cache operations such as PUT (currently only allow one wrapped callback arg) [Effort: Low]
New APIs and Features
Medium Effort:
- Complete logging overhaul - control log levels by Component/Subsystem, support SLF4J/Log4J syntax and appenders, cleanup Alerts (which messages, frequency, etc) [Effort: Medium]
- System event API (can be used by client or over WAN by peer in other system, register for notification about any number of systems). *NOTE: this almost seems to belong under Management/Monitoring. Events to support as listed by Suds: [Effort: Medium]
- 1> New WAN site has come online/WAN site is unreachable
- 2> Region creation/ region destruction
- 3> Peer joined/ Peer left
- 4> Client joined/ Client left
- 5> Required role available/ Required role unavailable
- 6> Locators available/ System running without any locators.
- 7> User configurable elements (like exchange connections or feeds being available in the system or not)?
- 8> WBCL endpoint available/unavailable
Low Effort:
- Lifecycle callback API (especially important for CacheServers) [Effort: Low]
Feature Compatibility
Medium Effort:
- Make Delta work with PDX using autoserialization
- Make Delta work with PutAll
- Make Delta work with Transactions