Release Notes for Fremantle Beta
Fremantle is the code name for the next major release of Enterprise Ehcache, Quartz Scheduler and the Terracotta Enterprise Suite:
The easiest way to get started with the API is to try the sample application posted on github. This includes a ready to run bundle for *nix (just download, unpack, and execute with 'sh run.sh'). This bundle also includes a maven pom to rebuild (using the latest SNAPSHOT rather than that in the bundle): https://github.com/sharrissf/Ehcache-Search-Sample/downloadsImage Removed
Ehcache Search docs are here: http://ehcache.org/documentation/search.htmlImage Removed
A getting-started page for using Ehcache Search with clustered caches is also available: Getting Started With Ehcache Search API For Clustered Caches
New configuration options
Ehcache rejoin on disconnect from Terracotta Server Array can be enabled as follows in ehcache.xml: NonStopCache is enabled by default, to disable non-stop, update the <terracotta> element in each <cache>
<terracottaConfig<terracotta rejoinclustered="true" url> <nonstop enabled="localhost:9510false"/> </>
Ehcache rejoin on disconnect from Terracotta Server Array is enabled by default and can be disabled as follows in ehcache.xml. Note: that rejoin enable is dependent on NonStopCache being enabled.
<cache<terracottaConfig namerejoin="sampleTerracottaCache" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="3600" timeToLiveSeconds="1800" overflowToDisk="false"> <terracotta> <nonStop enabled=true timeoutMillis=3000 timeoutBehavior=noop /> </terracotta> </cache>
Ehcache now has three transaction modes:
- local, which will use a local transaction manager (rather than a JTA one), and permit users to create ACID operations across multiple caches
Code Block xml xml
- local_jtaxa, which in Beta1 was temporarily called jta_local will use a JTA transaction manager, but will be designed for use with a single resource manager in mind and to work with a lower level of recoverability than the "xa_strict" mode. (it won't recover transaction is the case of catastrophic failure).
Code Block xml xml
The original "xa" mode is now "xa_strict"
Local is the fastest mode, followed by local_jtaxa, followed by xa_strict
A sample that demonstrates the new transaction modes is available here: https://github.com/sharrissf/Ehcache-Local-Transaction-Sample/downloadsImage Removed
About Quartz Scheduler 2.0
- APIs (Ehcache Search, Quartz Scheduler 2.0 etc) are subject to change
- The implementation is not performance tuned
New In Beta2
- Monitoring of Search, feature via JMX
- Search Attribute.ne() functional
- Ehcache NonStopCache is now in the Terracotta core kit, and in Beta2 is on by default - but does not interact well at Beta time with some existing Ehcache features. See Known Issues and Limitations
- Ehcache rejoin is is now configurable, it is on by default in BETA2 but dependent on NonStopCache
- Ehcache Write Behind updates
- Server-side (L2) BigMemory enhancement (eg better defaults, removal of chunk/segment size restrictions, auto-tuning of chunk and segment sizes, better protection from OOMEs, ...)
- Quartz Locality (ehcacheConstraint) -
- Configuration based locality is only supported on Trigger groups only right now (not on Job groups), wildcards and matchers
Known Issues and Limitations
- We are aware of issues with NonStopCache and Rejoin interaction with Hibernate, BlockingCache and Explicit Locking
- Workaround: Disable NonStopCache and Rejoin as described above under "New Configuration Options"
- FORGE-594 Quartz avg load monitoring only on JDK6 (JDK5 will require Sigar afaict)
- QTZ-110 Ehcache integration to "Where" only supports String keyed Caches
- (writebehind) maxQueueSize is not implemented
- (writebehind) maxQueueSize isn't configurable using the ehcache.xml and is only functional with Terracotta, not with the standalone ehcache writebehind.
- Server side eviction does not update search index causing incorrect search results
- New transactional caches and search do not work together. xa_strict should still be OK.
Specific items which are planned for the final release, but are not included in Beta
- Monitoring of new features via JMXWrite Behind, JTA
- Ehcache Search is supported with Terracotta clustered caches, however in the Beta 1 there are a series of known limitations with the implementation:
- Active/Passive server failover will not be supported
- Attribute.ne() does not yet functionAttribute.like() is case sensitive for clustered search (contrary to javadoc in Ehcache core) -
- There is no timeout for search operations
- For numeric search attributes with null values the sort order will differ between standalone and clustered
- Paged/chunked results: a large search results will be transferred in whole to node making the query. This may cause OOME
- Ehcache Search (standalone and clustered): excecuteAndRemove, cache metadata search (TBD)
- Ehcache NonStopCache is now in the Terracotta core kit, but in Beta 1 is off by default (the intent is that it will be the default mode of operation)
- Ehcache rejoin is is now configurable, but in Beta 1 is off by default (the intent is that it will be on by default)
- Quartz Locality (ehcacheConstraint)
- Configuration based locality is only supported on Trigger groups only right now (not on Job groups), wildcards and matchers.
- - NOT SCHEDULED
- Developer Console updates to support Quartz 2.0
- Ehcache Write Behind updatesEhcache Terracotta clustering - new default mode Server-side (L2) BigMemory enhancement (eg better defaults, removal of chunk/segment size restrictions, auto-tuning of chunk and segment sizes, better protection from OOMEs, ...)- TBD in Jan not in BETA2
- Updated Extjs toolkit in Ehcache Monitor
- Usability improvements to Ehcache Monitor