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

Sub-task

  • [ISPN-2331] - Add documentation describing rolling upgrades of a live cluster
  • [ISPN-2855] - Move JCache annotations from infinispan-cdi to infinispan-jcache module

Bug

  • [ISPN-777] - Race conditions in cleaning up stale locks held by dead members in a cluster
  • [ISPN-1345] - Dirty reads may occurs on mutable objects
  • [ISPN-1625] - No need to throw IllegalStateException on receiving a new view on a stopped cache
  • [ISPN-1876] - clustered query is not executed on the right cache
  • [ISPN-1990] - Preload sets the versions to null (repeatable read + write skew)
  • [ISPN-2173] - NPE when using XA enlistment without recovery
  • [ISPN-2435] - Cache#replace(key, old, new) method doesn't check old value on non-local invocations
  • [ISPN-2441] - Some core interceptors trigger custom interceptor error message
  • [ISPN-2476] - Coordinator thread in AsyncStore could wait forever for worker threads to finish
  • [ISPN-2477] - AsyncStore shutdown can leak threads
  • [ISPN-2503] - Re-enable FD_SOCK in the test suite
  • [ISPN-2504] - WriteSkew check fails for entries which are inserted first time
  • [ISPN-2517] - org.infinispan.statetransfer.StateTransferFileCacheLoaderFunctionalTest.testConcurrentStateTransfer fails randomly
  • [ISPN-2537] - LockCleanupStateTransferTest fails randomly
  • [ISPN-2549] - Invalidation mode caches with pessimistic transactions results in stale remote locks
  • [ISPN-2584] - BackupReceiver survives cache shutdown
  • [ISPN-2586] - Asynchronous FileCacheStore uses a JBossMarshaller with a null ExternalizerTable
  • [ISPN-2589] - NPE in InvalidateL1Command
  • [ISPN-2609] - Infinispan SpringCache throws java.lang.NullPointerException: Null values are not supported!
  • [ISPN-2614] - org.infinispan.marshall.MarshallExternalPojosTest.testReplicateJBossExternalizePojoToNewJoiningNode fails randomly
  • [ISPN-2617] - Intermittent failure of NodeMoveAPITest.testConcurrency
  • [ISPN-2619] - DistSyncCacheStoreNotSharedTest fails randomly
  • [ISPN-2627] - Fail to build minimal-distribution at RhqPluginXmlGenerator
  • [ISPN-2672] - InDoubtXidReturnedOnceTest fails randomly
  • [ISPN-2688] - BaseDistributionInterceptor and TxDistributionInterceptor do not detect properly if the key needs to be fetched remotely
  • [ISPN-2695] - ConcurrentNonOverlappingLeaveTest.testTransactional failing randomly
  • [ISPN-2699] - Failed ping on startup can leave socket dirty
  • [ISPN-2708] - Configuration of infinispan/global/serialization does not work as documented
  • [ISPN-2713] - REBALANCE_START and REBALANCE_CONFIRM commands deadlock when RSVP.ack_on_delivery=true
  • [ISPN-2730] - Not possible to instantiate org.infinispan.cdi.InfinispanExtension during startup of appserver
  • [ISPN-2737] - Thread naming anomaly when reporting lock timeout
  • [ISPN-2757] - ReplaceCommand in REPL mode cluster does not perform any modifications if the entry was not yet transfered during rehashing
  • [ISPN-2770] - Wrong format arguments in trace log message
  • [ISPN-2777] - ReplicatedConsistentHash.isKeyLocalToNode(node, key) should return false if the node is not a member yet
  • [ISPN-2781] - NPE in AbstractTopologyAwareEncoder1x
  • [ISPN-2784] - ReplStateTransferCacheLoaderTest fails randomly in FileCacheStore.start()
  • [ISPN-2786] - ThreadLocal memory leak in Tomcat
  • [ISPN-2787] - NPE after ReplaceCommand
  • [ISPN-2788] - NullPointerException appears in case passing null as an exclusion list to LuceneCacheLoader.loadAllKeys()
  • [ISPN-2789] - OutOfMemoryError in case if LuceneCacheLoader.loadAll() is called
  • [ISPN-2796] - ConcurrentCacheManagerTest.testConcurrentGetCacheCalls hangs the test suite (randomly)
  • [ISPN-2814] - RpcManager doesn't return values properly
  • [ISPN-2825] - ClusterTopologyManagerImpl should not hold a lock while invoking an RPC
  • [ISPN-2831] - NPE in DistributedSegmentReadLocker
  • [ISPN-2836] - org.jgroups.TimeoutException after invoking MapCombineCommand in Map/Reduce task with 2 nodes
  • [ISPN-2839] - Method boolean Cache.replace(K key, V oldValue, V value) (and variants) should guard against null oldValue parameter
  • [ISPN-2845] - CLONE - ISPN000136: Execution error: java.lang.NullPointerException -> JBAS018079: Failed to passivate session
  • [ISPN-2846] - OperationsDuringStateTransferTest fails if run on non-tx cache
  • [ISPN-2847] - Puts done by state transfer can fail with TimeoutException if lock cannot be acquired
  • [ISPN-2850] - CLI Synopsis[info,stats] need to be changed
  • [ISPN-2852] - CacheQuery.maxResults not honored everywhere
  • [ISPN-2860] - RHQ plugin breaks when monitoring within AS7.1 / EAP6.0
  • [ISPN-2865] - Error calling clear() via JMX on a transactional cache with autoCommit=false
  • [ISPN-2867] - The CLI doesn't quit when using JBoss Remoting
  • [ISPN-2868] - CLI help messages don't match implementation
  • [ISPN-2873] - Incorrect GlobalTransaction's provided when both batching and deadlock detection are enabled
  • [ISPN-2883] - RHQ enforces unique operation names but cannot invoke overloaded method properly
  • [ISPN-2885] - JMX operations do not expose parameter names
  • [ISPN-2888] - ManagedOperation.name() is ignored when registering JMX operations
  • [ISPN-2897] - NPE in DefaultConsistentHash
  • [ISPN-2899] - CLI stats command is broken for container
  • [ISPN-2903] - Manual eviction should not delete entry from cache store
  • [ISPN-2907] - File size > Integer.MAX_VALUE crashes Lucene CacheLoader
  • [ISPN-2908] - Add a parser for Infinispan 5.3
  • [ISPN-2910] - Divide by zero exception on shutdown
  • [ISPN-2920] - ClassFinder.infinispanClasses does not work corrctly
  • [ISPN-2928] - XML Parser for JDBC Cachestore configuration sets wrong value for connection url
  • [ISPN-2933] - MixedModeTest.testMixedMode fails intermittently
  • [ISPN-2935] - After view change single node is left in cluster, but still tries to invoke stuff remotely
  • [ISPN-2951] - Caches are not removed from JMX after cacheManager.removeCache()
  • [ISPN-2957] - CustomInterceptor configuration is incomplete and buggy
  • [ISPN-2966] - NBST: Concurrent leavers can lead to deadlock
  • [ISPN-2977] - CLI parser errors cause NullPointerExceptions instead of being properly reported
  • [ISPN-2982] - CLONE - State transfer does not end because some segments are erroneously reported as unreceived
  • [ISPN-2992] - Timeout on synchronous XSite backup can hang thread
  • [ISPN-2995] - FineGrainedAtomicHashMap may not lock all the composite keys in optimistic locking
  • [ISPN-2996] - ApplyDeltaCommand.getAffectedKeys() and ApplyDeltaCommand.getKey() do not return the expected key
  • [ISPN-2997] - Renamed endpoint module causes incompatibility with previous version config
  • [ISPN-3002] - Fix RpcManager API
  • [ISPN-3004] - NPE in Total Order when tries to unblock blocked PrepareCommand twice (or more)
  • [ISPN-3012] - If EntryProcessor implementations for invokeProcessor() throw exceptions, changes should be reverted
  • [ISPN-3031] - Forked module builds ignore log4j.configuration passed on the command line
  • [ISPN-3033] - Lucene index stored in a StringBased CacheStore can get an unaligned bufferSize
  • [ISPN-3040] - Infinispan Common Parent POM doesn't follow its schema
  • [ISPN-3049] - First remote transactional remote backup call fails
  • [ISPN-3055] - Unreleased lock after node restart
  • [ISPN-3056] - FineGrainedAtomicMap updates are lost on some cluster nodes when eviction or passivation is involved
  • [ISPN-3058] - HotRodTargetMigrator swallowing exceptions
  • [ISPN-3059] - x-site's takeoffline functionality doesn't work correctly when using 1PC replication between sites
  • [ISPN-3063] - Data Inconsistency when Recovery + syncCommitPhase=false
  • [ISPN-3077] - cache.lock should work within the scope of batching
  • [ISPN-3083] - Recovery parser always enable it
  • [ISPN-3084] - BaseBackupInterceptor creates new logger on every XSite call
  • [ISPN-3089] - The first write to a joiner in invalidation mode can be ignored
  • [ISPN-3091] - Non-transactional Cache.putAll or Cache.putAllAsync on primary owner is not replicated to backup owners when supportsConcurrentUpdates == true (DIST mode)
  • [ISPN-3094] - Cache.putForExternalRead in DIST transactional mode is not replicated to other members
  • [ISPN-3095] - Cache.replace() succeeds on originator but fails randomly on remote owners during state transfer in DIST mode with pessimistic locking
  • [ISPN-3100] - CommandAwareRpcDispatcher Future Collactor does not respect the timeout
  • [ISPN-3114] - Cache.putForExternalRead leads to ClassCastException in clustered pessimistic mode
  • [ISPN-3120] - StateConsumerImpl can ignore state received during a rebalance
  • [ISPN-3124] - AtomicHashMap.put is not atomic with pessimistic locking
  • [ISPN-3129] - If the status recovery fails for a cache, it stops recovery for all the caches
  • [ISPN-3130] - Cancelling an InboundTransferTask should be idempotent
  • [ISPN-3131] - Calling forget() when not in a recovery-enabled cache should not throw a NPE
  • [ISPN-3133] - AsyncAPINonTxSyncDistTest and AsyncAPINonTxAsyncDistTest are mistakenly executed in REPL mode
  • [ISPN-3136] - Argument type mismatch in RHQ for Amend XSite operations
  • [ISPN-3141] - Conditional commands with Flag.IGNORE_RETURN_VALUES cause NPEs
  • [ISPN-3146] - PrepareCommand triggers RollbackCommand in TxInterceptor if the commit arrives at the same time
  • [ISPN-3148] - BackupReceiver survives cache shutdown for implicit backups
  • [ISPN-3152] - LoadersConfigurationBuilder does not clear existing stores on read()
  • [ISPN-3153] - REST endpoint does not return Last-modified header for GET operation if the entry was stored via HotRod or Embedded cache
  • [ISPN-3154] - REST endpoint does not return correct Expiry header for GET opeartion when the key is stored via HotRod or embedded cache
  • [ISPN-3163] - Replacing entry via HotRod which was initially stored via Memcached does not change CAS
  • [ISPN-3166] - BackupReceiverRepositoryImpl generates NPE on cache shutdown
  • [ISPN-3168] - Use createClusteredCacheManager instead of createCacheManager for clustered caches
  • [ISPN-3178] - Fix CHMv8 bug with tree hash bins
  • [ISPN-3179] - The server complains about missing memcachedCache even if the memcached-connector is configured to use a different one
  • [ISPN-3182] - Compatibility mode does not work correctly in ISPN server
  • [ISPN-3187] - Windows batch files should not be executable
  • [ISPN-3191] - TopologyAwareDistributedCacheTest failing randomly
  • [ISPN-3192] - Concurrent TreeCache.move() calls with the same destination lose data
  • [ISPN-3196] - ReplicatedConsistentHashFactory does not spread ownership evenly
  • [ISPN-3206] - REST endpoint returns Expiry header in default locale for the server
  • [ISPN-3217] - Rebalance doesn't store data into cache store
  • [ISPN-3240] - JCache TCK run broken
  • [ISPN-3243] - Inconsistent behaviour of operations HotRod.clear vs Memcached.flushAll wrt CacheStore
  • [ISPN-3245] - ReplSyncDistributedExecutorTest.testTaskCancellation fails intermittently
  • [ISPN-3264] - Deprecate ByteArrayKey
  • [ISPN-3268] - Equivalence classes are API and should live in a separate package

Task

  • [ISPN-2205] - Design HotRod protocol version 1.2
  • [ISPN-2218] - Create maven-only release script
  • [ISPN-2644] - Create externalizer for SimpleClusteredVersion
  • [ISPN-2749] - Use StateTransferManager.isStateTransferInProgressForKey(key) whenever possible instead of ad-hoc implementations
  • [ISPN-2768] - Write new tests for Query module
  • [ISPN-2822] - Profile Infinispan when eviction enabled
  • [ISPN-2844] - Replace Jetty with Undertow for integration testing of HTTP services
  • [ISPN-2912] - Drop server-compatibility configuration parser
  • [ISPN-2921] - Ensure that all attributes in the XSDs document the default value where applicable
  • [ISPN-2922] - Format configuration stylesheets for easier documentation
  • [ISPN-2962] - Fix thread leaks in the core test suite
  • [ISPN-3008] - HotRod Servers sharing a container should use separate topology caches
  • [ISPN-3028] - Add tests for example configuration files
  • [ISPN-3041] - Verify Query tuning parameters are applied
  • [ISPN-3062] - Add streamLogs=true to JCache testsuite to see TCK output log in console
  • [ISPN-3073] - Remove deprecated configuration elements from default JGroups config
  • [ISPN-3107] - add javadoc to the HotRodServerConfigurationBuilder/HotRodServerConfiguration
  • [ISPN-3113] - Deprecate update timeout from HotRod topology configuration
  • [ISPN-3156] - Add tests for interoperability mode - reading via REST
  • [ISPN-3157] - Realign Infinispan subsystem to match AS7.2/EAP6.1
  • [ISPN-3158] - Add option for compatibility mode to server
  • [ISPN-3222] - Add example configuration file for compatibility mode to server
  • [ISPN-3225] - Clean up test suite

Component Upgrade

  • [ISPN-2832] - upgrade to JGroups 3.3.0.Alpha2
  • [ISPN-2909] - Support storage of indexes of Apache Lucene v. 4.2
  • [ISPN-3026] - Upgrade Query to Hibernate Search 4.3.0.Alpha1
  • [ISPN-3027] - Update Lucene Directory to support Lucene 4.3
  • [ISPN-3052] - Upgrade aesh to 0.33.1
  • [ISPN-3080] - upgrade to JGroups 3.3.0.Final
  • [ISPN-3167] - Upgrade JTA to Narayana 4.17.4
  • [ISPN-3205] - Upgrade to JGroups 3.3.1.Final
  • [ISPN-3211] - Upgrade to Hibernate Search 4.3.0.Final
  • [ISPN-3213] - Upgrade to JCache 0.7

Enhancement

  • [ISPN-31] - JPA based cache store
  • [ISPN-907] - SSL access to Hot Rod
  • [ISPN-1599] - Split entry locking in Data Lock(s) and Structure Lock(s)
  • [ISPN-2159] - Server start scripts should provide an option to start a node without a server endpoint
  • [ISPN-2281] - Enable inter server endpoint communication in a compatibility mode
  • [ISPN-2307] - Upgrade the x-site tests so that they can be run from default profile
  • [ISPN-2309] - Support parsing of the AS7 threads configuration
  • [ISPN-2310] - Support parsing of the AS7 jgroups configuration
  • [ISPN-2392] - Optimize locking behaviour in non-transactional caches
  • [ISPN-2635] - Support for Total Order Multicast Transactions
  • [ISPN-2636] - Support for Total Order Broadcast(TOB) Transactions
  • [ISPN-2639] - Write an adaptor for the JSR 107 API
  • [ISPN-2657] - Support for LevelDB CacheStore
  • [ISPN-2669] - Add a Active-Passive Failover Strategy for Hot Rod client
  • [ISPN-2689] - Support storage of indexes of Apache Lucene 4
  • [ISPN-2772] - Implement REPLICATED mode as a degenerated DISTRIBUTED mode (nowOwners>=clusterSize)
  • [ISPN-2808] - Make Infinispan use its own thread pool for sending messages in order to avoid thread deadlocks
  • [ISPN-2809] - Drop startServer.sh and use JDG harness to launch Infinispan servers
  • [ISPN-2812] - Allow Map-Reduce tasks run in local and replicated envs.
  • [ISPN-2817] - Create a locate() API on the Java Hot Rod client
  • [ISPN-2848] - Use the new bundling mechanism from JGroups 3.3.0
  • [ISPN-2859] - Reduce the verbosity of state transfer trace logs
  • [ISPN-2869] - Optimize GridInputStream.skip()
  • [ISPN-2978] - Support temporary sessions in the CLI
  • [ISPN-2983] - Introduce configuration builders for RemoteCacheManager
  • [ISPN-2984] - Introduce configuration builders for Servers
  • [ISPN-2985] - HotRod endpoint SSL support
  • [ISPN-3016] - Enhance REST headers
  • [ISPN-3020] - FileCacheStoreTest intermittent failure
  • [ISPN-3022] - Make CHMv8 the default CHM implementation when not running in Java8
  • [ISPN-3030] - Implement a way to retrieve all keys from a REST endpoint
  • [ISPN-3034] - Query should also filter out nulls when retrieving results through CacheQuery.iterator()
  • [ISPN-3043] - Make the sync RPCs over the bridge use the OOB thread pool
  • [ISPN-3050] - Cache.replace should support arrays of primitive types
  • [ISPN-3054] - Add ability to customize the creation of Work instances in QueryInterceptor
  • [ISPN-3061] - Total Order Tweaks
  • [ISPN-3069] - TimeService implementation
  • [ISPN-3097] - Improve total order test suite
  • [ISPN-3106] - Remove support for non-concurrent non-transactional distributed caches
  • [ISPN-3108] - Server endpoint compatibility enhancements
  • [ISPN-3115] - Expose WebSocket endpoint's statistics and properties via JMX
  • [ISPN-3139] - Allow passing custom marshallers to the server in compatibility mode
  • [ISPN-3140] - JMX operation to suppress state transfer
  • [ISPN-3144] - Reduce memory consumption per cache entry
  • [ISPN-3150] - Allow specifying "Accept" type for REST server for byte array values
  • [ISPN-3180] - Support IPv6 addresses in the CLI
  • [ISPN-3188] - Include jconsole.[sh|bat] scripts in Server
  • [ISPN-3210] - JPA Cache Store expects 5.2 in namespace, it should be 5.3
  • [ISPN-3233] - Expose the JMX rebalancing toggle on the server RHQ plugin
  • [ISPN-3238] - infinispan-config-5.3.xsd missing "compatibility" element
  • [ISPN-3241] - Memcached server should not redefine its cache if it already exists

Edit/Copy Release Notes

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