Release Notes - Infinispan - Version 5.1.0.FINAL - HTML format

Component Upgrade

Enhancement

  • [ISPN-1204] - Make JDBC cache store use implicit schemas for database tables
  • [ISPN-1315] - Reduce number of Logger instances lookup in AbstractConfigurationBean
  • [ISPN-1321] - Creation and wiring of caches uses inefficient annotation scanning and reflection calls
  • [ISPN-1326] - Multiplexing marshalling architecture
  • [ISPN-1358] - expired entries must be removed with default configuration or <expiration> element
  • [ISPN-1360] - Upgrade Query to use Hibernate Search 4
  • [ISPN-1364] - Allow use of CacheContainer interface for cache manager configuration
  • [ISPN-1378] - Log Infinispan version only once
  • [ISPN-1391] - Use UNICAST2 instead of UNICAST
  • [ISPN-1392] - Use UNICAST2 instead of UNICAST
  • [ISPN-1504] - JBossTransactionManagerLookup does not work in JBoss AS 7
  • [ISPN-1522] - Annotated JMX components should use Jandex for faster lookups at startup
  • [ISPN-1526] - make DefaultCacheManager.getTransport(); public
  • [ISPN-1614] - lock() is under javadoc'ed
  • [ISPN-1638] - Return values should only be serialized if needed when using Distribution
  • [ISPN-1663] - Grid filesystem improvements
  • [ISPN-1678] - A simple GET operation during a transaction or batching creates the NonTxInvocationContext instead of the more efficient SingleKeyNonTxInvocationContext
  • [ISPN-1747] - Redundant checks in the RecoveryManagerImpl
  • [ISPN-1768] - Avoid creating unnecessary Integer instances in AbstractWheelConsistentHash
  • [ISPN-1771] - CommandAwareRpcDispatcher should not invoke currentTime at all - does twice
  • [ISPN-1772] - Entry iterators should initialize currentTime lazily
  • [ISPN-1774] - Avoid duplicate invocation to currentTime in entry constructors
  • [ISPN-1776] - Unnecessary object creation during configuration adaptation
  • [ISPN-1780] - Improve performance of DefaultConsistentHash.locateInternal

Feature Request

  • [ISPN-200] - Distributed queries
  • [ISPN-284] - Chunked rehashing and state transfer
  • [ISPN-1084] - support optimistic locking with ETags and If-Match in rest server
  • [ISPN-1115] - Fine-grained AtomicMaps
  • [ISPN-1131] - Add support for optimistic locking
  • [ISPN-1132] - Reorder lock acquisition to avoid deadlocks
  • [ISPN-1137] - Locking optimization: only lock main data owner (dist only)
  • [ISPN-1194] - Consolidate rehash and replication state retrieval code
  • [ISPN-1297] - Add configuration option to enable single-phase transactions for implicitly started transactions
  • [ISPN-1382] - Support remote cache in CDI annotations
  • [ISPN-1389] - Add ability to specify custom ExecutorFactory impls to RemoteCacheManager and via RemoteCacheStoreConfig
  • [ISPN-1397] - Optimise thread local usage in Infinispan
  • [ISPN-1430] - AdvancedCache.addInterceptor() methods don't provide success/failure feedback
  • [ISPN-1474] - Refine fluent API for boolean configuration properties
  • [ISPN-1512] - Optimisation: reduce the number of RPCs when using pessimistic locking
  • [ISPN-1542] - InvocationContext should not keep entries in an BidirectionalLinkedHashMap
  • [ISPN-1580] - Implement support for Sybase DB in JDBC cache stores
  • [ISPN-1589] - Add ability to provide input keys to DistributedExecutionCompletionService.
  • [ISPN-1594] - Use entry versioning to support clustered write skew checks with optimistic transactions
  • [ISPN-1642] - Cache loading on remote nodes can be optimised away in certain conditions
  • [ISPN-1729] - Add javadoc and xsd doc for custom interceptors
  • [ISPN-1743] - Allow for "parse configuration, adjust programmatically, register" use case
  • [ISPN-1759] - Throw an exception when using <hash > or <l1 > while configured in replicated, invalidated or local mode.

Bug

  • [ISPN-1130] - Eager locks acquired multiple times
  • [ISPN-1190] - ModuleProperties should not use static fields
  • [ISPN-1218] - warning about IndexWorkFlushEventListener should not be logged
  • [ISPN-1274] - DefaultExecutorService uses no thread pool when it decides to invokeLocally
  • [ISPN-1316] - State transfer coordinator should not ask for state
  • [ISPN-1318] - replaceWithVersionAsync on RemoteCache (HotRod) fails to set lifespan of cache entries
  • [ISPN-1320] - indexing properties defined for <namedCache/> in xml are ignored therefore indexes are always persistent
  • [ISPN-1322] - Cache configuration not registered if producer return null
  • [ISPN-1323] - TEST_PING doesn't remove the discovery info for a node if findInitialMembers() is called after stop()
  • [ISPN-1329] - org.infinispan.loaders.decorators.AsyncStore leads to OutOfMemoryExceptions
  • [ISPN-1333] - Add/Remove operations on InterceptorChain are not thread-safe
  • [ISPN-1343] - Stale locks occurring on rehashing into a running cluster.
  • [ISPN-1344] - NullpointerException during adding node
  • [ISPN-1347] - LIRS eviction not evicting correctly
  • [ISPN-1357] - RHQ plugin has issues with dependencies, types and names
  • [ISPN-1365] - Data left in inconsistent state on rehash.
  • [ISPN-1370] - 5.0.0.FINAL hangs in replication mode with 2 local nodes (works in 4.2.1.FINAL)
  • [ISPN-1373] - Initialization of extensions (module properties) is unguarded
  • [ISPN-1375] - IllegalStateException: "Tx lock should not be locked for writing as long as the latch is open" during stress tests
  • [ISPN-1377] - Upgrade to Spring 3.1.0.M2
  • [ISPN-1383] - Data caching multiplying memory requirements of Hot Rod server
  • [ISPN-1388] - All executors should be shutdown centrally
  • [ISPN-1412] - TEST_PING should be protected against paralel cache manager startups
  • [ISPN-1415] - timeouts on EmbeddedCacheManager.startCaches() on replicated caches
  • [ISPN-1417] - Inefficient and unnecessary clearing of looked up entries when a context is reset
  • [ISPN-1418] - FileCacheStore throws an IllegalMonitorStateException in FileCacheVamTest
  • [ISPN-1426] - Socket creation not within retry logicc
  • [ISPN-1435] - JCache interceptors need to be serializable
  • [ISPN-1445] - NumberFormatException thrown by FileCacheStore when unexpected files are stored in the same directory
  • [ISPN-1449] - Memcached default cache defined too late
  • [ISPN-1477] - KeyTransformationHandler should use proper CL to load key's class
  • [ISPN-1478] - getAdvancedCache and getClassLoader ignore the assigned ClassLoader
  • [ISPN-1485] - Fail to create new file with GridFile
  • [ISPN-1493] - Write commands fail too often with RehashInProgressException during state transfer
  • [ISPN-1497] - Typo in testing immutability of streamBufferSize in FileCacheStoreConfig
  • [ISPN-1498] - DistributedStateTransferManagerImpl doesn't export it's JMX operations and attributes
  • [ISPN-1509] - Restore original pom packaging settings to help Gradle builds
  • [ISPN-1514] - Protect against InputStream providers that do not implement available()
  • [ISPN-1519] - Stale locks on adding a new node to a cluster
  • [ISPN-1571] - A failed cache view instalation on a joiner can cause an infinite cycle of cache view installation failures
  • [ISPN-1579] - TableManipulation class contains incorrect SELECT SQL statement for MS SQL Server
  • [ISPN-1584] - Inability to store an entry in L1 can cause transaction failure
  • [ISPN-1592] - Jdbc binary cache store throwing conversion error when working with Sybase DB
  • [ISPN-1593] - Some cache stores leak threads
  • [ISPN-1597] - Jdbc binary cache store throwing conversion error when working with PostgreSQL
  • [ISPN-1617] - PutForExternalRead doesn't work with transactional caches and autoCommit=false.
  • [ISPN-1619] - RemoteCacheStore should create a RemoteCacheManager with an appropriate ClassLoader
  • [ISPN-1620] - A remote get acquired a local lock for the key before writing it to L1 and never releases it
  • [ISPN-1622] - getDefaultCacheConfiguration not defined in the EmbeddedCacheManager interface
  • [ISPN-1630] - KeyAffinityService's topology change listener can hang state transfer/cache view installation
  • [ISPN-1652] - Flags ignored in remote nodes on transaction prepare
  • [ISPN-1668] - Null cache values are not allowed
  • [ISPN-1727] - ComponentMetadataPersister is using dangerous characters in regular expression replacement
  • [ISPN-1736] - New configuration documentation should also be copied for the all distribution
  • [ISPN-1737] - DefaultCacheManager(String, boolean) loses boolean parameter
  • [ISPN-1739] - Topology consistency check in JGroups transport is wrong
  • [ISPN-1746] - KeyAffinityServiceTest checks an incorrect condition which intermittently makes it hang for 20 mins and then fail
  • [ISPN-1749] - log4j.configuration system property cannot be set
  • [ISPN-1750] - Broken key comparator in OptimisticLockingInterceptor
  • [ISPN-1753] - Fix nearcache demo to work with new configuration
  • [ISPN-1754] - IllegalStateException during cluster shutdown
  • [ISPN-1755] - Hot Rod client socket and connection timeout config properties in TcpTransport are exchanged
  • [ISPN-1758] - ClassCastException is thrown when an exception occurs during a get
  • [ISPN-1760] - The default value for syncCommitPhase attribute is inconsistently changed to false by the test framework
  • [ISPN-1761] - The CustomReplayingDecoder included in infinispan-server-core splits the package and breaks signing
  • [ISPN-1769] - Rehashing hang ups leading to nodes starting as sole member in cluster
  • [ISPN-1773] - Some time intervals still using System.currentTimeMillis
  • [ISPN-1775] - LegacyConfigurationAdaptor loses FileCacheStore location, fsyncMode, etc.
  • [ISPN-1781] - Disabling L1 not working
  • [ISPN-1782] - Could not lock to invalidate L1 WARN messages
  • [ISPN-1783] - L1ManagerImpl should not attempt to use Multicast when transport is unable

Task

  • [ISPN-1104] - Upgrade to Scala 2.9.1
  • [ISPN-1191] - Replace JGroups partial state transfer
  • [ISPN-1265] - Use alternative/default bean to allow overriding of the default cache configuration and default cache manager
  • [ISPN-1278] - Update the version of JCACHE API
  • [ISPN-1305] - Rename the Infinispan annotation
  • [ISPN-1308] - Create a test project to run the JCACHE TCK (annotations part)
  • [ISPN-1330] - Upgrade to version 0.2 of JCACHE API
  • [ISPN-1369] - Make c3p0 an optional dependency of cachstore-jdbc
  • [ISPN-1421] - Put together a migrate to Infinispan 5.1 document
  • [ISPN-1436] - Provide some logging in the CDI integration module
  • [ISPN-1481] - Remove warning about not supporting asymmetric clusters
  • [ISPN-1490] - Separate API and common classes from core
  • [ISPN-1688] - Remove LRU_OLD eviction policy
  • [ISPN-1718] - Update User Guide to demonstrate the new Configuration API
  • [ISPN-1719] - Update samples, demos, labs and Maven archetypes to use new programmatic configuration API
  • [ISPN-1728] - Provide javadoc and xsddoc for useSynchronizations
  • [ISPN-1745] - Clean up new configuration API
  • [ISPN-1752] - Modify the CDI integration readme links
  • [ISPN-1766] - Update DatagridManager with latest configuration API changes
  • [ISPN-1767] - Shorten the cluster name in the default configuration

Sub-task

  • [ISPN-1483] - Stale locks with eager/pessimistic locking after the prepare command fails on a remote node
  • [ISPN-1484] - The commit command can fail on the originator with a RehashInProgressException and not release the key locks

Edit/Copy Release Notes

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