Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update redisson.version to v3.31.0 #187

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 21, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.redisson:redisson-spring-data-21 (source) 3.17.7 -> 3.31.0 age adoption passing confidence
org.redisson:redisson-spring-boot-starter (source) 3.17.7 -> 3.31.0 age adoption passing confidence

Release Notes

redisson/redisson (org.redisson:redisson-spring-data-21)

v3.31.0

Feature - Spring Boot 3.3.0 integration
Feature - Spring Data Redis 3.3.0 integration
Feature - allow retry of NOREPLICAS error (thanks to @​ghollies)

Improvement - SequentialDnsAddressResolverFactory default concurrencyLevel set to 2
Improvement - ThreadLocalRandom replaced with xoshiro256** RNG to avoid collisions

Fixed - cluster failover handling
Fixed - cluster topology scan shouldn't be stopped by any exception
Fixed - RSetMultiMap throws too many results to unpack error
Fixed - append commands error when using batch mode (thanks to @​seakider)
Fixed - ERR unknown command EVALSHA_RO error shouldn't be logged
Fixed - TransactionalBucket#set(V, Duration) PSETEX command is called before MULTI command (thanks to @​seakider)
Fixed - CommandMapper isn't applied to Lua scripts
Fixed - incorrect connection release if BatchOptions.executionMode = REDIS_WRITE_ATOMIC or REDIS_READ_ATOMIC (thanks to @​seakider)
Fixed - RFairLock methods throw 'attempt to compare nil with number' error
Fixed - Spring Data Redis RedissonConnectionFactory.getSentinelConnection() method throws error on the first offline sentinel
Fixed - read mode = SLAVE isn't applied for RSet.random() methods
Fixed - Keyspace notifications should be listened only on master nodes
Fixed - RListMultimap.removeAll() method always deletes link to list
Fixed - RLockReactive methods don't work in native image
Fixed - Correctly update shutdown timeout after each step in connection manager shutdown (thanks to @​MartinEkInsurely)
Fixed - broken tck JCache tests
Fixed - not all sentinels defined in the configuration are registered

v3.30.0

Feature - sslKeystoreType setting added
Feature - RPatternTopic.getActiveTopic() method added (thanks to @​MasterShi)
Feature - RJsonBucket.merge() method added
Feature - Async, Rx, Reactive interfaces implemented for RBloomFilter object
Feature - fallback mode for JCache
Feature - passwords encryption support
Feature - Spring Cloud Stream integration

Improvement - configuration variable defined as Java system property overrides environment variable

Fixed - io.projectreactor package should be defined as optional in OSGi Manifest
Fixed - Spring Data Redis StreamPollTask.deserializeAndEmitRecords() method throws NPE after failover
Fixed - Spring Data Redis blocking poll commands can't be reattached after failover
Fixed - Unable to find session error reported by RedissonSessionManager
Fixed - Sentinels discovery is applied at Redisson startup if sentinelsDiscovery = true
Fixed - master node is used for read operations after slave node addition if readMode = SLAVE in replicated mode
Fixed - failover handling of blocking methods calls with defined timeout. RStream, RBlockingQueue objects
Fixed - multiple RLocalCachedMap objects don't work in the same RTransaction (thanks to @​vlad-ogol @​RajaJaisankar)
Fixed - codec setting isn't applied in redisson.getMap(MapOptions) method
Fixed - Live Object field can't set to null value
Fixed - SentinelConnectionManager stops scheduling topology change change / dns check after host resolution error
Fixed - RMapCache.fastPutIfExistsOperation() method uses incorrect pubsub channel

v3.29.0

Feature - NewObjectListener added to track created objects
Feature - NewObjectListener and SetObjectListener can be registered with RKeys.addListener() method
Feature - subscribeOnElements(), subscribeOnLastElements() and subscribeOnFirstElements() methods wait for CompletionStage to complete before polling the next element
Feature - shardedSubscriptionMode setting added in Cluster configuration
Feature - RSemaphore.trySetPermits() method with ttl parameter added
Feature - getDeletedIds() method added to RStream AutoClaimResult object

Improvement - responses map lock replaced with fine-grained entry locking in RRemoteService and RScheduledExecutorService

Fixed - RStream.autoClaim() method throws ClassCastException
Fixed - RSearch aggregate expression applied incorrectly
Fixed - LocalCachedMapDisabledKey event is parsed incorrectly if local cache used with RTransaction
Fixed - Slave node in cluster mode isn't shutdown properly if readMode = MASTER and subscribeMode = MASTER (regression since 3.27.2)
Fixed - race condition during cluster topology update causes slave added/removed events
Fixed - OSGi MANIFEST should define optional dependencies
Fixed - TimeoutException is thrown if connectionMinimumIdleSize = 0
Fixed - ClassCastException is thrown for Reactive/Rx RemoteService invocation if Redisson instance isn't Reactive/Rx
Fixed - semaphore object is not deleted after RLocalCachedMap.clearLocalCache() method invocation
Fixed - AggregationOptions.groupBy() setting with reducers used in RSearch.aggregate() method causes an exception
Fixed - AggregationOptions.groupBy() setting usage with RSearch.aggregate() method causes an exception if reducers aren't defined
Fixed - AggregationOptions.sortBy() setting usage with RSearch.aggregate() method causes an exception
Fixed - resource leak error when executing multiple contains operation of RSet in transaction (thanks to @​wynn5a)
Fixed - jmockit upgraded to 1.52.0 inside maven-surefire-plugin (thanks to @​roharon)

v3.28.0

Feature - Multi Sentinel mode implementation
Feature - RLocalCachedMapCacheV2 object implemented with effecient partitioning and advanced entry eviction
Feature - graceful shutdown in quarkus (thanks to @​naah69)

Improvement - RLongAdder and RDoubleAddder should use sharded topic if possible
Improvement - reduced CPU and Memory consumption by ClusterConnectionManager.getLastPartitonsByURI() method
Improvement - RedisURI.hashCode() caching to reduce CPU consumption
Improvement - shutdown check added in RTopic.removeListener() method

Fixed - incorrect detection of sharded pubsub support
Fixed - RBatch does not work with RKeys.randomKeyAsync() method (thanks to @​wynn5a)
Fixed - unresolved Redis node hostname in cluster mode affects cluster topology scan
Fixed - MASTER nodes aren't used if readMode = MASTER_SLAVE
Fixed - RLock, RFencedLock, RReadWriteLock miss unlock messages and wait a defined timeout before a next attempt or hang
Fixed - RSemaphore, RPermitExpirableSemaphore miss release messages and wait a defined timeout before a next attempt or hang
Fixed - incorrect value of RLongAdder.sum() and RDoubleAddder.sum() methods if multiple Adder instances for the same Redisson object are used
Fixed - CountDownLatch.await() method may throw NPE
Fixed - ExecutionException handling in RExecutorService, RLock, RPermitExpirableSemaphore, RSemaphore objects
Fixed - ConcurrentModificationException is thrown on RedissonSession save method if readMode = MEMORY
Fixed - Spring Data Redis zPopMin() and zPopMax() methods don't work (thanks to @​bimslab)

v3.27.2

Feature - RShardedTopic.countSubscribers() method implemented
Feature - RedissonMultiLock implements isHeldByThread() and isHeldByCurrentThread() methods

Fixed - Multiple locking of RLock reset remainTimeToLive to config default
Fixed - exception thrown by natMapper is not shown in logs
Fixed - OSGi jdk.net package import should be optional
Fixed - ServiceManager.resolveAll() method throws NPE
Fixed - RObject.addListenerAsync() method throws UnsupportedOperationException
Fixed - StatusListener doesn't work with RShardedTopic
Fixed - NPE is thrown in cluster mode if slave node added
Fixed - continuously reconnecting to a removed slave node in cluster mode
Fixed - incorrect handling of TrackingListener removal
Fixed - FlushListener receives duplicate events
Fixed - SlotsDecoder throws NPE on empty result
Fixed - Clash between RedissonCache and Spring (6.1+) Cache interface methods
Fixed - RedissonClient.shutdown() method hangs at serviceManager.getShutdownLatch() invocation
Fixed - "Failed to submit a listener notification task. Event loop shut down?" error caused by PingConnectionHandler
Fixed - JsonCodecWrapper isn't cached properly

v3.27.1

Feature - added TrackingListener support to RList, RQueue, RDeque, RBlockingQueue, RBlockingDeque, RDelayedQueue, RRingBuffer objects
Feature - addListener(), random() methods added to RLexSortedSet object

Improvement - show log warning "DNS TCP fallback on UDP query timeout disabled" if Netty version is lower 4.1.105
Improvement - ChannelName.toString() conversion optimization

Fixed - retryInterval and retryAttempts settings aren't applied in case of 'READONLY You can't write against a read only replica.' error
Fixed - RRemoteService may cause CPU spike after Master failover
Fixed - FlushListener causes ClassCastException
Fixed - TrackingListener causes ClassCastException
Fixed - RedissonSetCache.addIfAbsentAsync() uses incorrect argument for zadd (thanks @​fooooxxxx)

v3.27.0

Feature - client tracking support. TrackingListener is available for RBucket, RStream, RScoredSortedSet, RSet, RMap and RBucket objects
Feature - added RKeys.addListener() method to register global listeners
Feature - FlushListener added to track flushdb/flushall command invocation
Feature - Kryo5Codec constructor with registrationRequired parameter added
Feature - nettyExecutor setting added
Feature - enable DNS TCP fallback when UDP query timeout for RoundRobinDnsAddressResolverGroupFactory and SequentialDnsAddressResolverFactory

Improvement - cache result of INFO REPLICATION command for RLock objects

Fixed - Spring Data Redis ReactiveKeyCommands.pExpire() method throws an exception
Fixed - NPE is thrown by RedisExecutor.handleError() method
Fixed - sharded pubsub detection for Apache Tomcat Session Manager, RMapCache and RLocalCachedMap objects
Fixed - Redisson's threads aren't shutdown if Redis node address isn't defined
Fixed - NPE is thrown while creating RLocalCacheMap object without WriteMode value
Fixed - incorrect RESP3 protocol parsing causes SlaveConnectionPool no available Redis entries error
Fixed - repeated new connections with AWS Elasticache serverless
Fixed - internal LRUCacheMap object throws ConcurrentModificationException

v3.26.1

Feature - enable DNS TCP fallback when UDP query timeout (thanks to @​hellojukay)
Feature - StreamMessageId.autogenerateSequenceId() method added (thanks to @​mrmx)
Feature - RLockReactive.isHeldByThread() method added (thanks to @​sanail)

Fixed - missed implementation of Spring Data Redis ReactiveStringCommands.bitField() method
Fixed - Spring Data Redis opsForCluster().randomKey() method throws UnsupportedOperationException
Fixed - JCache.close() method throws IllegalStateException if statistics enabled
Fixed - doubled connections to the master node if readMode = MASTER_SLAVE or there are no slave nodes
Fixed - RSearch.delDict() and RSearch.addDict() methods throw NPE
Fixed - connection ping handler doesn't use commandTimeout setting
Fixed - repeated new connections with AWS Elasticache serverless
Fixed - RLock throws ERR unknown command 'wait' with AWS Elasticache serverless
Fixed - RSearchReactive.dropIndex() method doesn't call onComplete() handler

v3.26.0

Feature - ability to specify retryInterval, retryAttempts, timeout settings per Redisson object. Please refer to the documentation
Feature - LocalCachedMapOptions.expirationEventPolicy setting added
Feature - StreamAddListener, StreamCreateConsumerListener, StreamCreateGroupListener, StreamRemoveConsumerListener, StreamRemoveGroupListener, StreamRemoveListener, StreamTrimListener listeners added for RStream object

Fixed - Spring Data Redis RedissonConnection.setCommands() method returns null
Fixed - continuously reconnecting to a removed slave node in cluster mode
Fixed - EntryExpiredListener isn't invoked by RMapCache instance in Redis Cluster 7+ and if nameMapper is defined
Fixed - Skipped slave up ... error is thrown in Sentinel mode if nodes use IPv6
Fixed - NPE is thrown when adding or removing shards in ElastiCache
Fixed - RAtomicDouble, RAtomicLong, RMap, RScoredSortedSet, RSet listeners aren't removed properly
Fixed - connection isn't reconnected on WRONGPASS Redis error
Fixed - connection timeout during Redisson start ignores connections amount
Fixed - RSearch.search() method doesn't execute query with aliases properly
Fixed - FCALL_RO command isn't used when RFunction method called with FunctionMode.READ parameter
Fixed - IllegalReferenceCountException is thrown when canceling a method call
Fixed - Redis scan cursor exceed Long.MAX_VALUE in AWS Elasticache
Fixed - internal ServiceManager.calcSHA() method should use UTF-8 encoding by default

v3.25.2

Fixed - SSL connection can't be established

v3.25.1

Improvement - JDK21 Virtual Threads compatibility

Fixed - EvictionTask keeps running even after destroy() method called
Fixed - Sprint Data Redis throws Subscription registration timeout exceeded
Fixed - Sprint Data Redis RedisMessageListenerContainer.addMessageListener() method hangs if called after container start
Fixed - NPE is thrown if lazyInitialization = true
Fixed - PriorityQueue methods may hang due to unreleased lock after exception
Fixed - RMap.getAll() method throws IndexOutOfBoundsException
Fixed - natMapper isn't applied to slaves and master nodes at start in Sentinel mode
Fixed - method invocation hangs after failover if retryInterval = 0
Fixed - transactional Map and MapCache keySet method returns inconsistent state
Fixed - Multilock lock method doesn't work properly with non-MILLISECONDS TimeUnit

v3.25.0

Feature - RESP3 protocol support. protocol setting added
Feature - Spring Data Redis 3.2.0 implementation
Feature - RSetCacheV2, RSetV2 objects with more effecient partitioning in Cluster added in PRO version

Improvement - SLF4j updated to 2.0.9 version

Fixed - RFunction/RScript keys parameter accepts only String values
Fixed - IP address instead of hostname is used in sentinel mode with SSL connection
Fixed - Resources leak in Version.logVersion() method
Fixed - RLiveObjectService.persist() method with varargs hangs in cluster mode
Fixed - Redisson connection process may hang at start in some cases
Fixed - EntryExpiredListener isn't invoked by RMapCache instance in Redis Cluster 7+
Fixed - slave node in sentinel mode can't be recovered if it's a master node
Fixed - JsonJacksonCodec fails to serialize Throwable on Java17 (thanks to @​tomjankes)
Fixed - RBlockingDeque.move() throws an exception for empty result
Fixed - RScoredSortedSet.pollFirstEntries(count) and pollLastEntries(count) methods return wrong result
Fixed - BZMPOP command timeout isn't applied
Fixed - getBlockingDeque(), getDeque(), getPriorityDeque(), getPriorityBlockingDeque() throw NoClassDefFoundError if JDK version < 21
Fixed - RLocalCachedMap.containsKey() method does not work properly if storeCacheMiss = true
Fixed - RedissonRemoteService exceptions handling (thanks to @​mrmx)
Fixed - RSearch.info() method throws NumberFormatException
Fixed - HttpSessionListener.sessionDestroyed() method isn't called if Tomcat Session deleted by the node which didn't create it
Fixed - LZ4CodecV2 isn't compatible with LZ4Codec
Fixed - RSearch GroupBy.reduce alias isn't applied (thanks to @​arjunE1395)

v3.24.3

Feature - Helidon 4.0 integration

Fixed - ERR invalid expire time error is thrown during RLock.unlock() call if retryAttempts = 0

v3.24.2

Fixed - IllegalArgument timeout... error is throw during Redisson shutdown
Fixed - Intermittent Exception when creating RLocalCachedMap (regression since 3.24.1)
Fixed - RSearch.aggregate() doesn't apply withCursor() and sortBy() options correctly
Fixed - MOVED redirection loop detected error should be thrown only if both source and target addresses are equal

v3.24.1

Feature - writerRetryAttempts and writerRetryInterval settings added to MapOptions object (thanks to @​zzhlhc)
Feature - RSortedSet implements RExpirable
Feature - RBlockingQueue.pollFromAnyWithName() method added
Feature - org.redisson.codec.LZ4CodecV2 codec based on apache commons-compress added
Feature - Redis Cache async methods implementation introduced in Spring 6.1.0
Feature - tcpKeepAliveCount, tcpKeepAliveIdle, tcpKeepAliveInterval, tcpUserTimeout settings added
Feature - subscriptionTimeout setting added

Fixed - RedissonClient.shutdown() method should be completed within timeout (thanks @​dgolombek)
Fixed - RBuckets.trySet(), RBuckets.set(), RBuckets.get(), RKeys.touch(), RKeys.unlink(), RKeys.delete(), RKeys.countExists() methods may hang after failover in Redis cluster
Fixed - exceptions aren't wrapped in CacheException for containsKey(), getAll() and removeAll() methods of JCache
Fixed - Command execution timeout for command: (PING)
Fixed - RBucketReactive.delete() method doesn't work in Quarkus Native mode (thanks to @​DicksengA)
Fixed - auto configuration with Spring Boot 2.7.x+
Fixed - RSortedSet doesn't work correctly if NameMapper object was specified
Fixed - RPriorityQueue has incorrect lock name if NameMapper object was specified
Fixed - RMapCache.expireEntries() and expireEntry() methods don't update maxIdle parameter properly
Fixed - non-volatile RedisConnection.lastUsageTime field may cause incorrect idle time calculation
Fixed - attempt to unlock lock, not locked by current thread error occurs in rare cases even if RLock.unlock() method called by lock owner thread
Fixed - RCountDownLatch only notifying the first async listener after countdown reaches 0 (thanks to @​Sinbios)
Fixed - RStream.trim() and trimNonStrict() methods don't work with Redis 6.2+
Fixed - RReadWriteLock.readLock().isLocked() method returns incorrect result if acquired by writeLock owner thread
Fixed - RedissonClient.getLiveObjectService() method causes an attempt to connect to Redis if lazyInitialization = true

v3.23.5

Feature - failedSlaveNodeDetector setting added to Cluster, Sentinel, Replicated, Master/Slave modes
Feature - module name added to redisson jar (thanks to @​KrogerWalt)
Feature - putAll() method with TTL added to RMapCacheRx and RMapCacheReactive objects
Feature - Fallback to TCP in case of a UDP DNS truncation
Feature - RMapCacheV2, Spring RedissonSpringCacheV2Manager and Hibernate RedissonRegionV2Factory objects added in PRO version

Fixed - NPE is thrown by RedissonAutoConfiguration if Spring Boot 3.1+
Fixed - WeightedRoundRobinBalancer doesn't support hostnames
Fixed - NPE is thrown by CommandPubSubDecoder in rare cases
Fixed - during connection initialization a new attempt isn't made for Busy, ClusterDown, TryAgain and Wait Redis errors
Fixed - RJsonBucket.getType() method throws NPE if type is null
Fixed - IllegalStateException is thrown if RedisConnectionDetails object registered in Spring Context with settings for Cluster or Sentinel
Fixed - RSearch can not create Vector field
Fixed - RSearch vector field doesn't support alias

v3.23.4

Feature - methods for multiple permits support added to RPermitExpirableSemaphore object (thanks to @​ikss)
Feature - ProtobufCodec codec added (thanks to @​dumbbell-5kg)
Feature - WAITAOF command support through BatchOptions.syncAOF() setting
Feature - bgSave(), scheduleBgSave(), save(), getLastSaveTime(), bgRewriteAOF(), size() methods added to RedisNode object

Improvement - RSemaphore and RLock operations should have slave synchronization even if readMode = MASTER and subscriptionMode = MASTER

Fixed - wrong order call of RSearch's FieldIndex tag caseSensitive() and separator() settings
Fixed - RedisConnectionDetails object isn't used for Redisson configuration in Spring Boot 3.1+
Fixed - incorrect slots added,slots removed messages in Redis Cluster mode
Fixed - Tomcat Manager "Session can't be found" message should have debug level
Fixed - RBoundedBlockingQueue can't be deleted if nameMapper was defined
Fixed - RLock isn't unlocked after RTransaction.commit()

v3.23.3

Feature - TransportMode.IO_URING added (thanks to @​sgammon)
Feature - LocalCachedMapOptions.useKeyEventsPattern() setting introduced

Improvement - Long as string cache in CommandEncoder (thanks to @​tomerarazy)
Improvement - each AddressResolver created by SequentialDnsAddressResolverFactory should share common DnsCache and DnsCnameCache instances
Improvement - RedisURI optimization (thanks to @​ikss)

Fixed - codec errors during Quarkus native build
Fixed - extra subscription topic allocation by RLocalCachedMap object (regression since 3.23.2)

v3.23.2

Feature - Micronaut 4.0 integration

Improvement - PubSub channels should be reconnected back to Slave from Master node if SubscriptionMode = SLAVE

Fixed - Setting retryAttempts to 0 causes an exception (regression since 3.23.1)
Fixed - RTopic subscribes only to a single master in cluster if __keyspace or __keyevent channel is defined
Fixed - SlaveConnectionPool no available Redis entries error may arise in some cases
Fixed - StackOverflowError is thrown by AggregationOptions.groupBy() method
Fixed - failedSlaveCheckInterval value should be greater than zero before it can be applied
Fixed - RedissonLocalCachedMap.putAllOperation() method throws ClassCastException if SyncStrategy = UPDATE

v3.23.1

Improvement - the scope of key event subscriptions reduced for RLiveObjectService object. Now it uses key-space channel
Improvement - the scope of key event subscriptions reduced for RLocalCachedMap object. Now it uses key-space channel

Fixed - codecs defined via Spring Native application.properties file can't be recognized during application run
Fixed - retryAttempt setting isn't applied during Redisson startup
Fixed - Quarkus 2/3 native image can't be built
Fixed - unknown property quarkus.redisson.* warnings in quarkus
Fixed - Redisson settings defined in Quarkus application.properties file can't be used in native mode

v3.23.0

Feature - added RBloomFilter contains() and add() methods with element collection support
Feature - RMapCache and RLocalCachedMap should use sharded pubsub in Redis Cluster 7.0+
Feature - lazyInitialization setting added
Feature - expireEntryIfNotSet(), expireEntries(), expireEntry(), expireEntriesIfNotSet() methods added to RMapCache object
Feature - MapCacheOptions object with removeEmptyEvictionTask() setting introduced. Removes RMapCache eviction task from memory if map is empty upon entries eviction process completion

Breaking change - RMapCache and RLocalCachedMap should use sharded pubsub in Redis Cluster 7.0+
Breaking change - RMapCache object uses MapCacheOptions object

Improvement - RMapCache shouldn't emit events if no listeners added

Fixed - canceling tasks that scheduled with cron expression does not interrupt the thread (thanks to @​zcxsythenew)
Fixed - RExecutorService task response should be deleted if task was canceled
Fixed - RedisConnection.close() method has private visibility
Fixed - ConcurrentModificationException occasionally thrown during batch execution
Fixed - StringIndexOutOfBoundsException is thrown if Redis port isn't defined in configuration
Fixed - missed methods implementation of Spring Data Redis module: zRevRangeByLex(), time(TimeUnit), zRemRangeByLex(), zLexCount(), rewriteConfig(), zRangeStoreByLex(), zRangeStoreRevByLex(), zRangeStoreByScore(), zRangeStoreRevByScore(), flushDb(), flushAll(), replicaOf(), replicaOfNoOne()
Fixed - transactional RMap.fastRemove() method throws UnsupportedOperationException
Fixed - RBloomFilter contains() and add() methods don't return accurate results if false probability is high
Fixed - incorrect handling "unknown command" response for RTopic operations
Fixed - RLiveObjectService.delete(class, id) method doesn't delete indexes
Fixed - RMultimapCache throws an exception if entry removed before expiration moment
Fixed - keepPubSubOrder setting isn't applied

v3.22.1

Feature - Apache Tomcat Manager should use sharded pubsub in Redis Cluster 7.0+
Feature - Micronaut Session store should use sharded pubsub in Redis Cluster 7.0+
Feature - RClusteredScoredSortedSet object implemented
Feature - maxDeletedEntryId, entriesAdded, recordedFirstEntryId properties added to StreamInfo object
Feature - inactive property added to StreamConsumer object
Feature - LocalCachedMapOptions.cacheSize = -1 should disable local cache storage

Breaking change - Apache Tomcat Manager and Micronaut Session store now use sharded PubSub in Redis Cluster 7.0+

Fixed - map index entry isn't deleted when RLiveObjectService expires
Fixed - RMultimap.fastRemoveValue() method doesn't delete entry completely if no values retain
Fixed - Default getCache method checks for Object class equality (thanks @​agupta-hw)
Fixed - RScoredSortedSet.distributedIterator() doesn't work (regression since 3.21.0)
Fixed - Memory leak if RLocalCachedMap created with storeMode=LOCALCACHE and syncStrategy=UPDATE params
Fixed - wait time handling in RedissonSpinLock (thanks @​vladimirkl)
Fixed - java.lang.ClassCastException is thrown by RDequeReactive.pollLast() and RDequeReactive.pollFirst() methods (thanks @​wynn5a)
Fixed - RSearch.search() method throws "Parameters must be specified in PARAM VALUE pairs" error
Fixed - RRateLimiter.setRate() method does not behave as expected when RateType is pre_client (thanks @​wynn5a)
Fixed - collection fields aren't deleted when RLiveObject expires or is deleted

v3.22.0

Feature - Spring Data Redis 3.1.0 implementation
Feature - Spring Boot 3.1.0 support
Feature - lastEntry(), firstEntry(), pollLastEntries(), pollFirstEntries(), entryIterator(), rankEntry(), revRankEntry() methods added to RScoredSortedSet object
Feature - RCountDownLatch, RLock, RPermitExpirableSemaphore, RSemaphore objects use sharded PubSub in Redis Cluster 7.0+
Feature - slavesSyncTimeout, commandMapper, sslCiphers, sslTrustManagerFactory, sslKeyManagerFactory settings added
Feature - RMultimap.fastRemoveValue() method added
Feature - allowedClasses setting added to SerializationCodec
Feature - entriesRead and makeStream parameters added to RStream.createGroup() method

Breaking change - RCountDownLatch, RLock, RPermitExpirableSemaphore, RSemaphore objects now use sharded PubSub in Redis Cluster 7.0+

Fixed - Expired LiveObjects with RIndex annotations retain indexed data
Fixed - RRingBuffer doesn't implement expire(), expireAt(), delete(), clearExpire() methods properly
Fixed - RLocalCachedMap local cache isn't cleared after instance expiration

v3.21.3

Fixed - default retryInterval isn't applied to RBatch object
Fixed - RBatches no longer respect the default number of retries (regression since 3.21.1)

v3.21.2

Feature - RBitSet.set(long[], boolean) method added (thanks to @​skasj)

Fixed - Pattern Topic messages are missed/duplicated after failover in cluster if channel starts with __keyspace and __keyevent and subscriptionMode = SLAVE
Fixed - to many pubsub topics may cause memory leak
Fixed - RBatches no longer respect the default number of retries (regression since 3.21.1)

v3.21.1

Feature - addIfAbsent(), addIfExists(), addIfGreater(), addIfLess(), addAll(), addAllIfAbsent(), addAllIfExist(), addAllIfGreater(), addAllIfLess() methods added to RSetCache object
Feature - SetAddListener, SetRemoveListener, SetRemoveRandomListener added to RSet object
Feature - ScoredSortedSetAddListener, ScoredSortedSetRemoveListener added to RScoredSortedSet object
Feature - MapPutListener, MapRemoveListener added to RMap object
Feature - IncrByListener added to RAtomicDouble and RAtomicLong objects
Feature - RMapCache.getAllWithTTLOnly() method added

Breaking change - RedissonDelayedQueue internal data format changed
Breaking change - RedissonReliableTopic internal data format changed

Improvement - RedissonReliableTopic internal structure optimization

Fixed - RReliableTopic data loss
Fixed - failover isn't handled correctly in some cases
Fixed - BatchOptions.retryAttempts = 0 isn't applied to RBatch object
Fixed - RMap.keySet() throws NPE if CompositeCodec used
Fixed - RediSearch NumericFilter shouldn't set exclusive range by default
Fixed - RediSearch NumericFilter throws NPE
Fixed - RLocalCachedMap.removeListener() method doesn't remove loca cache listeners

v3.21.0

Feature - RediSearch module support
Feature - Tracing support
Feature - RSetCache extends RSet interface
Feature - RSemaphore and RPermitExpirableSemaphore objects wait for sync operations completion
Feature - Quarkus 3 support
Feature - LocalCacheUpdateListener and LocalCacheInvalidateListener listeners support added to RLocalCachedMap object

Improvement - RRateLimiter object uses 128-bit random
Improvement - EVAL script cache applied to RBatch executed in IN_MEMORY mode
Improvement - RMap.keySet() method shouldn't load map values
Improvement - SequentialDnsAddressResolverFactory default concurrencyLevel set to 6

Fixed - RMapCache.fastPut() method doesn't clear ttl and idleTime params if entry reinserted after expiration
Fixed - Unable to find session error arise if Tomcat session was deleted or expired
Fixed - MasterSlaveEntry.getClient() method may throw NPE
Fixed - initialize Decoders LinkedHashMap with correct initial size to avoid unnecessary resizing (thanks @​theigl)
Fixed - failover handling may cause temporary connections spike
Fixed - RedissonCache.invalidate() method breaks cache configuration

v3.20.1

Feature - LoadBalancer.getEntry(List<ClientConnectionsEntry>, RedisCommand<?>) method added
Feature - CommandsLoadBalancer added
Feature - NodeType parameter added to ConnectionListener methods

Improvement - command should be redirected to a master node if slave node returns LOADING error

Fixed - NameMapper is called twice when acquiring a RReadWriteLock
Fixed - closing idle connections causes connection listener to fire
Fixed - Unable to init enough connections amount! error
Fixed - no retry attempts are made for None of slaves were synced error
Fixed - READONLY You can't write against a read only replica.. is thrown after failover in sentinel mode (thanks @​alexworkgit)
Fixed - continuously attempts of INFO REPLICATION command execution until attempts limit reached by RLock object after failover
Fixed - Node hasn't been discovered yet error isn't resolved by a new attempt for RBatch and RLock objects
Fixed - RedisClusterDownException, RedisLoadingException, RedisBusyException, RedisTryAgainException, RedisWaitException are thrown by RBatch and RLock objects even if these errors disappeared after new attempts
Fixed - Unable to init enough connections amount! Only 0 of ... were initialized error (thanks @​alexworkgit)
Fixed - nameMapper isn't applied to some methods of RSet and RScoredSortedSet objects
Fixed - readUnion(), readDiff() and readIntersection() methods of RSet object don't use Redis slave nodes

v3.20.0

Feature - new Multi cluster mode which supports AWS Redis Global Datastore and Azure Redis Cache active-passive replication
Feature - Proxy mode supports RLEC Active-Active databases
Feature - monitorIPChanges setting added for replicated servers mode
Feature - auto-detection of unavailable master in replicated mode (thanks @​nicdard)

Fixed - RLock can only be obtained by single redisson node if None of slaves were synced error occurred
Fixed - RSetMultimapReactive.get() method throws ClassCastException
Fixed - Redisson doesn't start in Spring Boot Native image
Fixed - RedissonClient.shutdown(long, long, TimeUnit) method isn't overridden by cluster, replicated and sentinel managers
Fixed - Node hasn't been discovered yet error isn't resolved by a new attempt for RBatch and RLock objects
Fixed - RMapCache.addAndGet() method doesn't handle Long type properly
Fixed - eventLoopGroup, connectionListener and executor settings can't be defined through YAML configuration
Fixed - keySet(), values(), entrySet() methods of RLocalCachedMap return empty result if storeMode == LOCALCACHE

v3.19.3

Fixed - a new attempt should be made on WAIT error during failover
Fixed - Kryo5Codec fails to (de)serialize Object without no-args constructor (regression since 3.19.2)

v3.19.2

Fixed - RLock instance can acquire lock with previous leaseTime if it's not specified
Fixed - RMap.computeAsync() method causes deadlock if MapLoader is defined
Fixed - RBoundedBlockingQueue.offer() methods always use global codec
Fixed - Spring Boot clientName setting isn't used
Fixed - connectTimeout setting is set incorrectly if Spring Boot 2.4.0+
Fixed - command replies don't match if exception is thrown in CommandEncoder
Fixed - empty result of BLMPOP command causes IndexOutOfBoundsException
Fixed - canceled blocking operation isn't interrupted immediately in some cases
Fixed - RStream.read() and RStream.readGroup() methods are hang forever is timeout > 0 and < 1000 milliseconds
Fixed - CacheLoader.loadAll() method isn't called by JCache.getAll() method if readThrough=true
Fixed - Kryo5Codec Serializers don't work in GraalVM native image mode
Fixed - LinkedHashMap and LinkedHashSet objects can't be decoded properly by Kryo5Codec
Fixed - NameMapper isn't applied to RFunction and RScript objects
Fixed - RFunction.callAsync() method called with RBatch object throws MOVED errors in Redis cluster mode
Fixed - RFunction.loadAndReplace() method uses incorrect command parameters
Fixed - codec, nettyHook, addressResolverGroupFactory, connectionListener settings can't be defined through Quarkus or Helidon config
Fixed - RFunction.load() method uses incorrect command parameters
Fixed - empty RTopic message handling (thanks @​MooRoakee)

v3.19.1

Feature - containsEach() method added to RSet object (thanks to @​slovvik)
Feature - getPermits(), acquiredPermits(), setPermits() methods added to RPermitExpirableSemaphore object (thanks to @​kscaldef, @​derekroller)

Breaking change - Kryo5Codec uses own serializators to serialize UUID, URI and Pattern objects

Fixed - RReliableTopic doesn't remove all expired subscribers at once
Fixed - RPatternTopic messages duplication after failover in cluster if channel starts with __keyspace@ and __keyevent@
Fixed - RBatch.getListMultimapCache() method should return RMultimapCacheAsync interface
Fixed - SharedPubSub listener isn't being triggered (thanks to @​MrChaos1993)
Fixed - RSetCacheRx and RSetCacheReactive miss tryAdd() method
Fixed - RSetRx and RSetReactive objects miss tryAdd() method
Fixed - RBloomFilter bitset can't be expired and deleted if nameMapper is used (thanks to @​javed119)
Fixed - RMapCacheRx and RMapCacheReactive interfaces miss addListener() method
Fixed - RMapCacheAsync interface misses addListenerAsync() method
Fixed - RTopicAsync.addListenerAsync() method uses wrong generic pattern for MessageListener object
Fixed - RPermitExpirableSemaphore throws CROSSSLOT error in cluster if nameMapper is used

v3.19.0

Feature - implementation of Spring Cache methods added in Spring 5.2
Feature - entriesRead and lag fields added to StreamGroup object
Feature - added RFencedLock implementation
Feature - credentialsResolver setting added

Breaking change - default codec changed to Kryo5Codec

Fixed - new Redis node isn't discovered between PubSub subscription attempts
Fixed - codec,nettyHook,addressResolverGroupFactory,connectionListener settings can't be defined through Micronaut config
Fixed - evictions metrics doesn't work for RedissonCache (thanks @​Nicola Dardanis)
Fixed - PubSub connection isn't reused if it reached subscriptions limit before unsubscribe operation
Fixed - PubSub connection returns to connection pool only if subscriptions limit was reached
Fixed - use slf4j late-binding when logging instead of string concat (thanks @​vatarasov)
Fixed - most of pubsub subscriptions fail to resubscribe after failover
Fixed - RBatch with executionMode = REDIS_WRITE_ATOMIC throws NPE in case of connection starvation
Fixed - CommandDecoder.messageDecoder() method throws NPE if RBatch object used with executionMode = IN_MEMORY (regression since 3.18.1)
Fixed - some scheduled tasks aren't executed (regression since 3.17.5)
Fixed - RFunction doesn't pass keys to Redis correctly (thanks @​@​jordanrmerrick)
Fixed - incorrectly reset jackson type factory (thanks @​noelvo)
Fixed - cluster partitions parsing error isn't logged

v3.18.1

Feature - Spring Data Redis 3.0.0 module added

Fixed - PubSub subscription in cluster sometimes doesn't apply to all nodes
Fixed - command replies don't match if connection pool size < 10 and at least one command failed
Fixed - RLock throws CancellationException continuously
Fixed - None of slaves were synced error is thrown after failover during RLock acquisition
Fixed - AWS Elasticache cluster failover
Fixed - hRandFieldWithValues() and hRandField() methods of Spring Data Redis module throw ClassCastException
Fixed - trySetPermitsAsync() method of RPermitExpirableSemaphore object shouldn't allow to overwrite the number of permits if value == 0 (thanks @​kscaldef)
Fixed - RKeys object doesn't use nameMapper
Fixed - connection leak after master failover

v3.18.0

Feature - Tomcat 10.1.x support
Feature - labels support for RTimeSeries object
Feature - compatibility with Spring Boot 3 (thanks @​olivierboudet)
Feature - RxJava and Reactive interfaces for RLocalCachedMap object
Feature - local cache support for JsonBucket object

Improvement - StringCodec now implements JsonCodec

Fixed - RDoubleAdder and RLongAdder objects don't work with nameMapper
Fixed - RBlockingQueue methods should return null if negative timeout defined
Fixed - RLocalCachedMap.clearLocalCacheAsync() method shouldn't retain semaphore after invocation
Fixed - Spring Data Redis methods weren't implemented: zRandMember(), zRandMemberWithScore(), zPopMin(), bZPopMin(), zPopMax(), bZPopMax(), zMScore(), zDiff(), zDiffWithScores(), zDiffStore(), zInter(), zInterWithScores(), zUnion(), zUnionWithScores(), hRandField(), hRandFieldWithValues(), copy(), lMove(), bLMove(), lPop(), rPop(), sMIsMember(), getEx(), getDel()
Fixed - attempts to connect to the failed master after failover in cluster mode
Fixed - RMapCache MapEntryListener doesn't work with nameMapper
Fixed - RJsonBucket.getKeys() method doesn't use path parameter
Fixed - RRateLimiter.getConfig().getRate() throws NPE if it doesn't exist (thanks @​Tanky-Zhang)
Fixed - RTransaction objects should be the same instances on each "get..." call
Fixed - RScheduledExecutorService cron triggers fire continuously for hours for some time zones (regression since 3.16.5)
Fixed - RSortedSet.add() throws NPE (thanks @​yuwei)
Fixed - RKeysReactive.getKeysByPattern() method isn't giving all entries if downstream consumer is slow
Fixed - "Unable to unfreeze entry" errors in sentinel mode
Fixed - JsonBucket.compareAndSet() method with null as update value deletes whole object
Fixed - Redis Cluster topology scanned partially in case of DNS resolution error
Fixed - Slave nodes failed to pass complete initialization shouldn't be added as nodes
Fixed - ByteBuf leaks when one of multiple parameters can't be encoded
Fixed - SearchDomainUnknownHostException is thrown occasionally


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/redisson.version branch from 36bf755 to 5959f83 Compare December 5, 2023 11:42
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.24.3 fix(deps): update redisson.version to v3.25.0 Dec 5, 2023
@renovate renovate bot force-pushed the renovate/redisson.version branch from 5959f83 to 565cc05 Compare December 18, 2023 11:18
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.25.0 fix(deps): update redisson.version to v3.25.1 Dec 18, 2023
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.25.1 fix(deps): update redisson.version Dec 20, 2023
@renovate renovate bot force-pushed the renovate/redisson.version branch from 565cc05 to 0856ba0 Compare December 20, 2023 15:53
@renovate renovate bot changed the title fix(deps): update redisson.version fix(deps): update redisson.version to v3.25.2 Dec 20, 2023
@renovate renovate bot force-pushed the renovate/redisson.version branch from 0856ba0 to b263d1d Compare January 16, 2024 09:26
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.25.2 fix(deps): update redisson.version to v3.26.0 Jan 16, 2024
@renovate renovate bot force-pushed the renovate/redisson.version branch from b263d1d to 1a441ce Compare February 12, 2024 09:44
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.26.0 fix(deps): update redisson.version to v3.26.1 Feb 12, 2024
@renovate renovate bot force-pushed the renovate/redisson.version branch from 1a441ce to e6f699f Compare February 20, 2024 10:20
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.26.1 fix(deps): update redisson.version to v3.27.0 Feb 20, 2024
@renovate renovate bot force-pushed the renovate/redisson.version branch from e6f699f to 8bcef65 Compare February 28, 2024 11:22
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.27.0 fix(deps): update redisson.version to v3.27.1 Feb 28, 2024
@renovate renovate bot force-pushed the renovate/redisson.version branch from 8bcef65 to e7cc862 Compare March 12, 2024 07:51
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.27.1 fix(deps): update redisson.version to v3.27.2 Mar 12, 2024
@renovate renovate bot force-pushed the renovate/redisson.version branch from e7cc862 to d8f63d8 Compare April 10, 2024 14:35
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.27.2 fix(deps): update redisson.version to v3.28.0 Apr 10, 2024
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.28.0 fix(deps): update redisson.version to v3.29.0 Apr 22, 2024
@renovate renovate bot force-pushed the renovate/redisson.version branch from e594e00 to d545e48 Compare May 10, 2024 14:27
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.29.0 fix(deps): update redisson.version to v3.30.0 May 10, 2024
@renovate renovate bot changed the title fix(deps): update redisson.version to v3.30.0 fix(deps): update redisson.version May 31, 2024
@renovate renovate bot force-pushed the renovate/redisson.version branch from d545e48 to 1da2e1f Compare May 31, 2024 10:24
@renovate renovate bot changed the title fix(deps): update redisson.version fix(deps): update redisson.version to v3.31.0 May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants