[jboss-cvs] JBossCache/docs ...

Manik Surtani msurtani at jboss.com
Fri Nov 17 09:03:02 EST 2006


  User: msurtani
  Date: 06/11/17 09:03:02

  Modified:    docs     Changelog.txt
  Log:
  Updated changelog
  
  Revision  Changes    Path
  1.23      +205 -762  JBossCache/docs/Changelog.txt
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Changelog.txt
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/docs/Changelog.txt,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -b -r1.22 -r1.23
  --- Changelog.txt	11 Sep 2006 16:50:52 -0000	1.22
  +++ Changelog.txt	17 Nov 2006 14:03:02 -0000	1.23
  @@ -1,768 +1,211 @@
  -$Id: Changelog.txt,v 1.22 2006/09/11 16:50:52 bstansberry Exp $
  +$Id: Changelog.txt,v 1.23 2006/11/17 14:03:02 msurtani Exp $
   
  -Release 1.4.0.SP1 (August 9, 2006)
  -==================================
  -Bug fix release on 1.4.0
  -
  -** Bug
  -    *  [ JBCACHE-665 ] Concurrent modification exception when eviction thread attempts to access workspace with opt locking
  -    *  [ JBCACHE-703 ] Remove does not work anymore using non-String keys
  -    *  [ JBCACHE-715 ] Invalidation fails with region based marshalling enabled
  -    *  [ JBCACHE-729 ] Notifications not received in Listeners when using Optimistic Locking
  -    *  [ JBCACHE-730 ] Eviction policies do not always adhere to maxNodes when using optimistic locking
  -
  -** Task
  -    *  [ JBCACHE-725 ] Reduce the amount of INFO logging
  -    *  [ JBCACHE-728 ] PojoCache should allow non public no-arg constructor for POJO
  -
  -Release 1.4.0.GA (July 10, 2006)
  -
  -A new feature release containing very significant performance enhancements in replication, pojo operations and
  -cache loaders, as well as features such as buddy replication.
  -
  -** Sub-task
  -    *  [ JBCACHE-77 ] Create an eviction policy based on number of elements instead of nodes
  -    *  [ JBCACHE-458 ] Improve documentation on the configuration of state transfer
  -    *  [ JBCACHE-509 ] OOM during perf test under repl_sync mode
  -    *  [ JBCACHE-511 ] JBossCache payload size
  -    *  [ JBCACHE-520 ] JBossCache thruput I
  -    *  [ JBCACHE-521 ] Optimize modification list over the wire
  -    *  [ JBCACHE-553 ] JBossCache throughput II
  -    *  [ JBCACHE-556 ] Validate the original and the new api classes work under AS integration test
  -    *  [ JBCACHE-557 ] Make sure tutorial and PojoCache examples work with new PojoCache class name
  -    *  [ JBCACHE-558 ] Updated JBossCache documentation for PojoCache
  -    *  [ JBCACHE-560 ] Renamed PojoCache eviction policy
  -    *  [ JBCACHE-574 ] Optimize PojoCache in local mode
  -    *  [ JBCACHE-575 ] Optimize PojoCache in replicated mode
  -    *  [ JBCACHE-580 ] Refactored Collection interceptor impl
  -    *  [ JBCACHE-601 ] Use bulk update and remove for putObject
  -    *  [ JBCACHE-607 ] PojoCache uses _get to bypass lock and tx interceptors during putObject and removeObject
  -    *  [ JBCACHE-630 ] Modify ExtendedCacheLoader.storeState(byte[], Fqn) contract to support storage under _BUDDY_BACKUP_ subtree
  -    *  [ JBCACHE-631 ] If Buddy replication is used, cache loader must implement ExtendedCacheLoader
  -    *  [ JBCACHE-640 ] Collection class add/remove POJO needs to go through transaction as well
  +Release 2.0.0.ALPHA1 (November 17, 2006)
  +========================================
   
   ** Feature Request
  -    *  [ JBCACHE-61 ] Buddy Replication
  -    *  [ JBCACHE-76 ] Create an eviction interceptor
  -    *  [ JBCACHE-198 ] ReplicationInterceptor: replace remote method calls with message ids
  -    *  [ JBCACHE-451 ] Support @Transient annotation
  -    *  [ JBCACHE-454 ] Support @Serialize annotation
  -    *  [ JBCACHE-490 ] Create a new class name POJOCache to replace TreeCacheAop
  -    *  [ JBCACHE-504 ] Optimise marshalling of Fqn, GlobalTransaction, etc
  -    *  [ JBCACHE-505 ] Optimise references when streaming data on the wire
  -    *  [ JBCACHE-516 ] putObject() should check for "__jboss::internal__" keys
  -    *  [ JBCACHE-525 ] Add JDBM cache loader support to TreeCache
  -    *  [ JBCACHE-526 ] Timed and/or batched synchronization of Async CacheLoader operations
  -    *  [ JBCACHE-528 ] Make eviction a configurable option without passivation
  -    *  [ JBCACHE-535 ] CacheLoaderInterceptor fetches data overwritten by CacheLoader.put(Fqn n, Map m)
  -    *  [ JBCACHE-537 ] state transfer code to exclude under /_buddy_backup_ when marshalling the tree
  -    *  [ JBCACHE-538 ] overloading the local state transfer method with a root under which state would be stored
  -    *  [ JBCACHE-555 ] Reduce memory and increase basic performance
  -    *  [ JBCACHE-559 ] If setUseMarshalling is not set on one node, get unhelpful EOFException
  -    *  [ JBCACHE-564 ] Improve region matching algorithm in RegionManager
  -    *  [ JBCACHE-581 ] Performance of Method.equals
  -    *  [ JBCACHE-613 ] Provide skipLockInterceptor option for get and put
  -    *  [ JBCACHE-620 ] Max Age attribute on LRU cache policy
  -    *  [ JBCACHE-624 ] PojoCache add an option to handle non-instrumented POJO and non-Serializable replication
  -    *  [ JBCACHE-628 ] Expose PojoCache.getCachedType() in PojoCacheMBean
  -    *  [ JBCACHE-632 ] ChainingCacheLoader implements ExtendedCacheLoader
  -    *  [ JBCACHE-637 ] OPtion to bypass data gravitation
  -    *  [ JBCACHE-642 ] Flag to remove the FileCacheLoader content upon startup
  -    *  [ JBCACHE-652 ] create a special LRUAlgorithm with a inUse requirement
  -    *  [ JBCACHE-670 ] Create a tools directory in the dist to provide example Ant scripts for PojoCache pre-compiler.
  -
  -** Bug
  -    *  [ JBCACHE-352 ] Doing cache.remove() when a tx is running and a cacheloader is present, and doing a cache.get() within the same tx causes the cache to load the value from the cacheloader again
  -    *  [ JBCACHE-435 ] Multiple attempts to remove an AOP object on putObject()
  -    *  [ JBCACHE-477 ] Random removeing from Map/Collection in a transaction throws a IllegalStateException (InternalDelegate.resetRefCount(). Ref counter not -1 but 0 at fqn:...)
  -    *  [ JBCACHE-491 ] EvictionException in JBossCache-1.2.4
  -    *  [ JBCACHE-531 ] cache loader file location property isn't parsed correctly under JBoss AS
  -    *  [ JBCACHE-532 ] Calling getRegion() before getRegions() on RegionManager may cause a condition where the defaultRegion always gets used.
  -    *  [ JBCACHE-536 ] CacheStoreInterceptor does not erase old attributes with TreeCache.put(Map) call
  -    *  [ JBCACHE-539 ] Incorrect path specified in runShellDemo.sh
  -    *  [ JBCACHE-548 ] Transaction synchronisation afterCompletion() fails when using WebLogic TM
  -    *  [ JBCACHE-551 ] TreeCache.getKeys() -- null or empty set for no attributes
  -    *  [ JBCACHE-554 ] Nodes created in CacheLoaderInterceptor not rolled back in tx
  -    *  [ JBCACHE-573 ] Beanshell script errors while running examples
  -    *  [ JBCACHE-577 ] JUnit timeout problems
  -    *  [ JBCACHE-579 ] FileCacheLoader throws NPE if location points to a file instead of a directory.
  -    *  [ JBCACHE-587 ] Fqn.getName() directly casts to String
  -    *  [ JBCACHE-592 ] JBossCache AS integration produces exception
  -    *  [ JBCACHE-596 ] Building Distribution fails - JBossCache 1.4.0.Alpha
  -    *  [ JBCACHE-597 ] Test failure - org.jboss.cache.aop.ReplicatedObjectGraphAopTest
  -    *  [ JBCACHE-598 ] Test failure - org.jboss.cache.aop.eviction.AopLRUPolicyUpdateEvictionTest
  -    *  [ JBCACHE-599 ] Plain Cache tutorial example broken.
  -    *  [ JBCACHE-600 ] PojoCache sensor example broken
  -    *  [ JBCACHE-604 ] org.jgroups.MethodCall writes a classReferences to AOPProxy what is not valid
  -    *  [ JBCACHE-606 ] TimeoutException (and lock ownership problem) under load test
  -    *  [ JBCACHE-608 ] Cache loader does not load data for cache.get(Fqn fqn) calls
  -    *  [ JBCACHE-612 ] Race condition with 2-PC and pessimistic locking
  -    *  [ JBCACHE-614 ] AS4.0.4 integration error
  -    *  [ JBCACHE-615 ] Test failure - org.jboss.cache.buddyreplication.BuddyPoolBroadcastTest
  -    *  [ JBCACHE-616 ] Package org.jboss.cache.data missing in distribution (JBossCache 1.4.0.Beta)
  -    *  [ JBCACHE-622 ] TreeCache.getChildrenNames(fqn), in certain circumstances, wipes cache tree nodes that are children of fqn
  -    *  [ JBCACHE-626 ] PojoCache bug in annotation checking optimization
  -    *  [ JBCACHE-634 ] Using optimistic locking and setting UseMarshalling to true causes replication exceptions.
  -    *  [ JBCACHE-635 ] Illegal characters in buddy backup node names
  -    *  [ JBCACHE-636 ] Data Gravitation should pull back entire subtrees
  -    *  [ JBCACHE-639 ] PojoCache fails to retry to with RollbackException using Collection
  -    *  [ JBCACHE-641 ] Eviction policy emits too many notification events
  -    *  [ JBCACHE-646 ] Test failure - org.jboss.cache.loader.InterceptorSynchronizationTest (JBossCache 1.4.0.Beta2)
  -    *  [ JBCACHE-647 ] Interop tests failure (JBossCache 1.4.0.Beta2)
  -    *  [ JBCACHE-648 ] Exception during addNode in sensor example
  -    *  [ JBCACHE-649 ] IdentityLock.getFqn() always returns Fqn.ROOT
  -    *  [ JBCACHE-653 ] Classloader leakage during re-deployment
  -    *  [ JBCACHE-655 ] Cache under transaction should allow mix of LOCAL or REPL mode option
  -    *  [ JBCACHE-659 ] Evictions with Optimistic Locking not working
  -    *  [ JBCACHE-661 ] Serious concurrency issue with empty Cache & CacheLoader
  -    *  [ JBCACHE-662 ] missing synchronization on TreeCache "members"
  -    *  [ JBCACHE-668 ] Failure in synchronous remote commit() call leads to unreleased locks.
  -    *  [ JBCACHE-669 ] With buddy replication, PojoCache cannot find shared objects from a secondary pojo
  -    *  [ JBCACHE-682 ] AbortionTest extension to close channel in beforeCompletion() fails
  -    *  [ JBCACHE-683 ] PojoTxSynchronizationHandler produces NPE during rollback
  -
  -** Task
  -    *  [ JBCACHE-7 ] PojoCache benchmark and performance tuning
  -    *  [ JBCACHE-197 ] Review: can Node.data and Node.children bu a ConcurrentHashMap (efficiency)
  -    *  [ JBCACHE-203 ] PojoCache get/put/remove object apis needs to be atomic
  -    *  [ JBCACHE-333 ] Remove NestedRuntimeException (requires JDK 1.4 to be the baseline)
  -    *  [ JBCACHE-367 ] Remove dependency on eviction RegionManager from a direct reference AOP packages.
  -    *  [ JBCACHE-449 ] PojoCache when using CacheLoader is slow during putObject
  -    *  [ JBCACHE-488 ] Switch to JBoss Serialization for replication/storage
  -    *  [ JBCACHE-501 ] Need customized serialization to minimize PojoCache payload
  +    *  [ JBCACHE-3 ] Expose JGroups (protocols, channel) via JMX, provide common JGroups MBean
  +    *  [ JBCACHE-5 ] AOP HTTP session replication under Tomcat 5
  +    *  [ JBCACHE-33 ] TreeCache dependencies
  +    *  [ JBCACHE-35 ] Externalize the buffer queue size in LRUAlgorithm
  +    *  [ JBCACHE-52 ] Use ant docbook build for doc generation
  +    *  [ JBCACHE-54 ] PojoCache needs a customized interceptor option
  +    *  [ JBCACHE-57 ] Interfaces for accessing JBossCache
  +    *  [ JBCACHE-60 ] Partitioned Cache
  +    *  [ JBCACHE-85 ] PojoCache object event listener
  +    *  [ JBCACHE-89 ] Allow Specifying Custom Interceptors in XML Configuration
  +    *  [ JBCACHE-92 ] Eviction of entire subtrees
  +    *  [ JBCACHE-115 ] beforeEviction() callback
  +    *  [ JBCACHE-129 ] Ensure graceful handling of marshalling between different versions
  +    *  [ JBCACHE-131 ] Cache Loaders (when unshared, and not used with eviction) Should Persist Transient State Upon Startup
  +    *  [ JBCACHE-154 ] Ability to request cache statisics
  +    *  [ JBCACHE-161 ] Support chain of CacheLoaders
  +    *  [ JBCACHE-194 ] Provide configurable eviction thread priority boost
  +    *  [ JBCACHE-224 ] Expose eviction management attributes
  +    *  [ JBCACHE-254 ] Provide an efficient way to relocate a child Node
  +    *  [ JBCACHE-300 ] move()
  +    *  [ JBCACHE-301 ] putIfAbsent(), putIfNull(), putIfEquals() etc
  +    *  [ JBCACHE-315 ] Break locks for state transfer
  +    *  [ JBCACHE-328 ] Move attributes and getters/setters to interceptors
  +    *  [ JBCACHE-332 ] Webdav interface for accessing JBossCache
  +    *  [ JBCACHE-347 ] Replay tx if tx is created implicitly and fails on commit
  +    *  [ JBCACHE-354 ] PojoCache Collection proxy will keep track of the original reference
  +    *  [ JBCACHE-370 ] Competitive analysis of GigaSpaces
  +    *  [ JBCACHE-371 ] Create Spring clustering pagakage using JBossCache
  +    *  [ JBCACHE-388 ] Provide modified data in callbacks
  +    *  [ JBCACHE-404 ] Provide API to allow multiple callers to safely call activateRegion() .
  +    *  [ JBCACHE-450 ] Create a pure pojo-based eviction policy
  +    *  [ JBCACHE-479 ] Cache loader to load children as well when loading a node
  +    *  [ JBCACHE-529 ] Improve performance of JDBC CacheLoader
  +    *  [ JBCACHE-533 ] Change synchronization to use locks in Passivation/Activation interceptor
  +    *  [ JBCACHE-541 ] Create one true Node class; that's lean and mean and stuff
  +    *  [ JBCACHE-552 ] Use "/" to replace "__DEFAULT__" in eviction policy
  +    *  [ JBCACHE-586 ] Use new PojoCache APIs to replace the exisiting pojo operations
  +    *  [ JBCACHE-619 ] PojoCache to support JDK5.0 Enum
  +    *  [ JBCACHE-643 ] Tx undo during rollback exception needs to go into an interceptor
  +    *  [ JBCACHE-645 ] Providing xml schema or dtd for configuration validation
  +    *  [ JBCACHE-650 ] SharedStoreCacheLoader
  +    *  [ JBCACHE-654 ] Upgrade to JBoss AOP 2.0 to prevent classloader memory leakage during re-deployment
  +    *  [ JBCACHE-656 ] Implement a Cachefactory for constructing a Cache
  +    *  [ JBCACHE-658 ] Fast locking for mostly-read PojoCache
  +    *  [ JBCACHE-681 ] PojoCache to handle jdom documentation
  +    *  [ JBCACHE-684 ] Make the eviction node event queue size configurable
  +    *  [ JBCACHE-699 ] PojoCache create a modified Observable aop aspect pattern
  +    *  [ JBCACHE-700 ] PojoCache api to throw PojoCacheException
  +    *  [ JBCACHE-702 ] PojoCache to specify a user-defined region option for buddy replication and eviction policy
  +    *  [ JBCACHE-721 ] PojoCache documentation enhancement
  +    *  [ JBCACHE-722 ] PojoCache 2.0 creates an example for passivation usage
  +    *  [ JBCACHE-744 ] Expand CacheLoader API to support streaming state transfer
  +    *  [ JBCACHE-762 ] Configuration object enhancements
  +    *  [ JBCACHE-781 ] PojoCache creates a separate pojocache.jar for distro
  +    *  [ JBCACHE-783 ] PojoCache to provide MBean interfaces
  +    *  [ JBCACHE-801 ] Restore EvictionPolicy ability to ignore events based on event type
  +    *  [ JBCACHE-802 ] NonManagedConnectionFactory does not place new connections in ThreadLocal (JDBCCacheLoader)
  +    *  [ JBCACHE-813 ] BaseRpcInterceptor to call callRemoteMethod() instead of callRemoteMethods() when sending to a single recipient
  +    *  [ JBCACHE-834 ] Combine eviction RegionManager with generic RegionManager
  +    *  [ JBCACHE-839 ] PojoCache to add an option to replicate final field
  +    *  [ JBCACHE-840 ] Make testsuite configurable to run with different Jgroups stack configurations
  +    *  [ JBCACHE-842 ] Optimistic Locking improvements - validation on read-only transactions
  +    *  [ JBCACHE-848 ] Implement putFromExternalRead()
  +
  +** Bug
  +    *  [ JBCACHE-30 ] Multiple MBean Configuration Error
  +    *  [ JBCACHE-110 ] PojoCache overriding toString or hashCode can trigger stack overflow
  +    *  [ JBCACHE-172 ] Strange performance problem with LRU
  +    *  [ JBCACHE-250 ] Hierarchical caches not working when using JBoss service
  +    *  [ JBCACHE-251 ] Cached map uses toString() of key to create FQN
  +    *  [ JBCACHE-268 ] PojoCache InternalDelegate can return incorrect AOPInstance object
  +    *  [ JBCACHE-399 ] CachedMapImpl doesn't store key objects
  +    *  [ JBCACHE-407 ] Write locks not acquired on newly created empty nodes
  +    *  [ JBCACHE-434 ] InternalDelegate doesn't relocate AOP nodes properly
  +    *  [ JBCACHE-461 ] Potential bug in ReentrantWriterPreferenceReadWriteLock from util.concurrent
  +    *  [ JBCACHE-565 ] Optimistic locking - cache.exists() refers to the tree while cache.get() refers to the workspace
  +    *  [ JBCACHE-644 ] FileCacheLoader fails if FQN contains illegal/too many characters
  +    *  [ JBCACHE-690 ] TcpCacheServer never gets out of STARTING state, and doesn't shut down socket when stop() is called.
  +    *  [ JBCACHE-694 ] Collection added to itself causes stack explosion in toString()
  +    *  [ JBCACHE-695 ] PojoCache transaction context has limitation for in-memory rollbakck
  +    *  [ JBCACHE-708 ] EOF exception in TcpCacheLoader
  +    *  [ JBCACHE-710 ] FileCacheLoader passivation/activation produces recursive exception when loader.remove fails
  +    *  [ JBCACHE-714 ] PojoCache Collection class has incorrect swapping of ClassProxy
  +    *  [ JBCACHE-739 ] Exception in a CacheLoader throws ChainingCacheLoader calling method and prevent the call to the next CacheLoaders
  +    *  [ JBCACHE-740 ] Optimistic Locking Scheme: Occasional IllegalStateExceptions on commit
  +    *  [ JBCACHE-755 ] Potential bug when using (async) replication queue and region based marshalling
  +    *  [ JBCACHE-756 ] Marshaller breaks with Strings of length greater than 32767
  +    *  [ JBCACHE-757 ] Problem updating cyclic reference
  +    *  [ JBCACHE-760 ] TreeCacheListener in PojoCache gets nodeModify events for invalid objects
  +    *  [ JBCACHE-763 ] Transaction rollback does not restore contents of collection of cached collections
  +    *  [ JBCACHE-765 ] implementation of equals() in collections is incorrect
  +    *  [ JBCACHE-767 ] Fail more silently when setting node versions
  +    *  [ JBCACHE-769 ] JDBCCacheLoader should not directly serialize a map passed to put
  +    *  [ JBCACHE-785 ] InvocationContext and suspended transactions
  +    *  [ JBCACHE-790 ] NPE on getNotifier after cache instantiation
  +    *  [ JBCACHE-792 ] ChainingCacheLoader method get(Fqn) - unecessary call of the next CacheLoader
  +    *  [ JBCACHE-794 ] Eviction Queue hard limit can cause deadlocks
  +    *  [ JBCACHE-795 ] listIterator in a cached list throws exception on empty list
  +    *  [ JBCACHE-799 ] Bug in RmiDelegatingCacheLoader class
  +    *  [ JBCACHE-806 ] Invalidation causes problems with otimistic data versioning and certain edge cases
  +    *  [ JBCACHE-810 ] TCP Delegating Cache Loader not multithreaded
  +    *  [ JBCACHE-814 ] Concurrency issue with eviction
  +    *  [ JBCACHE-825 ] PassivationInterceptor emits notification even if the node isn't loaded
  +    *  [ JBCACHE-830 ] Incorrect serialization of Collection and Map proxies
  +    *  [ JBCACHE-833 ] Redundant lock in cache loader
  +    *  [ JBCACHE-843 ] Data versions do not replicate properly alongside data
  +    *  [ JBCACHE-849 ] PojoCache jmx test case failure
  +
  +** Task
  +    *  [ JBCACHE-4 ] Notification of remote modification
  +    *  [ JBCACHE-6 ] JDBCCacheLoader should be additionally configured through DataSource
  +    *  [ JBCACHE-13 ] Lazy loading: PojoCache and CacheLoader
  +    *  [ JBCACHE-41 ] Add JBossCache AOP-related unit tests to regular testsuite
  +    *  [ JBCACHE-44 ] Full POJO-based application use case (Order, Customer, LineItems) on TreeCacheAop
  +    *  [ JBCACHE-63 ] JBossCache benchmarks
  +    *  [ JBCACHE-137 ] Packaging of JBossCache lib
  +    *  [ JBCACHE-139 ] Node notification event that ecludes myself
  +    *  [ JBCACHE-156 ] Refactor the docs directory
  +    *  [ JBCACHE-160 ] RpcDispatcher has class not found exception when running under Tomcat
  +    *  [ JBCACHE-163 ] Consolidate jboss related libraries
  +    *  [ JBCACHE-173 ] Locking model when pojo is multiple referenced
  +    *  [ JBCACHE-204 ] Externalize RegionManager.Capacity parameter
  +    *  [ JBCACHE-209 ] Expand the JBossCache tutorial page
  +    *  [ JBCACHE-215 ] Benchmark agaist other cache products
  +    *  [ JBCACHE-237 ] When remove a Pojo with shared Collection instances from cache, will need to restore the original reference
  +    *  [ JBCACHE-274 ] Remove deprecated public API methods in Node interface, and change usage within the code base to use DataNode
  +    *  [ JBCACHE-295 ] Add unit tests for ReplicationQueue
  +    *  [ JBCACHE-326 ] Create the concept of a "priority queue" to speed execution of certain remote method invocations
  +    *  [ JBCACHE-344 ] JBoss Cache IDE Eclipse-Plugin
  +    *  [ JBCACHE-413 ] Split up build.xml
  +    *  [ JBCACHE-431 ] Remove jboss-XXX JARs which contain Nested(Runtime)Exceptions
  +    *  [ JBCACHE-432 ] PropertyConfigurator: investigate how to implement parsing functionality without use of PropertyEditor
  +    *  [ JBCACHE-465 ] Refactor state transfer code out of TreeCache
  +    *  [ JBCACHE-469 ] JGroups Channel reference to be obtained from a factory
  +    *  [ JBCACHE-470 ] Update JBoss Cache to use JGroups 2.4 and Multiplexer
  +    *  [ JBCACHE-471 ] Handle JGroups MERGE
  +    *  [ JBCACHE-472 ] Release JBoss Cache 2.0
  +    *  [ JBCACHE-478 ] Translate docs into Italian
  +    *  [ JBCACHE-486 ] Optimize activations
       *  [ JBCACHE-508 ] JBossCache bechmark and performance tuning
  -    *  [ JBCACHE-517 ] Create a default marshaller for JBossCache
  -    *  [ JBCACHE-540 ] Be consistent between Node.getDataKeys and Tree.getKeys behavior
  -    *  [ JBCACHE-550 ] Properly handle marshalling for the _buddy_backup_ region
  -    *  [ JBCACHE-582 ] activateRegion() should initiate a state transfer from all DataOwners for which the cache is a buddy
  -    *  [ JBCACHE-583 ] inactivateRegion() should clear the corresponding subtree from all _buddy_backup_ regions
  -    *  [ JBCACHE-605 ] Node to re-throw lock exception with proper fqn
  -    *  [ JBCACHE-610 ] prepare methodcall has a bigger payload size
  -    *  [ JBCACHE-621 ] PojoCache to optimize Collection classes with value as primitive such as String
  -    *  [ JBCACHE-666 ] Refactored PojoCache examples directory to allow easier use of the ant tasks for users projects
  -    *  [ JBCACHE-672 ] PojoCache uses registered classloader during failover
  +    *  [ JBCACHE-522 ] Investigate usage of java.util.concurrent in place of EDU.oswego...util.concurrent where possible.
  +    *  [ JBCACHE-562 ] Disable cache loader when no classloader class is specified
  +    *  [ JBCACHE-576 ] Evaluate against competing buddy replication implementations
  +    *  [ JBCACHE-588 ] Refactor PojoCache implementation to use interceptor-based architecture
  +    *  [ JBCACHE-589 ] PojoCache pojo level locking semantics
  +    *  [ JBCACHE-591 ] Convert all state transfer to use channel's partial state transfer
  +    *  [ JBCACHE-593 ] JBoss Cache features for JBoss AS 5.0
  +    *  [ JBCACHE-595 ] Merge API interfaces
  +    *  [ JBCACHE-651 ] Node should not implement Externalizable
  +    *  [ JBCACHE-664 ] Add JBossRetro jars, baseline to Java5 and create a Java1.4 compat binary
  +    *  [ JBCACHE-673 ] Refactor PojoCache to use TreeCache as a delegate
  +    *  [ JBCACHE-676 ] PojoCache map implementation needs to handle the case where key is PojoCacheable
       *  [ JBCACHE-678 ] Adding Troubleshooting to FAQ
       *  [ JBCACHE-680 ] TreeCache demo gui to update view instanteously
  -    
  -    
  -Release 1.3.0.SP3 (July 11, 2006)
  -================================
  -
  -A bug fix release.
  -
  -** Bug
  -    * [JBCACHE-661] - Serious concurrency issue with empty Cache & CacheLoader
  -    * [JBCACHE-665] - Concurrent modification exception when eviction thread attempts to access workspace with opt locking
  -    * [JBCACHE-668] - Failure in synchronous remote commit() call leads to unreleased locks.
  -    * [JBCACHE-682] - AbortionTest extension to close channel in beforeCompletion() fails
  -
  -Release 1.3.0.SP2 (May 08, 2006)
  -================================
  -
  -A bug fix release.
  -
  -** Bug
  -    *  [ JBCACHE-587 ] Fqn.getName() directly casts to String
  -    *  [ JBCACHE-592 ] JBossCache AS integration produces exception
  -    *  [ JBCACHE-606 ] TimeoutException (and lock ownership problem) under load test
  -    *  [ JBCACHE-612 ] Race condition with 2-PC and pessimistic locking
  -
  -Release 1.3.0.SP1 (April 13, 2006)
  -==================================
  -
  -A bug fix release.
  -
  -** Bug
  -    *  [ JBCACHE-531 ] cache loader file location property isn't parsed correctly under JBoss AS
  -    *  [ JBCACHE-532 ] Calling getRegion() before getRegions() on RegionManager may cause a condition where the defaultRegion always gets used.
  -    *  [ JBCACHE-534 ] Sample configuration in JBoss Cache 1.3.0 documents is improper XML
  -    *  [ JBCACHE-539 ] Incorrect path specified in runShellDemo.sh
  -    *  [ JBCACHE-548 ] Transaction synchronisation afterCompletion() fails when using WebLogic TM
  -    *  [ JBCACHE-567 ] TreeCacheAop transaction need to handle RollbackException
  -
  -Release 1.3.0.GA (March 31, 2006)
  -==================================
  -
  -A new feature release, containing Invalidation as a new cache mode, optimistic locking, much better Hibernate
  -integration and interoperability, new remote delegating cache loaders, much improved overall cache loader
  -performance, ability to configure more than one cache loader per cache instance, and a new Option API for
  -overriding specific configuration elements on a per-request basis.
  -
  -Release Notes - JBoss Cache - Version 1.3.0
  -
  -** Feature Request
  -    * [JBCACHE-47] - Dynamic eviction region configuration programmatically
  -    * [JBCACHE-56] - Expose JBossCache management attributes
  -    * [JBCACHE-68] - Singleton CacheLoader
  -    * [JBCACHE-69] - Optimistic Locking
  -    * [JBCACHE-88] - Add RemoteDelegatingCacheLoader
  -    * [JBCACHE-100] - RMI-based DelegatingCacheLoader
  -    * [JBCACHE-106] - Override default properties on a method call basis
  -    * [JBCACHE-144] - No production-quality Cache Invalidation framework for Hibernate 2nd level cache
  -    * [JBCACHE-145] - TCP based remote CacheLoader
  -    * [JBCACHE-158] - FileCacheLoader Needs To Create Cache Loader Locations (If They Do Not Exist)
  -    * [JBCACHE-170] - CacheLoader chaining
  -    * [JBCACHE-171] - Clustered get() for CacheLoader
  -    * [JBCACHE-175] - JBossCacheAop supports of 1.5 annotation
  -    * [JBCACHE-201] - local and transient put
  -    * [JBCACHE-213] - Create a Least Frequently Used (LFU) eviction policy
  -    * [JBCACHE-259] - add shouldEvictNode to LRUAlgorithm
  -    * [JBCACHE-269] - More fine grained locking for initial state transfer
  -    * [JBCACHE-286] - Sort eviction node entries for more efficient eviction processing.
  -    * [JBCACHE-306] - flushing the queue in AsyncCacheLoader
  -    * [JBCACHE-307] - Invalidation instead of Replication
  -    * [JBCACHE-312] - Create additional eviction policies for LFU, MRU, etc...
  -    * [JBCACHE-314] - Allow Eviction Policy to be configurable at runtime.
  -    * [JBCACHE-345] - JDBCCacheLoader should have configurable primary key name.
  -    * [JBCACHE-366] - Allow XML configuration to configure each Region with its own EvictionPolicy class. Maintain backwards compatibility of 1.2.X style Eviction XML configuration in the process.
  -    * [JBCACHE-369] - Comptetitive analysis of Terracotta DSO
  -    * [JBCACHE-384] - Build file "dist" target: generate version numbers within filenames for artifacts to be released
  -    * [JBCACHE-385] - Build dist:  md5 checksum generation for artifacts to release
  -    * [JBCACHE-391] - Upgrade jboss aop to 1.3.5
  -    * [JBCACHE-392] - Performance enhancement on ClusteredCacheLoader
  -    * [JBCACHE-393] - Cache loader interceptors hide exceptions
  -    * [JBCACHE-395] - Use new annotation name for POJO Cache
  -    * [JBCACHE-420] - Cache activations perform excessive cache loader operations
  -    * [JBCACHE-464] - Include thirdparty licenses in distribution
  -    * [JBCACHE-502] - Allow primitive arrays as params to putObject
  -    * [JBCACHE-513] - Review synchronization block in CacheLoaderInterceptor
  -
  -** Bug
  -    * [JBCACHE-29] - ConcurrentModificationException during rollback
  -    * [JBCACHE-176] - Eviction Policy must be a LRUPolicy
  -    * [JBCACHE-208] - CacheStoreInterceptor is called even tough no put method is implemented on a custom cacheloader which causes TreeCache to respond very slowly.
  -    * [JBCACHE-210] - getKeys returns null
  -    * [JBCACHE-218] - READ_COMMITTED isolation level doesn't prevent a reader to see uncommitted changes
  -    * [JBCACHE-230] - Fqn contruction using Integer as an Obejct would fail sometimes
  -    * [JBCACHE-285] - Revisit READ_COMMITTED implementation
  -    * [JBCACHE-289] - FileCacheLoader does not work well with JBoss system properties on Windows
  -    * [JBCACHE-290] - FileCacheLoader expects to find a persisted file on startup
  -    * [JBCACHE-297] - Lock timeout in TreeCacheListener at rollback
  -    * [JBCACHE-320] - JDBCCacheLoader breaks when using MySQL JDBC driver
  -    * [JBCACHE-339] - Collection class .size() method won't  return correctly  when used with cache loader
  -    * [JBCACHE-346] - JDBCCacheLoader fails with ManagedConnections
  -    * [JBCACHE-348] - Problem with checks for conflicts in regionNames() for eviction policies
  -    * [JBCACHE-355] - Remove a put in the same transaction fails for rollback
  -    * [JBCACHE-357] - TreeCache mbean fails when displayed remotely in jconsole
  -    * [JBCACHE-373] - Wrong Region selected in RegionManager
  -    * [JBCACHE-383] - For local tx initiated due to a remote prepare(), TxInterceptor doesn't use the Transaction API to commit()/rollback() .
  -    * [JBCACHE-386] - JRunit Performance tests fail if ran on a system which does not have an xserver
  -    * [JBCACHE-387] - TreeCache startService() can hang if an exception occurs in setState()
  -    * [JBCACHE-389] - Loading of a node and subsequent eviction doesn't load the children on TreeCache.getChildrenNames()
  -    * [JBCACHE-390] - With TcpDelegatingCacheLoader and replication, all caches write the same modification to the central TcpCacheServer
  -    * [JBCACHE-396] - CachedSetImpl overwrites elements if add() is called after a remove().
  -    * [JBCACHE-398] - Cached collections don't handle null values correctly
  -    * [JBCACHE-400] - Node passivation fails with JDBCCacheLoader and SQL Server 2000
  -    * [JBCACHE-402] - CollectionClassHandler doesn't convert key to String in Map
  -    * [JBCACHE-405] - Locks reported as acquired not visible to other threads
  -    * [JBCACHE-426] - Nodes aren't removed successfully after prior eviction
  -    * [JBCACHE-443] - SerialVersionUID backward compatability
  -    * [JBCACHE-444] - Additional SerialVersionUID backward compatability issues
  -    * [JBCACHE-457] - Commit and rollback methods in 1.3 are not interoperable with previous versions.
  -    * [JBCACHE-459] - NPE in TxInterceptor when gtx tansaction entry not found
  -    * [JBCACHE-460] - JBossCache 1.3 pre-alpha integration error
  -    * [JBCACHE-476] - TreeCache.setIsolationLevel is setting the JVM-wide static field LockStrategyFactory.isolationLevel
  -    * [JBCACHE-487] - cache-jdbc.properties not included in the binary distribution
  -    * [JBCACHE-494] - Eviciton imporperly thrown when an eviction node not found
  -    * [JBCACHE-495] - LRUPolicyTest case failed
  -    * [JBCACHE-496] - Map does support key values that are not String
  -    * [JBCACHE-498] - Replication issue with Collection proxy using Iterators
  -    * [JBCACHE-506] - viewAccepted() doesn't always check if we are the coordinator
  -    * [JBCACHE-507] - Cache starts successfully even in state transfer fails
  -    * [JBCACHE-512] - Deadlock when using cache loaders and a concurrent node creation occurs
  -    * [JBCACHE-523] - Interceptor MBeans are never destroyed
  -
  -** Task
  -    * [JBCACHE-10] - Remove locks for crashed/left members
  -    * [JBCACHE-109] - Use context classloader or classloader of current class
  -    * [JBCACHE-118] - Inefficient CacheLoader.exists() followed by CacheLoader.get()
  -    * [JBCACHE-133] - Add a layer to automaticcally handle marshalling/unmarshalling
  -    * [JBCACHE-141] - Memory Requirement for JBoss Cache Instance
  -    * [JBCACHE-225] - Refactor eviction policy plugin
  -    * [JBCACHE-226] - Project Management Tasks for JBoss Cache
  -    * [JBCACHE-252] - Release JBossCache 1.3.0
  -    * [JBCACHE-309] - Cache version serialVersionUID incompatibilities
  -    * [JBCACHE-313] - Make Region as a first class citizen such that it is visible from TreeCache.
  -    * [JBCACHE-317] - Convert current TreeCache docbook into book format
  -    * [JBCACHE-330] - Run more extensive tests with JDBC cache loader
  -    * [JBCACHE-337] - WorkspaceNodes should not hold references to DataNodes.  Remove this dependency, use cache._get()
  -    * [JBCACHE-356] - Certify JBoss Cache Content on JBoss Labs
  -    * [JBCACHE-358] - PREPARE phase doesn't cause rollback of TX if not all responses are received
  -    * [JBCACHE-360] - Alter DummyTransaction rollback behavior to match JBoss AS' TransactionImpl
  -    * [JBCACHE-374] - Investigate reducing the synchronization in CacheStoreInterceptor
  -    * [JBCACHE-376] - Sample configs with new 1.3 features
  -    * [JBCACHE-377] - Performance tuning optimistic locking
  -    * [JBCACHE-397] - Need to design for binary compatible evolution of the wire protocol
  -    * [JBCACHE-418] - Need to use JDK5.0 to release JBossCache 1.3
  -    * [JBCACHE-419] - Make sure JBossCache 1.3 is backward comptaible with earlier release
  -    * [JBCACHE-427] - Need license notices
  -    * [JBCACHE-428] - Need to emit more verbose exception fpr replication layer
  -    * [JBCACHE-429] - Make default state transfer timeout > lock acquisition timeout
  -    * [JBCACHE-430] - Remove dependencies to Nested(Runtime)Exception
  -    * [JBCACHE-456] - Decouple attribute FetchStateAtStartup from FetchInMemoryState
  -    * [JBCACHE-475] - Consider removing or disabling config option DeadlockDetection
  -    * [JBCACHE-489] - FAQ update
  -    * [JBCACHE-499] - Use object identity in GlobalTransaction.equals()
  -    * [JBCACHE-500] - Object identity not directly used in Fqn equals() implementation
  -    * [JBCACHE-503] - Create a JBossCache performance test
  -    * [JBCACHE-524] - During putObject in PojoCache, we should do a collective put for the primitive fields
  -
  -** Support Patch
  -    * [JBCACHE-351] - Support patch incorporating JBCACHE-350
  -
  -** Patch
  -    * [JBCACHE-394] - Performance Improvements in CachedSetImpl
  -    * [JBCACHE-433] - HEAD Fails org.jboss.cache.ConcurrentEvictAndRemoveTest Due To ConcurrentModificationExceptions
  -    * [JBCACHE-484] - Minor code clean-up for Cache head
  -
  -** CTS Challenge
  -    * [JBCACHE-372] - TreeCacheAop Performace metrics
  -
  -Release 1.2.4SP2 (February 21, 2006)
  -====================================
  -
  -* Primarily concerned with restoring interoperability with version 1.2.3
  -  and previously by reverting some API changes and by providing the ability
  -  to serialize data in the format expected by the earlier releases.
  -* Various bug fixes.
  -
  -Details:
  -
  -** Feature Request
  -    *  [ JBCACHE-345 ] JDBCCacheLoader should have configurable primary key name.
  -
  -** Bug
  -    *  [ JBCACHE-346 ] JDBCCacheLoader fails with ManagedConnections
  -    *  [ JBCACHE-387 ] TreeCache startService() can hang if an exception occurs in setState()
  -    *  [ JBCACHE-396 ] CachedSetImpl overwrites elements if add() is called after a remove().
  -    *  [ JBCACHE-436 ] Cache startup does state transfer before starting cache loader.
  -    *  [ JBCACHE-446 ] Possible NPE in LockMap.isOwner()
  -
  -** Task
  -    *  [ JBCACHE-422 ] Restore Fqn's serializable compatibility with 1.2.3
  -    *  [ JBCACHE-423 ] Fix minor serialVersionUID incompatibilities with 1.2.3.1
  -    *  [ JBCACHE-424 ] Restore ability to Externalize class Node
  -    *  [ JBCACHE-425 ] Create StateTransferGenerator and StateTransferIntegrator versions for 1.2.3
  -    *  [ JBCACHE-438 ] Create attribute ReplicationVersion and deprecate StateTransferVersion
  -    *  [ JBCACHE-455 ] Restore API compatibility with 1.2.3 by changing DataNode back to Node
  -    *  [ JBCACHE-240 ] Complete implementation of current Collection apis
  -    *  [ JBCACHE-242 ] Write complete set of unit test cases against Collection impl
  -    *  [ JBCACHE-440 ] Implement an algorithm for converting release versions from String to short
  -    *  [ JBCACHE-445 ] Create junit tests to test compatibility with 1.2.3.1
  -
  -
  -Release 1.2.4SP1 (December 28 2005)
  -===================================
  -
  -* Bug fixes, particularly in the area of handling transaction rollbacks.
  -* Improve memory utilization when preparing large state transfers.
  -
  -Details:
  -
  -** Bug
  -
  -    * [JBCACHE-353] - Endless loop in IdentityLock sometimes triggered on TreeCache reconnection
  -    * [JBCACHE-359] - Callback into cache by TreeCacheListener prevents transaction rollback
  -    * [JBCACHE-361] - Marking a transaction as rollback only on a remote node does not result in a rollback of the overall transaction
  -
  -** Task
  -
  -    * [JBCACHE-349] - Include RpcTreeCacheMBean that's compatible with treecache-based HA-JNDI
  -    * [JBCACHE-350] - Reduced memory footprint for state transfer
  -    * [JBCACHE-360] - Alter DummyTransaction rollback behavior to match JBoss AS' TransactionImpl
  -
  -
  -Release 1.2.4 (Oct 20 2005)
  -===========================
  -
  -* Create build examples for load and compile time instrumentation for JBossCacheAop 
  -* Support partial state transfer 
  -
  -Details:
  -
  -** Feature Request
  -
  -* [JBCACHE-265] - Create build examples for load and compile time instrumentation for JBossCacheAop 
  -* [JBCACHE-273] - Support partial state transfer 
  -* [JBCACHE-294] - Upgrade JRunitTests with Xref reporter 
  -* [JBCACHE-305] - Allow use of registerClassLoader() API before createService()/startService() 
  -* [JBCACHE-335] - Backwards Compatibility for State Transfer 
  -
  -** Bug
  -
  -* [JBCACHE-279] - JBossCache fails with java.util.NoSuchElementException under heavy logging load 
  -* [JBCACHE-292] - The specification info in the jboss-cache.jar manifest is incorrect. 
  -* [JBCACHE-293] - IdentityLock.releaseAll() attempts to modify an unmodifiable Set 
  -* [JBCACHE-298] - ReplicationInterceptor does not remove entries from transaction map for remote calls 
  -* [JBCACHE-303] - JDBCCacheLoader attempts JNDI lookup of DataSource before it is registered 
  -* [JBCACHE-308] - ReplicationInterceptor does not remove entries from remote_transactions set for one-phase commit calls 
  -* [JBCACHE-310] - IdentityLock.toString() not thread safe 
  -* [JBCACHE-316] - Deadlock problems with __JBoss_Internal__ region under REPL_SYNC 
  -* [JBCACHE-319] - Node marshalling marshalls data redundantly 
  -* [JBCACHE-329] - Optimistic locking - allows concurrent mod if a node is deleted in the underlying cache. 
  -* [JBCACHE-334] - JBossCacheAop deadlock if use putObject with shared pojos from two separate cache instances concurrently 
  -* [JBCACHE-343] - maxAgeSeconds in LRUPolicy is not set correctly 
  -
  -** Task
  -
  -* [JBCACHE-128] - Handle MashalledValue for different class loaders 
  -* [JBCACHE-138] - Release 1.2.4 final 
  -* [JBCACHE-296] - Incorporate Fix for JBAS-2262 in the jboss-system.jar bundled with JBossCache 1.2.4 
  -* [JBCACHE-299] - Update the build script to include a target that creates a dist with src 
  -* [JBCACHE-302] - Document using the TreeCacheMarshaller 
  -* [JBCACHE-304] - Added missing locking scheme apis for TreeCacheMBean 
  -* [JBCACHE-321] - Remove dependency on log4j 
  -* [JBCACHE-325] - Use NodeData instead of Externalizable to marshal transient state for state transfer 
  -
  -
  -Release 1.2.4Beta (Spet 12 2005)
  -===========================
  -
  -* New object graph model for JBossCacheAop to handle complex
  -interactions between Collections and Pojos.
  -* Added jboss-cache-minimal-dist.zip for library only package
  -* ExtendedTreeCacheListener for additional TreeCache events
  -* Upgraded to JBossAop 1.3.1 libraries
  -* JBossCacheAop load-time instrumentation mode uses a new class loader
  -* Added passivation/activation
  -* Added a TreeCacheMarshaller to handle scoped class loader
  -* Added an additional Api findObjects for TreeCacheAop
  -* JBossCacheAop object graph now works with persistency
  -* Added 2 network management test cases under org.jboss.cache.aop.integrated
  -packages
  -* Renamed previously examples directory to tests. Examples directory now
  -has complete examples
  -* Collection classes when detached from cache will now automatically
  -populate the values from cache to in-memory
  -* TreeCacheAop loadtime instrumentation use a GeneratedInstrumentClassLoader
  -now
  -* TreeCacheAop new doc
  -* Test package has been renamed to mirror class being tested
  -
  -Details
  -
  -** Feature Request
  -    * [JBCACHE-12] - Async CacheLoader
  -    * [JBCACHE-66] - Passivation/overflow
  -    * [JBCACHE-87] - Add an abstract implementation of TreeCacheListener
  -    * [JBCACHE-104] - Mass removal of AOP POJOs
  -    * [JBCACHE-159] - preEvict and preRemove would be useful
  -    * [JBCACHE-196] - Upgrade to Sleepycat 2.0
  -    * [JBCACHE-205] - Added a new API to query all the existing pojos in TreeCacheAop
  -    * [JBCACHE-223] - CacheLoader in cacheaop support object relationship
  -    * [JBCACHE-246] - Should allow to overwrite existing Pojo if it is not multipled referenced
  -    * [JBCACHE-255] - Create a marshalling handler for TreeCache
  -    * [JBCACHE-265] - Create build examples for load and compile time instrumentation for JBossCacheAop
  -    * [JBCACHE-273] - Support partial state transfer
  -    * [JBCACHE-287] - Create individual example completed with Ant script for ship in the distribution
  -
  -** Bug
  -    * [JBCACHE-116] - CacheLoaderInterceptor calls CacheLoader.exists() spuriously
  -    * [JBCACHE-127] - Binding JBossCache 1.2.1 using JRMPProxyFactory to JNDI
  -    * [JBCACHE-135] - Node eviction in AopTree causes permanent removal of a node
  -    * [JBCACHE-178] - removeObject needs to remove remote node's cacheinterceptor in TreeCacheAop
  -    * [JBCACHE-184] - Error in capacity warning calculation in Region.putNodeEvent
  -    * [JBCACHE-185] - JBossCacheAop getObject call will trigger un-necessary network replication
  -    * [JBCACHE-191] - replication_granularity is not specified in jboss-web_4_0.dtd (and 3_2)
  -    * [JBCACHE-192] - Nodes don't get unlocked in special cases after method calls
  -    * [JBCACHE-200] - Initial state transfer produces class not serializable error in TreeCacheAop
  -    * [JBCACHE-216] - Should throw exception when default region is not configured in LRUPolicy config
  -    * [JBCACHE-221] - Shared objects under Collection throws exception
  -    * [JBCACHE-228] - Collection class removeObject should return the old copy
  -    * [JBCACHE-243] - Incorrect Iterator impl in Collection List and Set proxies
  -    * [JBCACHE-253] - Missing Modify Notification if an object is removed from a node
  -    * [JBCACHE-260] - Jboss Cache IdentityLock read/write lock could not be acquired
  -    * [JBCACHE-277] - PassivationInterceptor fails when used with a tx started outside of calls to the cache.
  -    * [JBCACHE-280] - nodeCreated() callback leads to leftover locks when calling back into the cache (get(), put())
  -    * [JBCACHE-284] - Node.put() does not result in replication
  -
  -** Task
  -    * [JBCACHE-148] - null obj arguement will throw exception in putObject
  -    * [JBCACHE-164] - TreeCacheAop eviction is allowed only with CacheLoader
  -    * [JBCACHE-179] - refactoring removeObject
  -    * [JBCACHE-183] - Over synchronization in IdentityLock and LockMap
  -    * [JBCACHE-186] - Replace synchronizedSet/List() with ConcurrentHashMap
  -    * [JBCACHE-187] - Inefficient create_lock in LockInterceptor.lock()
  -    * [JBCACHE-188] - Replace TreeCacheListener Vector with more concurrent equivalent
  -    * [JBCACHE-189] - Cache hash code for Fqn and GlobalTransaction objects
  -    * [JBCACHE-190] - Reduce frequency of calls to nodeEventQueue_.size() in Region.putNodeEvent
  -    * [JBCACHE-193] - ReadWriteLockWithUpgrade concurrency problem due to ThreadLocal
  -    * [JBCACHE-195] - Change LockMap.readOwnersList_ to ConcurrentReaderHashMap from ConcurrentHashMap
  -    * [JBCACHE-202] - Custom Eviction Policy: Use age of items to determine eviction order
  -    * [JBCACHE-211] - faq update
  -    * [JBCACHE-212] - Doc update
  -    * [JBCACHE-217] - Refactor test class package structure to mirror the class being tested...
  -    * [JBCACHE-219] - Renamed key of sub-object that is Serializable but not Aspectized
  -    * [JBCACHE-220] - Handle multiple references/object graph for Collection classes
  -    * [JBCACHE-222] - Internal fqn name for Collection class may not be unique
  -    * [JBCACHE-244] - Refactor JBossCacheAop object graph model
  -    * [JBCACHE-247] - AOPInstance has a sourceFqn set to track referees
  -    * [JBCACHE-248] - New integrated junit tests need to run using annoc target
  -    * [JBCACHE-249] - Multiple distribution packages
  -    * [JBCACHE-261] - Distributed State (TreeCache) requirement for TreeCache listener
  -    * [JBCACHE-263] - Upgraded to JBossAop 1.3 libraries
  -    * [JBCACHE-264] - Refactored startService lifecycle
  -    * [JBCACHE-271] - Validate AbstractTreeCacheListener implementation
  -    * [JBCACHE-272] - Update doc and faq for JBCACHE-87, JBCACHE-159, JBCACHE-229
  -    * [JBCACHE-275] - JRunit Tests should be moved to /perf sourcetree
  -    * [JBCACHE-276] - Create a distributed rpc functionality in JBossCache layer
  -    * [JBCACHE-278] - Supported Collection classes with non-primitive key
  -    * [JBCACHE-282] - use object.toString to construct the relative fqn in Collections mapping
  -
  -
  -
  -Release 1.2.3 (June 1 2005)
  -===========================
  -
  -* First standalone version: separate "JBossCache" module in cvs.forge.jboss.com:/cvsroot/jboss
  -* JBossCacheAOP: added annotations
  -* Fixed problems with isolation level = NONE
  -* Fixed concurrent access in Node
  -
  -Details:
  -
  -** Feature Request
  -    * [JBCACHE-53] - JBossCacheAop now supports use of annotation
  -    * [JBCACHE-132] - Add a method to get the version number of the cache
  -    * [JBCACHE-149] - Add INFO logging statement related to TreeCache Preloading From Cache Loader
  -    * [JBCACHE-162] - make geFqn public in nodeEntry.java
  -    * [JBCACHE-174] - Upgrade JGroups from 2.2.7 to 2.2.8 final
  -
  -** Bug
  -    * [JBCACHE-31] - Out of memory problem
  -    * [JBCACHE-117] - Unnecessary lock acquisition with IsolationLevel.NONE
  -    * [JBCACHE-119] - Missing notification for remove() and addChild()
  -    * [JBCACHE-124] - Concurrent access problem in Node
  -    * [JBCACHE-126] - CacheLoader doesn't load children after loading an attribute
  -    * [JBCACHE-134] - ReplicationInterceptor: remote calls 'eat' Throwable
  -    * [JBCACHE-136] - Memory problem when using put again!
  -    * [JBCACHE-150] - Problem with runShellDemo scripts
  -    * [JBCACHE-153] - Treecache coordinator crashes and attempts to join but can't
  -
  -** Task
  -    * [JBCACHE-40] - Development of JGroups/JBoss Cache training modules
  -    * [JBCACHE-51] - Create standalone CVS version of JBossCache
  -    * [JBCACHE-121] - Update JBoss head, 3.x and 4.x with jboss-cache.jar
  -    * [JBCACHE-125] - Release 1.2.3 final
  -    * [JBCACHE-142] - Upgrade to JGroups 2.2.8
  -    * [JBCACHE-147] - Refactored TreeCacheAop
  -    * [JBCACHE-155] - Package the new docbook generated docs into the distro
  -    * [JBCACHE-169] - Error handling in JBossCache
  -
  -
  -
  -
  -Release 1.2.2 (target: April 2005)
  -==================================
  -
  -* Added serialVersionUID to Fqn, GlobalTransaction, Modification, Node, AOPInstance, NodeData
  -  (bela March 27 2005)
  -
  -
  -Release 1.2.1 (March 2005)
  -==========================
  -
  -Notes:
  -
  -* JndiName has been removed, use JrmpProxyFactory instead to bind any type of MBean into JNDI.
  -  See the documentation for TreeCache for an example
  -* DelegatingCacheLoader has become an abstract class: use one of the subclasses (e.g. LocalDelegatingCacheLoader)
  -  instead
  -* Concurrent upgrade from a read-lock to a write-lock by *different* transactions on the *same* node is currently not
  -  supported, e.g. get("/a/b/c") acquires a RL, subsequent put("/a/b/c") by the same transaction will acquire a write
  -  lock. If multiple transactions try to simultaneously upgrade "/a/b/c" from RL to WL, only one will succeed, the others
  -  will get an exception (and therefore roll back their transaction):
  -  UpgradeException: upgradeLockAttempt(): more than one reader trying to simultaneously upgrade to write lock)
  -
  -** Feature Request
  -    * [JBCACHE-101] - JGroups-based DelegatingCacheLoader
  -
  -** Bug
  -    * [JBCACHE-15] - 4.0 testsuite failures
  -    * [JBCACHE-17] - No synchronization between CreateIfNotExistsInterceptor and LockInterceptor
  -    * [JBCACHE-19] - TreeCache.evict() doesn't go though interceptor chain
  -    * [JBCACHE-20] - Incompatible change in JndiName attribute
  -    * [JBCACHE-21] - No synchronization between CacheLoaderInterceptor and LockInterceptor
  -    * [JBCACHE-24] - LockInterceptor needs to lock child nodes recursively on remove(Fqn)
  -    * [JBCACHE-32] - Transaction already active on replication's PREPARE phase
  -    * [JBCACHE-37] - Stack Overflow when using Collection classes in TreeCacheAop
  -    * [JBCACHE-38] - Eviction policy timer starts multiple times if cache is restarted
  -    * [JBCACHE-39] - Correct restart of JBossCache (inside JBoss)
  -    * [JBCACHE-78] - Failed state transfer doesn't release locks on TreeCache
  -    * [JBCACHE-83] - java.lang.IllegalStateException: addWriter(): owner already existed
  -    * [JBCACHE-84] - unable to call getKeys using JNDI
  -    * [JBCACHE-90] - Class not found exception in TreeCacheAop when running with different class loader
  -    * [JBCACHE-91] - TX Isolation always REPEATABLE_READ
  -    * [JBCACHE-93] - Memory problem at repeated remote PUT
  -    * [JBCACHE-94] - Incorrect synchronization between threads (CreateIfNotExistsInterceptor and LockInterceptor)
  -    * [JBCACHE-95] - Class cast exception in TreeCacheView2
  -    * [JBCACHE-96] - Memory leak in FileCacheLoader
  -    * [JBCACHE-99] - FileCacheLoader uses incorrect classloader
  -    * [JBCACHE-111] - Transaction not available in afterCompletion() of CacheStoreInterceptor
  -
  -** Task
  -    * [JBCACHE-2] - Upgrade Sleepycat's CacheLoader to 1.7.0
  -    * [JBCACHE-16] - Plan for JGroups/JBoss Cache training development
  -    * [JBCACHE-22] - Create UnlockInterceptor
  -    * [JBCACHE-23] - Override bindToJndi() in TreeCacheAop
  -    * [JBCACHE-36] - Run testsuite on multi-CPU boxes in ATL lab
  -    * [JBCACHE-50] - Remove binding of TreeCache into JNDI
  -
  -
  -** Patch
  -    * [JBCACHE-81] - DummyTransactionManager ThreadLocal uses Map
  -    * [JBCACHE-82] - Deserialized Node object doesn't have the FQN set
  -
  -
  -
  -
  -
  -
  -Release 1.2 (Dec 2004)
  -===============================
  -
  -Features
  ---------
  -* JndiName now allows remote (e.g. RMI) clients to access the cache (use
  -  of Remoting)
  -* Changed CacheLoaderConfig from string to properties (needed by JDBCCacheLoader)
  -* Added Version ("java org.jboss.cache.Version" prints version)
  -* Added LockInterceptor (merged TransactionInterceptor into it)
  -* Support for TreeCacheAop Collection classes (Set, List, and Map).
  -* Support of runtime swapping of Collection class reference with the proxy
  -  reference counterpart.
  -* Added JDBCCacheLoader (Alex Loubyansky), allows for DB persistence for cache
  -* Added DelegatingCacheLoader. Allows for creation of hierarchical multi-level caches
  -  (e.g. first-level delegates to second-level delegates to Sleepycat CacheLoader)
  -* Moved creation of node if not exists into CreateIfNotExistsInterceptor
  -* Moved cache loading code into CacheLoaderInterceptor, and cache storing into CacheStoreInterceptor
  -* JNDI binding is now supported ("JndiName" attribute)
  -* Isolation level now can be specified as per cache instance instead of per VM
  -* Added "TRACE" log level for very verbose output.
  -* Renamed element name in EvictionConfig from TimeToIdelSeconds to
  -  TimeToLiveSeconds. It is backward compatible with old configuration
  -  though, meaning old name still work in this release.
  -* Added FIFO eviction policy (contributed by a user).
  -* Document update.
  -
  -Bug Fixes
  ----------
  -* Added additional libarary jboss-minimal.jar to support jndi under aop
  -* Fixed bug for incorrect eviction policy start up sequence in release 1.1
  -* Bug fixes for node lock synchronization
  -* Bug fixes in RegionManager for create and get region
  -* Bug fixes for locking without transaction
  -* Bug fixes for getObject, putObject, and removeObject locking in aop.
  -
  -XML changes between 1.1 and 1.2
  --------------------------------
  -* CacheLoaderConfig is now a list of elements (java.util.Properties) rather than a string, e.g. in 1.1
  -
  -  <attribute name="CacheLoaderConfig">c:\tmp</attribute>
  -
  -  has to be changed to
  -
  -  <attribute name="CacheLoaderConfig">
  -     location=c:\\tmp
  -  </attribute>
  -
  -  The contents of the elements depends on the type of CacheLoader used. See the documentation for details.
  -
  -* JndiName is now a list of elements (java.util.Properties) rather than a string, e.g. in 1.1
  -
  -  <attribute name="JndiName">MyCache</attribute>
  -
  -  has to be changed to
  -
  -  <attribute name="JndiName">
  -      name=MyCache
  -      locatorURI=socket://myhost:12345
  -  </attribute>
  -
  -
  -
  -
  -Release 1.1 (Aug 2004)
  -======================
  -
  -Features
  ---------
  -* Added CacheLoader support (store/read from secondary storage). Supports both
  -  shared and unshared backend stores
  -* 2 CacheLoader implementations: Sleepycat Berkeley DB (BdbjeCacheLoader) and file
  -    based (FileCacheLoader)
  -* Partly refactored implementation to use interceptors (will be completed in 2.0)
  -
  -Bug Fixes
  ----------
  -* Refactored the eviction policy to fix synchronizing bug and also
  -  handle the EvictionException from EvictionTimerTask.
  -* Updated build.sh and build.bat scripts for Ant1.6.1 version
  -* Added UpgradeException when UpgradeLockAtempt fails
  -* Bug fix for config xml parsing error in some platforms
  -* Updated documentation and tutorial
  -* Added OrderedSynchronizationHandler, allows for ordered calls into ReplicationInterceptor and
  -  TransactionInterceptor in TX commit (afterCompletion()) (bela Aug 14 2004)
  -
  -
  -
  -
  -Release 1.02
  -============
  -
  -Features
  ---------
  -* Bug fix for LRU policy queue under heavy load
  -
  -
  -
  -
  -Release 1.01
  -============
  -
  -Features
  ---------
  -* Upgraded JGroups library that uses the apache common logging package
  -
  -Bug Fixes
  ----------
  -* Renamed the sample xml configuration file name to *-service.xml
  -* In isolation level of Repeatable_READ, multiple fixes for concurrent
  -  read and upgrade, multiple read lock release, etc.
  -* More unit test cases have been added for isolation levels.
  -* Bug fix for during replication mode with eviction policy, if a new
  -  cache is started, it will throw exception during state transfer
  -  due to cache notification sequence is incorrect.
  -* LRUAlgorithm generated null pointer when taking event from queue.
  -* LRUPolicy could not handle "/" as an added node.
  -* TreeCacheAop MBean service is not deployed correctly
  -* TreeCacheAop collection classes (map, list, etc) has a bug in
  -  recursive remove
  -
  -
  -
  -
  -Release 1.0
  -===========
  -
  -Features
  ---------
  -* Eviction policy for both TreeCache and TreeCacheAop
  -* TreeCacheAop "object-oriented" features: inheritance,
  -  aggregation, and object graph (in local and replication mode)
  -* Support JBossAop1.0 beta
  -* support aopc, pre-compiling aop
  -* Support TreeCache as a JBoss MBean service (both jboss4.0 and 3.2)
  -* documentation updates
  -
  -Bug Fixes
  ----------
  -* If an object is not declared "advised", it will be stored as
  -  is (e.g., treated as a "primitive" type), providing it is serializable
  -* Key object used to require to implement "Comparable". The restriction
  -  is now removed
  -* Fix InvokeTransactionlessMethod to exclude myself when replicating
  -  changes via synchronous mode. The solves the problem when an object
  -  has transient fields that will disappear within the originating vm.
  -* Fixed syncrhonization bugs in transaction isolation levels.
  -
  +    *  [ JBCACHE-685 ] Integration using the new Cache2.0 API and SPI
  +    *  [ JBCACHE-687 ] PojoCache to use aop 2.0 to bind interceptor dynamically
  +    *  [ JBCACHE-696 ] Look into JDBMCacheLoader details and potentially promote as a 'recommended' cache loader?
  +    *  [ JBCACHE-701 ] PojoCache to revisit usage of get with gravitation
  +    *  [ JBCACHE-705 ] Remove code supporting state transfer interoperability with versions < 2.0
  +    *  [ JBCACHE-706 ] Integrate JMX bindings of JBoss Cache and PojoCache with AS5 and MC
  +    *  [ JBCACHE-707 ] PojoCache to aspectize JDom classes
  +    *  [ JBCACHE-711 ] Replication eats out exception on the remote node
  +    *  [ JBCACHE-713 ] PojoCache when it has been detached remotely, accessing it again will throw PojoCacheAlreadyDetachedException
  +    *  [ JBCACHE-716 ] Performance benchmarking for PojoCache 2.0
  +    *  [ JBCACHE-717 ] PojoCache to lock parent node during transaction
  +    *  [ JBCACHE-718 ] PojoCache TxLockInterceptor needs to release the lock node as well
  +    *  [ JBCACHE-719 ] Update PojoCache unit test and examples with a proper id
  +    *  [ JBCACHE-720 ] PojoCache findAll api if argument is null is to find all pojos in the system
  +    *  [ JBCACHE-734 ] Update Interceptor.invoke() signature to use JBCMethodCall rather than JGroups MethodCall
  +    *  [ JBCACHE-738 ] Add format of persistent state transfer to CacheLoader API Javadoc
  +    *  [ JBCACHE-747 ] Bad interaction between session passivation and buddy replication
  +    *  [ JBCACHE-752 ] Look into using JBC Marshaller implementations for responses as well as requests
  +    *  [ JBCACHE-758 ] Add some docs for JBCACHE-77
  +    *  [ JBCACHE-759 ] Create a set of deadlock-detecting unit tests
  +    *  [ JBCACHE-761 ] Make connecting the channel and state transfer an atomic part of startup
  +    *  [ JBCACHE-764 ] Update docs, examples and tutorial to reflect 2.0.0 API
  +    *  [ JBCACHE-773 ] PojoCache to create an example for load-time option
  +    *  [ JBCACHE-778 ] Refactor package distribution
  +    *  [ JBCACHE-779 ] Split the faq directory into faq and faq-pojo
  +    *  [ JBCACHE-780 ] PojoCache to use pojocache-aop.xml
  +    *  [ JBCACHE-782 ] Rename Configuration.useInterceptorMbeans flag to reflect generic JMX behavior
  +    *  [ JBCACHE-787 ] Documentation: Add a chapter on extending JBoss Cache
  +    *  [ JBCACHE-791 ] PojoCache to revisit implementation for get/put Options
  +    *  [ JBCACHE-793 ] hibernate-recommended-config.xml incorrectly specifies INVALIDATION_SYNC
  +    *  [ JBCACHE-798 ] Use ConcurrentHashMap for lock_table
  +    *  [ JBCACHE-800 ] Performance problem with TCP & RMI Cache loaders
  +    *  [ JBCACHE-803 ] PojoCache to map internal workspace under region fqn if present
  +    *  [ JBCACHE-807 ] Document limitations of FileCacheLoader
  +    *  [ JBCACHE-809 ] Pojo-style configuration for use by Microcontainer
  +    *  [ JBCACHE-815 ] Eliminate need for jboss-serialization.jar if it's not used
  +    *  [ JBCACHE-824 ] Don't call Channel.getView() in viewAccepted() callback
  +    *  [ JBCACHE-826 ] RegionManager region map should be ConcurrentReaderHashMap
  +    *  [ JBCACHE-827 ] Consolidate Factory creation method between Cache and PojoCache
  +    *  [ JBCACHE-828 ] PojoCache to move deprecated codes to old directory
  +    *  [ JBCACHE-832 ] Develop CacheSPI impl for use in JBoss JMX microkernel
  +    *  [ JBCACHE-845 ] Clonability of Configuration classes
  +    *  [ JBCACHE-846 ] PojoCache 2.0 key features
  +    *  [ JBCACHE-852 ] PojoCache implementation class AOP instrumentation is version dependent
  +    *  [ JBCACHE-854 ] JMX Management rationalization
  +
  +
  +OLDER RELEASES
  +==============
  +* For releases prior to 2.0.0, see http://jira.jboss.com/jira/browse/JBCACHE
  +* For releases prior to 1.2.1, see http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jboss/JBossCache/docs/Changelog.txt
  \ No newline at end of file
  
  
  



More information about the jboss-cvs-commits mailing list