Changelog History
Page 4
-
v3.13.4 Changes
September 02, 2020π Feature - batch support for
revRank
,getScore
,addAndGetRevRank
methods added to RScoredSortedSet object (thanks to @johnou)
π Feature -RRateLimiter.setRate
method added (thanks to @AbhishekChandrasekaran)
π Feature -RObject.getIdleTime()
method added
π Feature -RKeys.getKeysWithLimit()
method addedπ Fixed -
RRateLimiter.availablePermits()
method throws exception (regression since 3.13.3)
π Fixed - compatibility with Spring Data Redis 2.3.3
π Fixed -UnsupportedOperationException
is thrown if Spring Data Redis connection executed in pipelined mode
π Fixed - multiple Tomcat requests share different instances stored in the same session inreadMode=REDIS
π Fixed - Spring Data Redis can't be used with proxied RedissonClient instance
π Fixed - Classloading issues whenMarshallingCodec
used in Tomcat
π Fixed - Redis cluster slot calculation doesn't work properly if brace isn't closed (thanks to @dengliming)
π Fixed -RBloomFilter
rename method doesn't rename config object (thanks to @dengliming)
π Fixed -slf4j-simple
dependency excluded from redisson-all
π Fixed -JCache.removeAsync
method throws NPE if operation fails
π Fixed - all cached Lua scripts are executed on Redis master nodes only
π Fixed -XPENDING
command causes syntax error in redisson-spring-data-23
π Fixed -CommandPubSubDecoder
throws NPE
π Fixed -MasterSlaveConnectionManager
allocates superfluous 113Kb of memory for non-cluster Redis setup -
v3.13.3 Changes
August 05, 2020π Feature - BITFIELD command support added to
RBitSet
objectπ Improvement - reset ClassIntrospector instance after
RLiveObjectService.persist()
method invocation
π Improvement - amount of simultaneously created connections during pool initialization reduced to 10π Fixed - "SlaveConnectionPool no available Redis entries" error is thrown after failover
π Fixed - check RedisConnection status befor RedisConnection object join freeConnections (thanks to @mikawudi)
π Fixed - different topics subscribed to the same Redis node in Cluster
π Fixed -RFairLock.tryLock()
method doesn't apply waitTimeout parameter
π Fixed -RLiveObjectService.delete()
method works asynchronously
π Fixed - deserialization exception is thrown ifRMapCache.EntryRemovedListener
is set
π Fixed - incorrect registration of Sentinel node defined with hostname
π Fixed - OOM arise duringRLiveObjectService.persist()
method invocation
π Fixed - MarshallingCodec throws IllegalArgumentException: RIVER
π Fixed -RLock.lock()
method throws java.util.NoSuchElementException
π Fixed - Spring Data Redis xReadGroup should use write operation
π Fixed - Spring Data Redis connection in multi mode may cause thread hang
π Fixed - Spring Data Redis connection in multi mode may cause connection leak
π Fixed -RRateLimiter
rate interval might be exceeded -
v3.13.2 Changes
July 02, 2020π Feature - Partitioning (sharding) of Redis setup using ShardedRedisson object
π Feature -CLUSTERDOWN
error handling
π Feature -getConfig
,setConfig
methods added toRedisNode
interfaceπ Fixed - empty sentinels list handling
π Fixed - RMapCache.clear() method clears maxSize option
π Fixed - Redisson slowdowns access to hibernate in fallback mode
π Fixed - Sentinel hostname isn't used for ssl connection during Redisson startup
π Fixed -RBloomFilter
methods throw NPE if RedisException thrown
π Fixed -RAtomicDouble.getAndSet()
method throws NPE
π Fixed -RAtomicLong.getAndSet()
method throws NPE
π Fixed - ClassCastException thrown in Tomcat environment
π Fixed - RSetMultimap.get().delete() and RListMultimap.get().delete() methods throw exception
π Fixed - blocking commands connected to Redis Cluster aren't resubscribed after Master node failover
π Fixed - connection leak if SSL connection got reconnected -
v3.13.1 Changes
June 11, 2020π Feature - Spring Data Redis 2.3.0 integration
π Feature -setIfExists
method added toRBucket
,RBucketRx
,RBucketReactive
interfaces
π Feature - RExpirable interface added to RRateLimiterπ Fixed - Topic channels connected to master node aren't resubscribed
π Fixed - RedissonCacheStatisticsAutoConfiguration conditions aren't match
π Fixed -RTimeSeries.destroy()
method doesn't work
π Fixed - Redis Cluster topology scanning stopped if error occured while adding new master
π Fixed - StreamInfoDecoder to adapt to layout of XINFO response (thanks to @fawitte)
π Fixed - Redis Cluster manager throws error Slot hasn't been discovered yet after failover
π Fixed - Spring Data RedisRedisConnection.set()
method returns null
π Fixed -RQueueReactive.poll(int limit)
method should returnMono<List<V>>
π Fixed -RQueueRx.poll(int limit)
method should returnSingle<List<V>>
π Fixed -RedissonSetMultimap.removeAll
method removes reference to nested set
π Fixed -WriteRedisConnectionException
is thrown after Redis Cluster failover
π Fixed -RBatch
object doesn't wait ending of sync slaves process
π Fixed - ssl connection can't be established if Redis Sentinel was discovered by DNSMonitor
π Fixed - some tasks are not executed if RedissonNode shutdown
π Fixed -NatMapper
is not applied to the first online Sentinel in list -
v3.13.0 Changes
May 22, 2020Feature - TimeSeries object added. Please refer to documentation for more details
π Feature -RLiveObjectService.findIds()
method implemented
π Feature -RLiveObjectService.count()
method implemented
π Feature -RLiveObjectService.delete()
method accepts multiple ids0οΈβ£ Improvement - default codec changed to MarshallingCodec
π Fixed - Lock acquisition hangs if Redis failed (regression since 3.12.5)
π Fixed -RLiveObjectService.merge()
method doesn't override collection state
π Fixed -PingConnectionHandler
doesn't report errors if PING command can't be sent
π Fixed -RObject.unlink()
method callsdeleteAsync()
inside instead ofunlinkAsync()
method (thanks to @AayushyaVajpayee)
π Fixed - NPE thrown after logout Tomcat application
π Fixed - TomcatUpdateValue
object throws NPE if getNext() returns null
π Fixed -RedissonTransactionalMapCache.put()
method inserts entries with incorrect TTLs
π Fixed - connections to Redis master/slave are doubled after redis cluster failover
π Fixed -RejectedExecutionException
thrown byRedisClient.connectAsync()
method during shutdown process
π Fixed - cache isn't applied to hibernate collection, that is joined by non primary key field
π Fixed - hibernate 5.3 doesn't wrap cache exception into CacheException object
π Fixed - RedissonReactiveStringCommands.set using wrong SET RedisCommand (thanks to @xJoeWoo)
π Fixed - netty errors should be logged at ERROR level -
v3.12.5 Changes
April 16, 2020π Improvement - increased
RLock
reliability during failover.RedLock
was deprecatedπ Fixed - Map object is not updated after session change (thanks to @eager)
π Fixed -RedissonSessionRepository
doesn't handle PTTL = -2 (thanks to @eager)
π Fixed -RedissonSessionRepository
topic listener NPE race condition (thanks to @eager)
π Fixed -RedissonReactiveSubscription.subscribe()
andreceive()
methods aren't synchronized
π Fixed -RLiveObjectService
search withConditions.and()
returns wrong result
π Fixed - Redisson Tomcat Manager doesn't store principal and authType session attributes
π Fixed - Redisson is unable to start if first sentinel node in list is down
π Fixed - Spring DataRedissonConnection.del()
method doesn't participate in pipeline
π Fixed -RTopic.countListeners()
method returns wrong result
π Fixed -RRateLimiter.delete()
method doesn't delete all allocated Redis objects
π Fixed -RedissonBloomFilter
throws NPE (regression since 3.12.4)
π Fixed - CommandBatchService throws NPE (regression since 3.12.4) -
v3.12.4 Changes
March 31, 2020π Feature - cacheProvider setting added to
LocalCacheConfiguration
,ClusteredLocalCachedMapOptions
,LocalCacheConfiguration
and Hibernate Local Cache regions
π Feature -NettyHook
object added
π Feature -LocalCachedMapOptions.storeMode
setting added
π Feature -nameMapper
setting added toDropwizardMeterRegistryProvider
π Feature -username
parameter added
π Feature -RedissonClient.getRedisNodes()
method added
π Feature -Config.useThreadClassLoader
setting added
π Feature -ListAddListener
,ListInsertListener
,ListRemoveListener
,ListSetListener
,ListTrimListener
added toRList
objectπ Improvement -
MarshallingCodec
performance improvementsπ Fixed - RedissonSessionRepository doesn't use map's codec during changeSessionId method execution
π Fixed - useFSTConfiguration#deriveConfiguration
to preserve ConfType (thanks to Chris Eager)
π Fixed - MGET executed on Spring Data connection should use SLAVE if readMode = SLAVE (thanks to Gil Milow)
π Fixed -XREADGROUP
andXCLAIM
commands should be executed on Redis master
π Fixed -JsonJacksonCodec
unable to serialize removed attributes of Tomcat Session
π Fixed - "response has been skipped due to timeout" error if pingConnectionInterval setting set and blocking command executed
π Fixed - semaphore used during local cache clearing process isn't deleted
π Fixed -RPatternTopicRx()
,RPatternTopicReactive()
,RPatternTopic.addListenerAsync()
methods are don't work
π Fixed - cache entry can't be updated ifJCache
instance created withCreatedExpiryPolicy
π Fixed -LocalCachedJCache.get()
method throws NPE
π Fixed - RedisURI throws MalformedURLException for IPv6 hosts
π Fixed -LocalCachedJCache.removeAll()
andLocalCachedJCache.clear()
methods are don't work -
v3.12.3 Changes
February 28, 20200οΈβ£ LZ4Codec, SnappyCodec, SnappyCodecV2 codecs now use Kryo5Codec by default
π Feature -
SetObjectListener
added toRBucket
object
π Feature -RBinaryStream
should exposeSeekableByteChannel
andAsynchronousByteChannel
interfaces
π Feature - addedRBucketsReactive
andRBucketsRx
objects
π Feature - added Caffeine support as alternative local cache implementation
π Feature - addedRBinaryStreamReactive
andRBinaryStreamRx
objects
π Feature - addedRKeys.swapdb
method
π Feature - addedaddFirstIfExists
andaddLastIfExists
methods toRDeque
object
π Feature -RPriorityDeque
extendsRDeque
π Improvement - type of
RedisExecutor.CODECS
field changed toLRUCacheMap
π Fixed -
CommandPubSubDecoder
throws NPE
π Fixed -RLock.unlock()
results in ERR hash value if RedisLabs hosting is used
π Fixed -RPriorityBlockingQueue.poll()
method with limit implemented
Fixed -redisson__map_cache__last_access__set*
objects continuously grow in size if RMapCache.maxSize defined
π Fixed - Eviction task is not stopped afterRMapCache.destroy()
method invocation -
v3.12.2 Changes
February 18, 2020π Feature - Hibernate
hibernate.cache.redisson.fallback
setting introduced
π Feature - addedRLocalCachedMap.preloadCache
method with batch sizeπ Improvement -
RLocalCachedMap.putAllOperation
method optimizationπ Fixed - exception thrown by
org.redisson.jcache.JCacheEventCodec
π Fixed - connection leak occured duringRBatch
object usage
π Fixed - Tomcat session should return the same object during the same request forreadMode = REDIS
andupdateMode = AFTER_REQUEST
settings
π Fixed -RPriorityQueue
comparator is not deleted or expired after corresponding methods invocation
π Fixed - memory leak caused byClientConnectionsEntry.allConnections
field
π Fixed -maxIdleTimeout = 1 hour
set toRedisExecutor.CODECS
map
π Fixed - useRBatch
for all types of Redis setup (thanks to @basiszwo) -
v3.12.1 Changes
January 30, 2020π Feature -
RTransferQueue
object added. Please refer to documentation for more details
π Feature -availablePermits
,availablePermitsAsync
anddrainPermitsAsync
methods added toRSemaphoreAsync
object
π Feature -tryExecute
,tryExecuteAsync
andgetPendingInvocationsAsync
methods added toRRemoteService
object
π Feature -natMap
setting deprecated in favor ofnatMapper
π Feature -checkSentinelsList
setting added
π Feature -cleanUpKeysAmount
setting addedπ Improvement - perform Sentinel DNS check when all connections fail (thanks to @markusdlugi)
π Fixed -
zRemRangeByScore
andzcount
methods ofReactiveZSetCommands
interfaΡe don't use-inf
and+inf
values
π Fixed - connections to disconnected Redis nodes aren't removed in sentinel and cluster mode
π Fixed -MalformedURLException
thrown during Redis host parsing in cluster mode
π Fixed - extra square bracket added during IPV6 Redis host conversion
π Fixed - defined codec's classloader is overwritten with Thread.currentThread().getContextClassLoader()
π Fixed -RPriorityQueue.add
method throws NPE
π Fixed - connecting to a password protected Redis Sentinel fails (thanks to @stikku)
π Fixed - java.lang.IllegalStateException thrown duringorg.redisson.spring.cache.RedissonCacheStatisticsAutoConfiguration
introspection
π Fixed -RLock
expiration renewal not working after connection problem (thanks to @edallagnol)
π Fixed - Spring DataRedissonConnectionFactory
should call shutdown method on destroy on created Redisson instance