Changelog History
Page 2
-
v3.16.8 Changes
๐ Fixed - Quarkus redisson config fails to load in cluster mode with one node address
๐ Fixed - registeredRReliableTopic
listener doesn't get old messages
๐ Fixed - pubsub channel isn't released if subscription timeout occurred
๐ Fixed - Quarkus Redisson config should be read at runtime
๐ Fixed -RTopic
channels aren't unsubscribed
๐ Fixed - race condition causes Subscription timeout
๐ Fixed -RMapCache.readAllKeySet()
doesn't use MapKey codec
๐ Fixed - Spring Data Redis RedissonConnection doesn't implementlpos
command (thanks @woodyDM)
๐ Fixed - master host isn't formatted into compressed format for IPV6 addresses in Sentinel mode
๐ Fixed - Spring Data Redisrestore()
method throws Busy exception -
v3.16.7 Changes
๐ Improvement - MessageListener should be annotated by @FunctionalInterface
๐ Fixed - RScript.scriptLoad() doesn't load script into Slave nodes
๐ Fixed - Spring Data RedissonConnection eval should use ByteArrayCodec (thanks @woodyDM)
๐ Fixed -RSet.distributedIterator()
andRScoredSortedSet.distributedIterator()
methods throw script error
๐ Fixed - synced slaves amount is not checked in RLock object
๐ Fixed - race condition during hostname resolution in sentinel mode which may cause slave shutdown
๐ Fixed - error should be thrown if slaves aren't defined in MasterSlave mode and readMode != MASTER
๐ Fixed - master node shouldn't be initialized as slave in single mode
๐ Fixed -can't find node
error arise in replicated mode -
v3.16.6 Changes
๐ Fixed - race condition causes wrong detection of failed slaves in Replicated mode. (regression since 3.16.5)
-
v3.16.5 Changes
๐ Feature -
countIntersection()
method added to RSet object
๐ Feature - added reactive interface forRListMultimapCache
andRSetMultimapCache
objects
๐ Feature -sentinelUsername
setting added
๐ Feature - added distributed iterator (thanks @Danila Varatyntsev)
๐ Feature - added Spring Data Redis 2.6.0 support๐ Fixed - RedissonConnectionFactory.getReactiveConnection() method of Spring Data Redis isn't compatible with Redis cluster mode
๐ Fixed - Mybatis RedissonCache should search redisson.yaml config at root package
๐ Fixed -Can't find host in slaves!
error after failover with a new IP of master host
๐ Fixed - failed slaves aren't detected in Replicated mode
๐ Fixed -get
operation beforeput
may cause inconsistent state of local cache
๐ Fixed -RList.remove(object, count)
throws exception if multiple objects were removed (thanks @cartermc24)
๐ Fixed -RLocalCachedMap.delete()
method clears local cache asynchronously
๐ Fixed -IdleConnectionWatcher
shouldn't closeRedisPubSubConnection
if it's in subscribed state
๐ Fixed - SSL is not used for Sentinel master host
๐ Fixed - update sync strategy of LocalCachedMap objects shouldn't apply updated value twice to instance of update source
๐ Fixed - JCache dependency updated to 1.1.1
๐ Fixed - Sentinel master-host = ? setting isn't handled properly during slave check
๐ Fixed -RBuckets.trySet()
method throws CROSSSLOT error (thanks to @deerRule)
๐ Fixed - DNS monitor makes a new attempt to change master while current attempt wasn't finished -
v3.16.4 Changes
๐ Feature -
sentinelsDiscovery
setting added
๐ Feature -quarkus.redisson.file
setting added toredisson-quarkus
module to define external Redisson config file๐ Improvement - optimization of
ClusterConnectionManager.checkSlaveNodesChange()
andClusterConnectionManager.checkMasterNodesChange()
methods๐ Fixed - master change monitoring task in Replicated mode stops execution if it's invoked before the dns change
๐ Fixed - RemoteService cannot be called if requestId is null (thanks to @jimichan)
๐ Fixed - codec is not applied to RBuckets.set() method in non Cluster mode
๐ Fixed - recovered slave shouldn't be added again in Redis Cluster mode
๐ Fixed -releaseConnection
method may cause StackOverflowError
๐ Fixed - MOVED response with hostname isn't handled properly
๐ Fixed -RStream.readGroup()
method throwsIndexOutOfBoundsException
if group has a message without data
๐ Fixed - NPE in CommandPubSubDecoder
๐ Fixed - RExecutorService may execute same task twice at the same time
๐ Fixed - dependencies for testing should use appropriate scope
๐ Fixed -RPriorityQueue.add()
method uses async method
๐ Fixed - don't retry non-idempotent operations which were successfully sent
๐ Fixed - RMapCache.fastRemove throws RedisException: too many results to unpack
๐ Fixed - RRateLimiter decreases limit over the time in highly concurrent environment
๐ Fixed - don't PING connection if it's in use -
v3.16.3 Changes
๐ Improvement -
RBuckets.get()
method should group keys by slot in Redis Cluster mode
๐ Improvement -RBatch
result decoding optimization๐ Fixed - RExecutorService, RRemoteService execution may hang if connection used for tasks pooling was interrupted
๐ Fixed - RBatch with skipResult() option affects result of other commands (regression since 3.16.1)
๐ Fixed - connection leak (regression since 3.16.1)
๐ Fixed -getBuckets().set()
method throws CROSSSLOT error (thanks to @mikawudi)
๐ Fixed -RedissonMapCache.addListener()
method throws NPE
๐ Fixed - master-host of Slave node isn't resolved in Sentinel mode
๐ Fixed - interruptedRLock.tryLock()
method keeps renewing lock indefinitely (thanks to @Cesarla)
๐ Fixed - don't ping connection if it's in use
๐ Fixed -natMapper
isn't applied to resolved Sentinel and Cluster hosts -
v3.16.2 Changes
๐ Feature - Micronaut 3.0 integration
๐ Feature - added batchedmerge()
method toRLiveObjectService
interface
๐ Feature - resolve hostnames used in Redis Cluster topology
๐ Feature - resolve hostnames used in Redis Sentinel topology
๐ Feature - added batchedaddLast()
andaddFirst()
methods toRDeque
,RDequeRx
andRDequeReactive
interfaces
๐ Feature - addedaddAllCounted()
andremoveAllCounted()
methods toRSet
,RSetRx
andRSetReactive
interfaces๐ Fixed - Redis Stream trim command with MINID strategy is not fully supported
๐ Fixed - Quarkus requiresAutowiredAnnotationBeanPostProcessor
class during native image execution
๐ Fixed - issues with Quarkus Netty dependencies
๐ Fixed -MOVED redirection loop detected
error in Redis Cluster
๐ Fixed - handling master with empty slots in Redis Cluster topology
๐ Fixed - SentinelConnectionManager should use unified compressed format for IPv6
๐ Fixed -RLocalCachedMap.readAllValues()
method uses key decoder instead of value
๐ Fixed - empty array passed toRKeys.delete()
method causes thread blocking
๐ Fixed - cluster partition without address causes NPE
๐ Fixed - threads waiting forRSemaphore
permits acquisition unable to acquire them if permits added
๐ Fixed -RRateLimiter
allows limit overcome
๐ Fixed -RMapCacheReactive
andRMapCacheRx
interfaces miss method to define eviction algorithm
๐ Fixed - write-behind tasks aren't flushed after Redissonshutdown()
method invocation
๐ Fixed - LiveObjects with indexed field can't be stored using batch persist method
๐ Fixed - failed master shouldn't skipped in Redis Cluster topology scan (thanks to @JerryWzc)
๐ Fixed -RListReactive
iterator with filter returns non-deterministic result
๐ Fixed -replicatedServers
mode should use ip addresses if nodes defined using hostnames
๐ Fixed - multiple masters check removed forreplicatedServers
mode
๐ Fixed -MapWriter
should be defined along with writeBehind settings -
v3.16.1 Changes
๐ Improvement - MarshallingCodec and JsonJacksonCodec warmup added
๐ Improvement - performance improvement for connection pool with few connectionsFixed - connection leak after command error if Batch executed in REDIS_WRITE_ATOMIC mode ๐ Fixed - AsyncSemaphore race condition issue
๐ Fixed - Quarkus native remote service invocation fails
๐ Fixed -nameMapper
setting isn't applied toRTopic
object
Fixed - Batch in REDIS_WRITE_ATOMIC mode doesn't respect batch settings
๐ Fixed -UndeclaredThrowableException
is thrown when cache down while executingRLiveObjectService.get()
method
๐ Fixed - Reactive Transactions aren't unlocking transactional locks
๐ Fixed - keySet() method of transactional map throws Exception
๐ Fixed - lock expiration renewal should be canceled if owner doesn't exist (thanks to @regidio) -
v3.16.0 Changes
๐ Feature - GraalVM native-image support
๐ Feature - Spring Data Redis 2.5.x support
๐ Feature - Helidon CDI integration
๐ Feature - Quarkus integration
๐ Feature - Micronaut integration
๐ Feature - data partitioning support for JCache๐ Fixed - Live Object
Conditions.in()
aren't considered if defined inConditions.and()
clause
๐ Fixed - Redisson shutdown takes much time afterRBatch
execution
Fixed -RBatch
object in REDIS_WRITE_ATOMIC or REDIS_READ_ATOMIC mode can be corrupted by PING command
๐ Fixed -RKeysReactive.getKeysByPattern()
method returns wrong result
๐ Fixed -RExpirable.expire(Instant)
method doesn't work for RBloomFilter, RBoundedBlockingQueue, RDelayedQueue, RLock, RIdGenerator, RMultimap, RMapCache, RPriorityQueue, RRateLimiter, RReliableTopic, RSetMultimap, RTimeSeries objects
๐ Fixed -RBlockingDequeReactive.takeElements()
method does not consume all elements
๐ Fixed -RScheduledExecutorService
stops to work if task timeout occurred
๐ Fixed -RedissonReactiveSubscription
removes listener after first 32 messages
๐ Fixed -RedisNodeNotFoundException
is thrown after cluster failover (thanks to @UzimakiNaruto) -
v3.15.6 Changes
๐ Fixed -
RedisSentinel.getMaster()
method throws NPE
๐ Fixed -RSemaphore.drainPermits()
throwsClassCastException
๐ Fixed - missed implementation of few methods in Spring Data's RedissonConnection
๐ Fixed -RLocalCachedMap.containsKey()
method doesn't invoke map loader
๐ Fixed -RSemaphore
permits can't be acquired due to "Maximum permit count exceeded" error
๐ Fixed -RedissonNode
unable to start due toClassNotFoundException
๐ Fixed - SENTINEL SENTINELS command timeout (thanks to @zhwq1216)
๐ Fixed -JCachingProvider
shouldn't depend on class from Jackson 2.12.x
๐ Fixed -JCache.get()
method swallows Redis errors
๐ Fixed -RLocalCachedMap
doesn't used MapLoader if storeMode = LOCALCACHE