-
Notifications
You must be signed in to change notification settings - Fork 0
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
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/redisson.version
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
renovate
bot
force-pushed
the
renovate/redisson.version
branch
from
December 5, 2023 11:42
36bf755
to
5959f83
Compare
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
bot
force-pushed
the
renovate/redisson.version
branch
from
December 18, 2023 11:18
5959f83
to
565cc05
Compare
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
bot
changed the title
fix(deps): update redisson.version to v3.25.1
fix(deps): update redisson.version
Dec 20, 2023
renovate
bot
force-pushed
the
renovate/redisson.version
branch
from
December 20, 2023 15:53
565cc05
to
0856ba0
Compare
renovate
bot
changed the title
fix(deps): update redisson.version
fix(deps): update redisson.version to v3.25.2
Dec 20, 2023
renovate
bot
force-pushed
the
renovate/redisson.version
branch
from
January 16, 2024 09:26
0856ba0
to
b263d1d
Compare
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
bot
force-pushed
the
renovate/redisson.version
branch
from
February 12, 2024 09:44
b263d1d
to
1a441ce
Compare
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
bot
force-pushed
the
renovate/redisson.version
branch
from
February 20, 2024 10:20
1a441ce
to
e6f699f
Compare
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
bot
force-pushed
the
renovate/redisson.version
branch
from
February 28, 2024 11:22
e6f699f
to
8bcef65
Compare
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
bot
force-pushed
the
renovate/redisson.version
branch
from
March 12, 2024 07:51
8bcef65
to
e7cc862
Compare
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
bot
force-pushed
the
renovate/redisson.version
branch
from
April 10, 2024 14:35
e7cc862
to
d8f63d8
Compare
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
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
bot
force-pushed
the
renovate/redisson.version
branch
from
May 10, 2024 14:27
e594e00
to
d545e48
Compare
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
bot
changed the title
fix(deps): update redisson.version to v3.30.0
fix(deps): update redisson.version
May 31, 2024
renovate
bot
force-pushed
the
renovate/redisson.version
branch
from
May 31, 2024 10:24
d545e48
to
1da2e1f
Compare
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
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.17.7
->3.31.0
3.17.7
->3.31.0
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
defaultconcurrencyLevel
set to 2Improvement -
ThreadLocalRandom
replaced withxoshiro256**
RNG to avoid collisionsFixed - cluster failover handling
Fixed - cluster topology scan shouldn't be stopped by any exception
Fixed -
RSetMultiMap
throwstoo many results to unpack
errorFixed - append commands error when using batch mode (thanks to @seakider)
Fixed -
ERR unknown command EVALSHA_RO
error shouldn't be loggedFixed -
TransactionalBucket#set(V, Duration)
PSETEX
command is called beforeMULTI
command (thanks to @seakider)Fixed -
CommandMapper
isn't applied to Lua scriptsFixed - incorrect connection release if
BatchOptions.executionMode
=REDIS_WRITE_ATOMIC
orREDIS_READ_ATOMIC
(thanks to @seakider)Fixed -
RFairLock
methods throw 'attempt to compare nil with number' errorFixed - Spring Data Redis
RedissonConnectionFactory.getSentinelConnection()
method throws error on the first offline sentinelFixed - read mode = SLAVE isn't applied for
RSet.random()
methodsFixed - Keyspace notifications should be listened only on master nodes
Fixed -
RListMultimap.removeAll()
method always deletes link to listFixed -
RLockReactive
methods don't work in native imageFixed - Correctly update shutdown timeout after each step in connection manager shutdown (thanks to @MartinEkInsurely)
Fixed - broken tck
JCache
testsFixed - not all sentinels defined in the configuration are registered
v3.30.0
Feature -
sslKeystoreType
setting addedFeature -
RPatternTopic.getActiveTopic()
method added (thanks to @MasterShi)Feature -
RJsonBucket.merge()
method addedFeature - Async, Rx, Reactive interfaces implemented for
RBloomFilter
objectFeature - 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 failoverFixed - 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 modeFixed - 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)
methodFixed - Live Object field can't set to null value
Fixed -
SentinelConnectionManager
stops scheduling topology change change / dns check after host resolution errorFixed -
RMapCache.fastPutIfExistsOperation()
method uses incorrect pubsub channelv3.29.0
Feature -
NewObjectListener
added to track created objectsFeature -
NewObjectListener
andSetObjectListener
can be registered withRKeys.addListener()
methodFeature -
subscribeOnElements()
,subscribeOnLastElements()
andsubscribeOnFirstElements()
methods wait forCompletionStage
to complete before polling the next elementFeature -
shardedSubscriptionMode
setting added in Cluster configurationFeature -
RSemaphore.trySetPermits()
method with ttl parameter addedFeature -
getDeletedIds()
method added toRStream
AutoClaimResult
objectImprovement - responses map lock replaced with fine-grained entry locking in
RRemoteService
andRScheduledExecutorService
Fixed -
RStream.autoClaim()
method throws ClassCastExceptionFixed -
RSearch
aggregate expression applied incorrectlyFixed -
LocalCachedMapDisabledKey
event is parsed incorrectly if local cache used withRTransaction
Fixed - Slave node in cluster mode isn't shutdown properly if
readMode = MASTER
andsubscribeMode = 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 ifconnectionMinimumIdleSize = 0
Fixed -
ClassCastException
is thrown for Reactive/Rx RemoteService invocation if Redisson instance isn't Reactive/RxFixed - semaphore object is not deleted after
RLocalCachedMap.clearLocalCache()
method invocationFixed -
AggregationOptions.groupBy()
setting with reducers used inRSearch.aggregate()
method causes an exceptionFixed -
AggregationOptions.groupBy()
setting usage withRSearch.aggregate()
method causes an exception if reducers aren't definedFixed -
AggregationOptions.sortBy()
setting usage withRSearch.aggregate()
method causes an exceptionFixed - 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 evictionFeature - graceful shutdown in quarkus (thanks to @naah69)
Improvement -
RLongAdder
andRDoubleAddder
should use sharded topic if possibleImprovement - reduced CPU and Memory consumption by
ClusterConnectionManager.getLastPartitonsByURI()
methodImprovement -
RedisURI.hashCode()
caching to reduce CPU consumptionImprovement - shutdown check added in
RTopic.removeListener()
methodFixed - 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 ifreadMode = MASTER_SLAVE
Fixed -
RLock
,RFencedLock
,RReadWriteLock
miss unlock messages and wait a defined timeout before a next attempt or hangFixed -
RSemaphore
,RPermitExpirableSemaphore
miss release messages and wait a defined timeout before a next attempt or hangFixed - incorrect value of
RLongAdder.sum()
andRDoubleAddder.sum()
methods if multiple Adder instances for the same Redisson object are usedFixed -
CountDownLatch.await()
method may throw NPEFixed - ExecutionException handling in RExecutorService, RLock, RPermitExpirableSemaphore, RSemaphore objects
Fixed -
ConcurrentModificationException
is thrown on RedissonSession save method if readMode = MEMORYFixed - Spring Data Redis zPopMin() and zPopMax() methods don't work (thanks to @bimslab)
v3.27.2
Feature -
RShardedTopic.countSubscribers()
method implementedFeature -
RedissonMultiLock
implementsisHeldByThread()
andisHeldByCurrentThread()
methodsFixed - Multiple locking of RLock reset remainTimeToLive to config default
Fixed - exception thrown by
natMapper
is not shown in logsFixed - OSGi jdk.net package import should be optional
Fixed -
ServiceManager.resolveAll()
method throws NPEFixed -
RObject.addListenerAsync()
method throwsUnsupportedOperationException
Fixed -
StatusListener
doesn't work withRShardedTopic
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 eventsFixed -
SlotsDecoder
throws NPE on empty resultFixed - Clash between RedissonCache and Spring (6.1+) Cache interface methods
Fixed -
RedissonClient.shutdown()
method hangs atserviceManager.getShutdownLatch()
invocationFixed - "Failed to submit a listener notification task. Event loop shut down?" error caused by
PingConnectionHandler
Fixed -
JsonCodecWrapper
isn't cached properlyv3.27.1
Feature - added
TrackingListener
support toRList
,RQueue
,RDeque
,RBlockingQueue
,RBlockingDeque
,RDelayedQueue
,RRingBuffer
objectsFeature -
addListener()
,random()
methods added toRLexSortedSet
objectImprovement - 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
andretryAttempts
settings aren't applied in case of 'READONLY You can't write against a read only replica.' errorFixed -
RRemoteService
may cause CPU spike after Master failoverFixed -
FlushListener
causesClassCastException
Fixed -
TrackingListener
causesClassCastException
Fixed -
RedissonSetCache.addIfAbsentAsync()
uses incorrect argument for zadd (thanks @fooooxxxx)v3.27.0
Feature - client tracking support.
TrackingListener
is available forRBucket
,RStream
,RScoredSortedSet
,RSet
,RMap
andRBucket
objectsFeature - added
RKeys.addListener()
method to register global listenersFeature -
FlushListener
added to track flushdb/flushall command invocationFeature -
Kryo5Codec
constructor withregistrationRequired
parameter addedFeature -
nettyExecutor
setting addedFeature - enable DNS TCP fallback when UDP query timeout for
RoundRobinDnsAddressResolverGroupFactory
andSequentialDnsAddressResolverFactory
Improvement - cache result of
INFO REPLICATION
command forRLock
objectsFixed - Spring Data Redis
ReactiveKeyCommands.pExpire()
method throws an exceptionFixed - NPE is thrown by
RedisExecutor.handleError()
methodFixed - sharded pubsub detection for
Apache Tomcat Session Manager
,RMapCache
andRLocalCachedMap
objectsFixed - Redisson's threads aren't shutdown if Redis node address isn't defined
Fixed - NPE is thrown while creating
RLocalCacheMap
object without WriteMode valueFixed - incorrect RESP3 protocol parsing causes
SlaveConnectionPool no available Redis entries
errorFixed - repeated new connections with AWS Elasticache serverless
Fixed - internal
LRUCacheMap
object throwsConcurrentModificationException
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()
methodFixed - Spring Data Redis
opsForCluster().randomKey()
method throwsUnsupportedOperationException
Fixed -
JCache.close()
method throwsIllegalStateException
if statistics enabledFixed - doubled connections to the master node if
readMode = MASTER_SLAVE
or there are no slave nodesFixed -
RSearch.delDict()
andRSearch.addDict()
methods throw NPEFixed - connection ping handler doesn't use
commandTimeout
settingFixed - repeated new connections with AWS Elasticache serverless
Fixed -
RLock
throwsERR unknown command 'wait'
with AWS Elasticache serverlessFixed -
RSearchReactive.dropIndex()
method doesn't call onComplete() handlerv3.26.0
Feature - ability to specify
retryInterval
,retryAttempts
,timeout
settings per Redisson object. Please refer to the documentationFeature -
LocalCachedMapOptions.expirationEventPolicy
setting addedFeature -
StreamAddListener
,StreamCreateConsumerListener
,StreamCreateGroupListener
,StreamRemoveConsumerListener
,StreamRemoveGroupListener
,StreamRemoveListener
,StreamTrimListener
listeners added forRStream
objectFixed - Spring Data Redis
RedissonConnection.setCommands()
method returns nullFixed - continuously reconnecting to a removed slave node in cluster mode
Fixed -
EntryExpiredListener
isn't invoked byRMapCache
instance in Redis Cluster 7+ and ifnameMapper
is definedFixed -
Skipped slave up ...
error is thrown in Sentinel mode if nodes use IPv6Fixed - NPE is thrown when adding or removing shards in ElastiCache
Fixed -
RAtomicDouble
,RAtomicLong
,RMap
,RScoredSortedSet
,RSet
listeners aren't removed properlyFixed - connection isn't reconnected on
WRONGPASS
Redis errorFixed - connection timeout during Redisson start ignores connections amount
Fixed -
RSearch.search()
method doesn't execute query with aliases properlyFixed -
FCALL_RO
command isn't used whenRFunction
method called withFunctionMode.READ
parameterFixed -
IllegalReferenceCountException
is thrown when canceling a method callFixed - Redis scan cursor exceed
Long.MAX_VALUE
in AWS ElasticacheFixed - internal
ServiceManager.calcSHA()
method should use UTF-8 encoding by defaultv3.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 calledFixed - Sprint Data Redis throws
Subscription registration timeout exceeded
Fixed - Sprint Data Redis
RedisMessageListenerContainer.addMessageListener()
method hangs if called after container startFixed - NPE is thrown if
lazyInitialization = true
Fixed -
PriorityQueue
methods may hang due to unreleased lock after exceptionFixed -
RMap.getAll()
method throwsIndexOutOfBoundsException
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 versionImprovement - 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()
methodFixed -
RLiveObjectService.persist()
method with varargs hangs in cluster modeFixed - 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 resultFixed -
RScoredSortedSet.pollFirstEntries(count)
andpollLastEntries(count)
methods return wrong resultFixed -
BZMPOP
command timeout isn't appliedFixed -
getBlockingDeque()
,getDeque()
,getPriorityDeque()
,getPriorityBlockingDeque()
throwNoClassDefFoundError
if JDK version < 21Fixed -
RLocalCachedMap.containsKey()
method does not work properly ifstoreCacheMiss = true
Fixed -
RedissonRemoteService
exceptions handling (thanks to @mrmx)Fixed -
RSearch.info()
method throwsNumberFormatException
Fixed -
HttpSessionListener.sessionDestroyed()
method isn't called if Tomcat Session deleted by the node which didn't create itFixed -
LZ4CodecV2
isn't compatible withLZ4Codec
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 duringRLock.unlock()
call ifretryAttempts = 0
v3.24.2
Fixed -
IllegalArgument timeout...
error is throw during Redisson shutdownFixed - Intermittent Exception when creating
RLocalCachedMap
(regression since 3.24.1)Fixed -
RSearch.aggregate()
doesn't applywithCursor()
andsortBy()
options correctlyFixed -
MOVED redirection loop detected
error should be thrown only if both source and target addresses are equalv3.24.1
Feature -
writerRetryAttempts
andwriterRetryInterval
settings added toMapOptions
object (thanks to @zzhlhc)Feature -
RSortedSet
implementsRExpirable
Feature -
RBlockingQueue.pollFromAnyWithName()
method addedFeature -
org.redisson.codec.LZ4CodecV2
codec based on apache commons-compress addedFeature - Redis Cache async methods implementation introduced in Spring 6.1.0
Feature -
tcpKeepAliveCount
,tcpKeepAliveIdle
,tcpKeepAliveInterval
,tcpUserTimeout
settings addedFeature -
subscriptionTimeout
setting addedFixed -
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 clusterFixed - exceptions aren't wrapped in
CacheException
forcontainsKey()
,getAll()
andremoveAll()
methods ofJCache
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 ifNameMapper
object was specifiedFixed -
RPriorityQueue
has incorrect lock name ifNameMapper
object was specifiedFixed -
RMapCache.expireEntries()
andexpireEntry()
methods don't updatemaxIdle
parameter properlyFixed - non-volatile
RedisConnection.lastUsageTime
field may cause incorrect idle time calculationFixed -
attempt to unlock lock, not locked by current thread
error occurs in rare cases even ifRLock.unlock()
method called by lock owner threadFixed -
RCountDownLatch
only notifying the first async listener after countdown reaches 0 (thanks to @Sinbios)Fixed -
RStream.trim()
andtrimNonStrict()
methods don't work with Redis 6.2+Fixed -
RReadWriteLock.readLock().isLocked()
method returns incorrect result if acquired by writeLock owner threadFixed -
RedissonClient.getLiveObjectService()
method causes an attempt to connect to Redis iflazyInitialization = true
v3.23.5
Feature -
failedSlaveNodeDetector
setting added to Cluster, Sentinel, Replicated, Master/Slave modesFeature - module name added to redisson jar (thanks to @KrogerWalt)
Feature -
putAll()
method with TTL added to RMapCacheRx and RMapCacheReactive objectsFeature - Fallback to TCP in case of a UDP DNS truncation
Feature -
RMapCacheV2
, SpringRedissonSpringCacheV2Manager
and HibernateRedissonRegionV2Factory
objects added in PRO versionFixed - NPE is thrown by
RedissonAutoConfiguration
if Spring Boot 3.1+Fixed -
WeightedRoundRobinBalancer
doesn't support hostnamesFixed - 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 nullFixed -
IllegalStateException
is thrown ifRedisConnectionDetails
object registered in Spring Context with settings for Cluster or SentinelFixed -
RSearch
can not create Vector fieldFixed -
RSearch
vector field doesn't support aliasv3.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 throughBatchOptions.syncAOF()
settingFeature -
bgSave()
,scheduleBgSave()
,save()
,getLastSaveTime()
,bgRewriteAOF()
,size()
methods added toRedisNode
objectImprovement -
RSemaphore
andRLock
operations should have slave synchronization even ifreadMode = MASTER
andsubscriptionMode = MASTER
Fixed - wrong order call of RSearch's
FieldIndex
tagcaseSensitive()
andseparator()
settingsFixed -
RedisConnectionDetails
object isn't used for Redisson configuration in Spring Boot 3.1+Fixed - incorrect
slots added
,slots removed
messages in Redis Cluster modeFixed - Tomcat Manager "Session can't be found" message should have debug level
Fixed -
RBoundedBlockingQueue
can't be deleted ifnameMapper
was definedFixed -
RLock
isn't unlocked afterRTransaction.commit()
v3.23.3
Feature -
TransportMode.IO_URING
added (thanks to @sgammon)Feature -
LocalCachedMapOptions.useKeyEventsPattern()
setting introducedImprovement - Long as string cache in CommandEncoder (thanks to @tomerarazy)
Improvement - each
AddressResolver
created bySequentialDnsAddressResolverFactory
should share common DnsCache and DnsCnameCache instancesImprovement - 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 definedFixed -
SlaveConnectionPool no available Redis entries
error may arise in some casesFixed - StackOverflowError is thrown by
AggregationOptions.groupBy()
methodFixed -
failedSlaveCheckInterval
value should be greater than zero before it can be appliedFixed -
RedissonLocalCachedMap.putAllOperation()
method throwsClassCastException
ifSyncStrategy = UPDATE
v3.23.1
Improvement - the scope of key event subscriptions reduced for
RLiveObjectService
object. Now it uses key-space channelImprovement - the scope of key event subscriptions reduced for
RLocalCachedMap
object. Now it uses key-space channelFixed - codecs defined via Spring Native application.properties file can't be recognized during application run
Fixed -
retryAttempt
setting isn't applied during Redisson startupFixed - Quarkus 2/3 native image can't be built
Fixed - unknown property
quarkus.redisson.*
warnings in quarkusFixed - Redisson settings defined in Quarkus application.properties file can't be used in native mode
v3.23.0
Feature - added
RBloomFilter
contains()
andadd()
methods with element collection supportFeature - RMapCache and RLocalCachedMap should use sharded pubsub in Redis Cluster 7.0+
Feature - lazyInitialization setting added
Feature -
expireEntryIfNotSet()
,expireEntries()
,expireEntry()
,expireEntriesIfNotSet()
methods added toRMapCache
objectFeature -
MapCacheOptions
object withremoveEmptyEvictionTask()
setting introduced. RemovesRMapCache
eviction task from memory if map is empty upon entries eviction process completionBreaking 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 addedFixed - 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 canceledFixed -
RedisConnection.close()
method has private visibilityFixed -
ConcurrentModificationException
occasionally thrown during batch executionFixed -
StringIndexOutOfBoundsException
is thrown if Redis port isn't defined in configurationFixed - 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 throwsUnsupportedOperationException
Fixed -
RBloomFilter
contains()
andadd()
methods don't return accurate results if false probability is highFixed - incorrect handling "unknown command" response for
RTopic
operationsFixed -
RLiveObjectService.delete(class, id)
method doesn't delete indexesFixed -
RMultimapCache
throws an exception if entry removed before expiration momentFixed -
keepPubSubOrder
setting isn't appliedv3.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 toStreamInfo
objectFeature -
inactive
property added toStreamConsumer
objectFeature -
LocalCachedMapOptions.cacheSize = -1
should disable local cache storageBreaking 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
expiresFixed -
RMultimap.fastRemoveValue()
method doesn't delete entry completely if no values retainFixed - 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 withstoreMode=LOCALCACHE
andsyncStrategy=UPDATE
paramsFixed - 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" errorFixed -
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 deletedv3.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 toRScoredSortedSet
objectFeature -
RCountDownLatch
,RLock
,RPermitExpirableSemaphore
,RSemaphore
objects use sharded PubSub in Redis Cluster 7.0+Feature -
slavesSyncTimeout
,commandMapper
,sslCiphers
,sslTrustManagerFactory
,sslKeyManagerFactory
settings addedFeature -
RMultimap.fastRemoveValue()
method addedFeature -
allowedClasses
setting added toSerializationCodec
Feature -
entriesRead
andmakeStream
parameters added toRStream.createGroup()
methodBreaking 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 implementexpire()
,expireAt()
,delete()
,clearExpire()
methods properlyFixed -
RLocalCachedMap
local cache isn't cleared after instance expirationv3.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
andsubscriptionMode = 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 toRSetCache
objectFeature -
SetAddListener
,SetRemoveListener
,SetRemoveRandomListener
added toRSet
objectFeature -
ScoredSortedSetAddListener
,ScoredSortedSetRemoveListener
added toRScoredSortedSet
objectFeature -
MapPutListener
,MapRemoveListener
added toRMap
objectFeature -
IncrByListener
added toRAtomicDouble
andRAtomicLong
objectsFeature -
RMapCache.getAllWithTTLOnly()
method addedBreaking change - RedissonDelayedQueue internal data format changed
Breaking change - RedissonReliableTopic internal data format changed
Improvement -
RedissonReliableTopic
internal structure optimizationFixed -
RReliableTopic
data lossFixed - failover isn't handled correctly in some cases
Fixed -
BatchOptions.retryAttempts = 0
isn't applied toRBatch
objectFixed -
RMap.keySet()
throws NPE if CompositeCodec usedFixed - RediSearch NumericFilter shouldn't set exclusive range by default
Fixed - RediSearch NumericFilter throws NPE
Fixed -
RLocalCachedMap.removeListener()
method doesn't remove loca cache listenersv3.21.0
Feature - RediSearch module support
Feature - Tracing support
Feature -
RSetCache
extendsRSet
interfaceFeature -
RSemaphore
andRPermitExpirableSemaphore
objects wait for sync operations completionFeature - Quarkus 3 support
Feature -
LocalCacheUpdateListener
andLocalCacheInvalidateListener
listeners support added to RLocalCachedMap objectImprovement -
RRateLimiter
object uses 128-bit randomImprovement - EVAL script cache applied to
RBatch
executed inIN_MEMORY
modeImprovement -
RMap.keySet()
method shouldn't load map valuesImprovement -
SequentialDnsAddressResolverFactory
default concurrencyLevel set to 6Fixed -
RMapCache.fastPut()
method doesn't clear ttl and idleTime params if entry reinserted after expirationFixed - Unable to find session error arise if Tomcat session was deleted or expired
Fixed -
MasterSlaveEntry.getClient()
method may throw NPEFixed - 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 configurationv3.20.1
Feature -
LoadBalancer.getEntry(List<ClientConnectionsEntry>, RedisCommand<?>)
method addedFeature - 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 aRReadWriteLock
Fixed - closing idle connections causes connection listener to fire
Fixed -
Unable to init enough connections amount!
errorFixed - no retry attempts are made for
None of slaves were synced
errorFixed -
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 failoverFixed - 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 attemptsFixed -
Unable to init enough connections amount! Only 0 of ... were initialized
error (thanks @alexworkgit)Fixed -
nameMapper
isn't applied to some methods ofRSet
andRScoredSortedSet
objectsFixed -
readUnion()
,readDiff()
andreadIntersection()
methods ofRSet
object don't use Redis slave nodesv3.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 ifNone of slaves were synced
error occurredFixed -
RSetMultimapReactive.get()
method throwsClassCastException
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 managersFixed - 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 properlyFixed -
eventLoopGroup
,connectionListener
andexecutor
settings can't be defined through YAML configurationFixed -
keySet()
,values()
,entrySet()
methods ofRLocalCachedMap
return empty result ifstoreMode == 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 specifiedFixed -
RMap.computeAsync()
method causes deadlock if MapLoader is definedFixed -
RBoundedBlockingQueue.offer()
methods always use global codecFixed - Spring Boot
clientName
setting isn't usedFixed -
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 byJCache.getAll()
method if readThrough=trueFixed -
Kryo5Codec
Serializers don't work in GraalVM native image modeFixed -
LinkedHashMap
andLinkedHashSet
objects can't be decoded properly byKryo5Codec
Fixed -
NameMapper
isn't applied toRFunction
andRScript
objectsFixed -
RFunction.callAsync()
method called withRBatch
object throwsMOVED
errors in Redis cluster modeFixed -
RFunction.loadAndReplace()
method uses incorrect command parametersFixed -
codec
,nettyHook
,addressResolverGroupFactory
,connectionListener
settings can't be defined through Quarkus or Helidon configFixed -
RFunction.load()
method uses incorrect command parametersFixed - 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 toRPermitExpirableSemaphore
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 onceFixed -
RPatternTopic
messages duplication after failover in cluster if channel starts with__keyspace@
and__keyevent@
Fixed -
RBatch.getListMultimapCache()
method should returnRMultimapCacheAsync
interfaceFixed - SharedPubSub listener isn't being triggered (thanks to @MrChaos1993)
Fixed -
RSetCacheRx
andRSetCacheReactive
misstryAdd()
methodFixed -
RSetRx
andRSetReactive
objects misstryAdd()
methodFixed -
RBloomFilter
bitset can't be expired and deleted ifnameMapper
is used (thanks to @javed119)Fixed -
RMapCacheRx
andRMapCacheReactive
interfaces missaddListener()
methodFixed -
RMapCacheAsync
interface missesaddListenerAsync()
methodFixed -
RTopicAsync.addListenerAsync()
method uses wrong generic pattern for MessageListener objectFixed -
RPermitExpirableSemaphore
throws CROSSSLOT error in cluster if nameMapper is usedv3.19.0
Feature - implementation of Spring Cache methods added in Spring 5.2
Feature -
entriesRead
andlag
fields added toStreamGroup
objectFeature - 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 configFixed - 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
withexecutionMode = REDIS_WRITE_ATOMIC
throws NPE in case of connection starvationFixed -
CommandDecoder.messageDecoder()
method throws NPE ifRBatch
object used withexecutionMode = 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
throwsCancellationException
continuouslyFixed -
None of slaves were synced
error is thrown after failover during RLock acquisitionFixed - AWS Elasticache cluster failover
Fixed -
hRandFieldWithValues()
andhRandField()
methods of Spring Data Redis module throwClassCastException
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 usenameMapper
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
andRLongAdder
objects don't work withnameMapper
Fixed -
RBlockingQueue
methods should return null if negative timeout definedFixed -
RLocalCachedMap.clearLocalCacheAsync()
method shouldn't retain semaphore after invocationFixed - 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 withnameMapper
Fixed -
RJsonBucket.getKeys()
method doesn't use path parameterFixed -
RRateLimiter.getConfig().getRate()
throws NPE if it doesn't exist (thanks @Tanky-Zhang)Fixed -
RTransaction
objects should be the same instances on each "get..." callFixed -
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 slowFixed - "Unable to unfreeze entry" errors in sentinel mode
Fixed -
JsonBucket.compareAndSet()
method with null as update value deletes whole objectFixed - 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 occasionallyConfiguration
📅 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.
This PR has been generated by Mend Renovate. View repository job log here.