Release Notes - Infinispan - Version 4.1.0.Final - HTML format

Component Upgrade

  • [ISPN-392] - Upgrade to JBoss Marshalling 1.2.1.GA
  • [ISPN-430] - Upgrade query module to use Hibernate Search 3.2.0.Final
  • [ISPN-459] - Upgrade to JClouds 1.0-beta-6
  • [ISPN-622] - Upgrade to Netty 3.2.2

Feature Request

  • [ISPN-27] - RemoteCacheStore, based on delegating to a CacheServer
  • [ISPN-29] - Cache server and client module
  • [ISPN-123] - Build demo and blog about using Infinispan on EC2
  • [ISPN-170] - Design HotRod protocol
  • [ISPN-173] - Build memcached server module
  • [ISPN-193] - Provide a mechanism for the configuration XML parser to pass XML attributes to other modules for handling
  • [ISPN-232] - Add service to generate a key that would map to the current instance
  • [ISPN-241] - improve test harness to use nice test names for nodes
  • [ISPN-275] - Update Lucene Directory to work with newer Lucene versions v.3.0.x
  • [ISPN-299] - Implement LIRS eviction policy
  • [ISPN-310] - CacheLoader preload should only load as many entries as configured by eviction max entries
  • [ISPN-311] - CacheLoader.loadKeys(), and performance improvements when rehashing from a cache store
  • [ISPN-314] - Enhance test fwk to report when a resource was not properly cleaned by a test
  • [ISPN-345] - Upgrade Berkeley DB JE to version 4.x
  • [ISPN-350] - Improve evenness of distribution
  • [ISPN-353] - Add a single shell script to handle cache server startup
  • [ISPN-364] - Add an EvictionStrategy.UNORDERED for simple, un-ordered eviction
  • [ISPN-370] - clear the store before state transfer
  • [ISPN-379] - JGroupsChannelLookup should take in Properties created from props set on the transport
  • [ISPN-382] - Port grid file system from JGroups to Infinispan
  • [ISPN-383] - Build Infinispan demo using GridFS and a webdav webapp
  • [ISPN-405] - WebSocket Server
  • [ISPN-408] - Set loopback to true for JGroups configs we ship with
  • [ISPN-431] - Config files should not require XML namespaces, as defaults could be assumed
  • [ISPN-442] - re-design CacheManager hierarchy
  • [ISPN-444] - Release lock when thread is interrupted
  • [ISPN-450] - Add AtomicMapLookup method to use in Read Only operation without creating new map if none exists.
  • [ISPN-481] - Add Reader versions of InfinispanConfiguration factory methods
  • [ISPN-504] - replication queue is being sync with synchronized
  • [ISPN-532] - HotRodMarshaller needs cleaning up!
  • [ISPN-536] - The size of a local cache could be more accurate under concurrent modifications when expiration is enabled
  • [ISPN-593] - Add ability to filter a query with a list of types
  • [ISPN-599] - document CacheManager's default constructor
  • [ISPN-610] - Apply isStateTransferEnabled attribute to consumer only
  • [ISPN-612] - Allow substitution of Infinispan server properties
  • [ISPN-619] - Aggregate changes from multiple transactions in AsyncStore

Bug

  • [ISPN-304] - REST API should not use POST
  • [ISPN-307] - Lucene Directory not supporting Lucene's ConcurrentMergeScheduler
  • [ISPN-333] - Cache Loader Class Instantiated Twice
  • [ISPN-398] - Cluster breaks after a MergeView is issued
  • [ISPN-401] - NPE in CacheStoreInterceptor
  • [ISPN-435] - NamedExecutorsFactory incorrectly uses java.util.Properties causing properties to be set to their defaults
  • [ISPN-451] - Deploying infinispan-rest-server.war in Tomcat 6.0.26 fails
  • [ISPN-452] - Deploying infinispan-rest-server.war in AS trunk fails
  • [ISPN-454] - Windows demo classpath needs quotes for classpath with spaces
  • [ISPN-455] - Value removed from cache still be visible to putIfAbsent in single transaction scope.
  • [ISPN-460] - REST server should pre-start caches to avoid concurrent startup issues
  • [ISPN-498] - Lucene Directory race condition on segments iterator has NPE thrown by Lucene index opening
  • [ISPN-511] - The Eviction Algorithms have an unexpected way to manage the parameter maxEntries
  • [ISPN-512] - Avoid throwing an IOException on a buffer switch caused by Lucene's seek()
  • [ISPN-514] - replace(Async) with eager locking
  • [ISPN-520] - Null keys should be checked very early on (in the CacheDelegate) and a meaningful exception thrown.
  • [ISPN-545] - AsyncStore ignoring potential InterruptedException arising from 3rd party cache store libraries
  • [ISPN-546] - Lazy deserialization not working for replace() calls
  • [ISPN-548] - QueryInterceptor needs to be able to differentiate update to the indexes from an add to the indexes.
  • [ISPN-551] - ReplicationQueue might attempt to use a closed JGroupsTransport
  • [ISPN-552] - Tree facade caches cannot be configured with lazy deserialization
  • [ISPN-560] - Unable to address bytes above 2GB in Lucene Directory
  • [ISPN-564] - ManagedConnectionFactory releaseConnection can throw NullPointerException
  • [ISPN-565] - SKIP_LOCKING with cache loader and calling remove results in java.lang.ClassCastException
  • [ISPN-568] - Lucene needs boundary checks in buffer copy of readBytes()
  • [ISPN-569] - IllegalMonitorStateException thrown when releasing the lock
  • [ISPN-570] - Locks not properly cleaned up when using explicit lock API, marshalled values and custom key types
  • [ISPN-574] - Marshaller to stop before Transport to avoid NullPointerException
  • [ISPN-577] - State transfer and replication queue ordering issue
  • [ISPN-578] - BDB store logs license information relating to JBoss Cache instead of Infinispan
  • [ISPN-579] - JdbcStringBasedCacheStore preloads data using wrong keys (it shouldn't preload)
  • [ISPN-591] - Generated Schema declares namespace as 4.0 rather than 4.1
  • [ISPN-596] - Deadlock detection and explicit locking should be disallowed.
  • [ISPN-606] - asyncMarshalling should be turned off by default to avoid reordering
  • [ISPN-611] - Memcached issues with ruby client
  • [ISPN-618] - AsyncStore fails to save all values when using transactions or batch operations
  • [ISPN-624] - QueryInterceptor injected after LockingInterceptor - hence doesn't work with distributed mode
  • [ISPN-625] - Lucene Directory's methods length, filemodified, touch should return 0L instead of FileNotFoundException for unexistent files
  • [ISPN-711] - Locks not released when committing a transaction which contains explicit locks but no modifications

Task

  • [ISPN-322] - BucketBasedCacheStore - insertBucket and updateBucket should be combined
  • [ISPN-357] - Create compression option for CloudCacheStore
  • [ISPN-368] - Remove code duplication in certain JDBC configuration classes
  • [ISPN-369] - InvalidateL1Command should not be invoked if the keys are local
  • [ISPN-420] - Refactoring: merge rehash process when joining and leaving into a single codebase
  • [ISPN-423] - Implement MurmurHash2 for hashing addresses and keys in the DefaultConsistentHash impl
  • [ISPN-521] - Remove the single_jar distribution archive
  • [ISPN-523] - reduce Lucene Directory memory usage: store only initialized buffer ranges
  • [ISPN-534] - Standardise keys used for System properties, .properties and Properties entries
  • [ISPN-547] - Improve Flag documentation either in the ref doc or in JavaDoc
  • [ISPN-567] - Avoid readlocks on small Lucene segments
  • [ISPN-613] - Update JBoss Marshalling to 1.2.3.GA
  • [ISPN-614] - consider setting lazyPurgingOnly to false by default in cloud store
  • [ISPN-617] - Log performed DDL statements in JDBC Cachestores
  • [ISPN-621] - Upgrade Netty to 3.2.2.Final

Patch

  • [ISPN-250] - Replace transactions with async methods combined with batching

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.