-
Notifications
You must be signed in to change notification settings - Fork 0
fix(deps): update redisson.version to v3.50.0 #187
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
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 }}
Loading
Could not load tags
Nothing to show
Loading
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 hidden or 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
36bf755
to
5959f83
Compare
5959f83
to
565cc05
Compare
565cc05
to
0856ba0
Compare
0856ba0
to
b263d1d
Compare
b263d1d
to
1a441ce
Compare
1a441ce
to
e6f699f
Compare
e6f699f
to
8bcef65
Compare
8bcef65
to
e7cc862
Compare
e7cc862
to
d8f63d8
Compare
e594e00
to
d545e48
Compare
d545e48
to
1da2e1f
Compare
1da2e1f
to
d40859d
Compare
d40859d
to
ccd2cba
Compare
ccd2cba
to
646d030
Compare
aebb408
to
bafdb38
Compare
bafdb38
to
2f0759d
Compare
2f0759d
to
11305a3
Compare
11305a3
to
06d2129
Compare
06d2129
to
2224a7e
Compare
2224a7e
to
6ff37a2
Compare
6ff37a2
to
c809f40
Compare
c809f40
to
555eca9
Compare
555eca9
to
cf43f26
Compare
cf43f26
to
75d384e
Compare
75d384e
to
3e6c83a
Compare
3e6c83a
to
e4e46a0
Compare
e4e46a0
to
51d0015
Compare
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.50.0
3.17.7
->3.50.0
Release Notes
redisson/redisson (org.redisson:redisson-spring-data-21)
v3.50.0
Feature - Apache Tomcat SSO integration (thanks to @cogniware and @iamrakesh)
Feature - Valkey and Redis url may contain password only (thanks to @noxvost)
Fixed - Redisson can't connect to Azure Managed Redis Cluster (thanks to @beetlebugorg)
Fixed - commons-codec and json-smart libs updated
Fixed -
IllegalArgumentException: tickDuration : 0 (expected: > 0)
error is thrownv3.49.0
Feature -
RClusteredScoredSortedSetRx
,RClusteredScoredSortedSetReactive
interfaces added forRClusteredScoredSortedSet
objectFeature -
iteratorAsync()
methods added toRSet
object (thanks to @seakider)Feature -
readAllKeySetAsync(pattern)
,readAllValuesAsync(pattern)
andreadAllEntrySetAsync()
methods added to RMap interface (thanks to @seakider)Feature - Redisson PRO license key can be defined through
redisson.pro.key
key stored in Valkey or RedisFixed - local cache update in
putIfAbsent()
,fastPutIfExists()
andfastPutIfAbsent()
methods ofRLocalCachedMapCache
andRClusteredLocalCachedMapCache
objectsFixed -
RLocalCachedMapCacheNative
object instoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed -
RLocalCachedMapCacheNative.putIfAbsent()
method doesn't update local cacheFixed -
RClusteredLocalCachedMapCacheNative
object instoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed -
RClusteredLocalCachedMapCacheNative.putIfAbsent()
method doesn't update local cacheFixed -
RClusteredLocalCachedMapCache
object instoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed -
RLocalCachedMapCache
object instoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed -
put()
,fastPutIfAbsent()
,putIfAbsent()
methods ofRLocalCachedMapCacheV2
instoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed -
RLocalCachedJsonStore
object instoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed - missed classes added to the Hibernate 7 module
Fixed -
retryAttempts
setting value limit (thanks to @seakider)Fixed -
RObject.rename()
method doesn't work in batch mode if the new and old name slots matchFixed - minTimeout value calculation for HashedWheelTimer object
Fixed -
codec
,loader
andwriter
settings can't be parsed in Micronaut cache yaml configurationFixed - environment variables for Redisson configuration can't be used with Micronaut 4
v3.48.0
Feature -
retryDelay
andreconnectionDelay
settings added, allowing to define a delay strategy. Available implementations:FullJitterDelay
,EqualJitterDelay
,DecorrelatedJitterDelay
andConstantDelay
. Default isEqualJitterDelay
Feature - Vector Set object added
Feature - Spring Data Redis 3.5.0 implementation
Feature - Hibernate 7 support added
Improvement -
RClusteredMapCache
eviction process optimizationFixed -
RLocalCachedMap
withstoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed -
RClusteredLocalCachedMap
withstoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed -
RLocalCachedMapCacheV2
withstoreMode = LOCALCACHE
may allocate extra connections and miss updates ifsyncStrategy = UPDATE
Fixed -
RLocalCachedMapCacheV2
local cache updatesFixed -
QueueTransferTask
throws NPEFixed - unknown command error is thrown if
RLock
object is used on Valkey Serverless deploymentFixed - the count parameter of
RMap.valuesAsync()
method should not affect resultFixed -
NOSCRIPT
error is thrown after failover byRLock
methodsFixed - RESP3 boolean value parsing
v3.47.0
Feature - ReliableFanout object added
Feature - processingMode setting added to
RReliableQueue
configFeature - listeners added to
RReliableQueue
objectFeature - metrics added to
RReliableQueue
objectFeature -
disableOperation()
andenableOperation()
methods added toRReliableQueue
objectFeature -
get()
andgetAll()
methods added toRReliableQueue
objectFeature -
pollBatchSize
,visibilityTimeout
,negativeAcknowledgeDelay
consumer settings added to Spring Cloud Stream BinderFeature -
RReliableQueue
implementsRDestroyable
interfaceFeature -
readDiffEntries()
,readIntersectionEntries()
,readUnionEntries()
methods added to RScoredSortedSet (thanks to @seakider)Feature -
valkeyCapabilities
setting addedImprovement - script logging in error message if useScriptCache = true
Improvement -
RReliableQueue
data structure optimizationFixed - RClusteredLocalCachedMap.fastPut() method causes netty buffer leak if
storeMode = LOCALCACHE
Fixed -
RReliableQueue.size()
method result shouldn't include delayed messages amountFixed - Spring Cache.getNativeCache() returns incorrect instance
Fixed - exessive connections creation for RClusteredLocalCachedMap and RClusteredLocalCachedMapCache if 'reconnectionStrategy = LOAD'
Fixed - readUnion(), readIntersection(), readDiff() methods of RSetCache throw exception
Fixed - New connection opened for each write operation after failover in Sentinel mode (thanks to @seakider)
Fixed - Micronaut 4.x connects only to a single node
Fixed - RedisURI(String) constructor doesn't set the hashCode
Fixed - Spring Data Redis
addMessageListener()
method hangs if multiple listeners added to the same topic or patternFixed - detection of
WAIT
andWAITAOF
commands availabilityFixed - JCacheManager does not remove cache instance from map when calling closeCache() (thanks to @seakider)
Fixed - starvation of pub/sub connections may cause a memory leak
Fixed -
RMap.loadAll()
method may hang in ClusterFixed -
None of slaves were synced
exception is thrownFixed - Spring Data Redis
ReactiveZSetCommands.zadd()
default param (thanks to @lookroot)v3.46.0
Feature - Reliable Queue object added.
RDelayedQueue
andRBoundedBlockingQueue
have been deprecatedFeature -
fairLockWaitTimeout
Redisson setting added (thanks to @seakider)Feature -
credentialsReapplyInterval
Redisson setting added (thanks to @seakider)Feature - support for JDK Atomic objects in Kryo5Codec (thanks to @bergander)
Feature -
WorkerOptions.tasksInjector
setting added (thanks to @zzhlhc)Breaking change - Spring Cloud Stream Binder queue implementation replaced with
RReliableQueue
objectBreaking change - RedisPubSubConnection.removeListener() and RedisPubSubConnection.addListener() methods signature changed
Improvement -
useScriptCache
setting is true by defaultImprovement - Add check for
keepAliveTime
andrateInterval
in RRateLimiter (thanks to @shrink)Fixed - data leak in RReliableTopic (thanks to @Chengzhi1803472613)
Fixed - PubSub stops working after Redis restart in sentinel mode (thanks to @seakider)
Fixed -
CommandAsyncService.syncedEval()
method doesn't update correctly available secondary nodesFixed -
expire-after-write
andexpire-after-access
settings aren't applied to async Micronaut CacheFixed -
RBatch
exception object doesn't contain suppressed exceptionsFixed -
RRemoteService
fails to operate if codec defined as an anonymous inner classFixed - Watchdog fails to renew on reentry locks (thanks to @seakider)
Fixed -
RKeys.unlinkByPattern()
andRKeys.deleteByPattern()
methods don't handle keys with non-ASCII charactersFixed -
RenewalTask
throwsIndexOutOfBoundsException
v3.45.1
Fixed - Issue with asynchronous Micronaut @Cacheable methods (thanks to @seakider)
Fixed -
RExecutorService.submitAsync()
throws a script error (thanks to @seakider)Fixed -
isSlaveNotUsed()
method isn't called if a new slave node added to Redis Cluster (thanks to @seakider)Fixed - error thrown by RLiveObject running with AWS ElastiCache Serverless Valkey
Fixed -
RLocalCachedMap
SYNC strategy doesn't work withfastPutIfExists()
,fastPutIfAbsent()
methods (thanks to @seakider)Fixed -
RDelayedQueue
object cannot get anything when server run a long time (thanks to @seakider)Fixed - LockEntry throws NPE
Fixed - Hibernate
region_prefix
configuration doesn't apply to keyredisson-hibernate-timestamp
(thanks to @seakider)Fixed -
MasterConnectionPool
might throw an NPEFixed - Inconsistent MaxInactiveInterval Setting in Sessions in multi-node (thanks to @seakider)
Fixed - Out of Memory error
Fixed - a new attempt should be made on
ERR WAIT
error during failover (thanks to @seakider)v3.45.0
Feature - added
max-size
setting for Quarkus CacheFeature -
RedissonSpringCacheV2Manager
andRedissonSpringLocalCachedCacheV2Manager
support maxSize settingFeature -
RedissonRegionV2Factory
andRedissonLocalCachedV2RegionFactory
in Hibernate support eviction.max_entries settingFeature -
RedissonCacheV2
andRedissonLocalCachedCacheV2
in MyBatis supportmaxSize
settingsFeature -
maxSize
setting support byredisson.caches-v2.*
andredisson.local-caches-v2.*
cache configurations in MicronautFeature -
RMapCacheV2.setMaxSize()
method addedFeature -
RClusteredLocalCachedMapCacheNative
object added with data partitioning, local cache and native evictionFeature -
RedissonClusteredSpringLocalCachedCacheNativeManager
object added with data partitioning, local cache and native evictionFeature - added Micronaut
redisson.clustered-local-caches-native.*
cache with data partitioning, local cache and native evictionFeature - added Hibernate
RedissonClusteredLocalCachedNativeRegionFactory
cache with data partitioning, local cache and native evictionFeature - added Quarkus
CLUSTERED_LOCALCACHE_NATIVE
cache with data partitioning, local cache and native evictionFeature - added MyBatis
RedissonClusteredLocalCachedCacheNative
cache with data partitioning, local cache and native evictionFeature - added JCache implementation with local cache and advanced eviction
Feature - added JCache implementation with local cache and native eviction
Feature - added JCache implementation with data partitioning, local cache and native eviction
Feature - ability to set eviction mode via Spring
CacheConfig
object (thanks to @JKord)Feature - RBitSet.get(long...) method added (thanks to @seakider)
Feature - RBlockingQueue.pollLastFromAnyWithName() method added (thanks to @seakider)
Feature - getReferenceCount(), getAccessFrequency(), getInternalEncoding() methods added to RObject interface (thanks to @seakider)
Feature - RExecutorService.deregisterWorkers() method added
Feature -
valuesAsync()
andentrySetAsync
methods added toRMap
interface (thanks to @seakider)Improvement - validate PARAMS in
RSearch.search()
method (thanks to @seakider)Fixed - delete() method doesn't work in non-clustered mode for
RLocalCachedJsonStore
,RLocalCachedMapCacheV2
objectsFixed - clustered local cached JCache doesn't use
storeCacheMiss
settingFixed - JCache with native and advanced eviction don't work in cluster mode
Fixed - clustered local cached
JCache.put()
method may throw a CROSSLOT errorFixed -
put()
method of local cached JCache instance may not update local cacheFixed -
remove()
andremoveAll()
methods of local cached JCache instance don't update the local cache of other instancesFixed -
putAll()
andclear()
methods of JCacheV2 may not workFixed -
RedissonClusteredSpringCacheNativeManager
properties validationFixed -
RedissonSpringLocalCachedCacheV2Manager
properties validationFixed -
RedissonSpringLocalCachedCacheNativeManager
can't be created using a yaml configuration fileFixed -
RedissonSpringLocalCachedCacheNativeManager
throws anClassCastException
if cache wasn't defined in the configurationFixed -
RLocalCachedMapCache.getAll()
method may return an incorrect resultFixed -
RLocalCachedMapCacheNative.getAll()
method may return an incorrect resultFixed - missed implementation of
expireEntriesIfNotSet()
,expireEntriesIfLess()
andexpireEntriesIfGreater()
methods of RClusteredMapCacheNativeFixed - missed implementation of
expireEntriesIfLess()
andexpireEntriesIfGreater()
methods of RLocalCachedMapCacheNativeFixed -
RJsonStore.isExists()
method doesn't workFixed - JCacheV2 entry name generation fixed
Fixed -
RMapCacheV2.isExists()
method optimizationFixed -
RedissonSpringLocalCachedCacheV2Manager
throws an ClassCastException if cache wasn't defined in the configurationFixed -
RedissonSpringLocalCachedCacheV2Manager
can't be created using a yaml configuration fileFixed -
RLocalCachedMapCacheV2
,RLocalCachedJsonStore
,RSetV2
,RSetCacheV2
,JCacheV2
,RMapCacheV2
don't work ifuseScriptCache = true
Fixed - LUA error when
RedissonMapCache.putAll(Map)
is invoked with listeners (thanks to @max.huang)Fixed -
ProtobufCodec
compatibility with the latest protobuf version (thanks to @zzhlhc)Fixed -
RFairLock
attempt to compare nil with number (thanks to @seakider)Fixed - incorrect parsing of
PubSubType.UNSUBSCRIBE
command with non-English localeFixed -
RRemoteExecutorService
expiration
sorted set is growing indefinitely (thanks to @seakider)Fixed - Quarkus shutdown process fails if version 3.18 or higher
Fixed -
notifyUpdate()
andnotifyInvalidate()
methods ofLocalCacheListener
might throw NPEFixed -
RBatchRx
may work incorrectly ifuseScriptCache = true
v3.44.0
Feature - native eviction implemented for JCache API
Feature - advanced eviction implemented for JCache API
Feature -
RKeyAsync.getKeysAsync()
method added (thanks to @seakider)Feature - added
commandsMap
setting toCommandsLoadBalancer
objectFeature - added
regex
setting toRandomLoadBalancer
andRoundRobinLoadBalancer
objects to filter nodesFeature - Unix Domain Socket (UDS) support for a single mode through "redis+uds://" or "valkey+uds://" scheme
Feature -
lockWatchdogBatchSize
setting addedFixed -
RBuckets.get()
method doesn't use nameMapper in single modeFixed -
valkeys
scheme can't be used in Sentinel modeFixed - closed channel detection during connection ping process
Fixed - RSearch throws an error if nocontent param defined (thanks to @seakider)
Fixed -
RemovedListener
is invoked incorrectly byJCache.getAll()
methodFixed - synthetic class shouldn't be allowed to be used as a comparator for
RPriorityQueue
objectsFixed - master node address isn't resolved through NatMapper object in Sentinel mode (tnanks @aramperes)
Fixed - STOPWORDS 0 can't be defined during RSearch index creation
Fixed -
RScript.evalSha()
method doesn't work in cluster modeFixed - task id duplication check added to
RScheduledExecutorService
methodsFixed - failover handling in Sentinel mode
Fixed - Micronaut
Session.put()
method doesn't remove an entry if value = nullFixed -
RReadWriteLock.unlock()
method doesn't respect the lock ownerFixed - lock watchdog doesn't renew RLock if an expection has been thrown
v3.43.0
Feature -
RObservable
interface for listeners added for RLock objects (thanks to @seakider)Fixed -
RExecutorService
workers stop working (regression since 3.42.0) (thanks to @seakider)Fixed -
RLocalCacheMap.remove()
method hangs if called inside a transactionFixed - poll methods of
RTimeSeries
andRScoredSortedSet
objects return null instead of empty listsFixed -
RSet.containsEach()
method returns null instead of empty listFixed -
RLocalCachedMap.fastRemove()
method may throw NPE ifstoreMode = LOCALCACHE
v3.42.0
Feature - listeners support in Spring's CacheConfig object (thanks to @seakider)
Feature - CLIENT LIST command support for Spring Data (thanks to @seakider)
Feature - cluster nodes state added in
node ... hasn't been discovered yet
errorFeature -
onConnectFailed()
andonPingFailed()
methods with an error argument added toFailedNodeDetector
objectFeature - support of "valkey" and "valkeys" schemes in urls
Fixed -
RScheduledExecutorService
tasks might not be canceled (thanks to @seakider)Fixed -
MASTERDOWN
error handlingFixed -
RBloomFilter.contains()
should return false if the filter doesn't exist (thanks to @seakider)Fixed -
RRemoteService
calls do not throw RemoteServiceTimeoutException, leaving threads stuck (thanks to @seakider)Fixed -
RMap.addAndGet()
method doesn't work with MapWriterFixed -
RScheduledExecutorService
tasks are not running on the next executor if the app was killed (thanks to @seakider)Fixed -
RListMultimapReactive.get()
andRSetMultimapReactive.get()
methods return object with methods which throw exceptionsFixed -
RPriorityBlockingQueue.take()
method consumes an element even after the calling thread has been interruptedFixed -
RExecutorService
result futures might be never completedFixed -
RRemoteService
shouldn't allocate a new worker if requestQueue is emptyFixed -
RListMultimapReactive.get()
method doesn't work (thanks to @kramer)Fixed -
RListMultimapRx.get()
method doesn't workFixed -
destroy()
method doesn't work if called immediately after creation ofRDelayedQueue
objectv3.41.0
Feature -
RPermitExpirableSemaphore.getLeaseTime()
method added (thanks to @seakider)Feature -
sslVerificationMode
setting addedFixed -
RPermitExpirableSemaphore.release(java.util.List)
shouldn't release permits if one of them doesn't exist (thanks to @seakider)Fixed -
RTopic
listeners leak if they are defined as a lambdaFixed -
RPriorityBlockingQueue.draintTo()
method shouldn't resend command on response timeoutFixed -
RandomXoshiro256PlusPlus
might block Redisson initializationv3.40.2
Improvement - optimization LRUCacheMap speed by up to 200x
Fixed - Quarkus config parsing with sentinel nodes (thanks to @blacksails)
Fixed - starvation of pub/sub connections may cause a memory leak
v3.40.1
Improvement - Netty pending tasks amount report in timeout exceptions
Fixed - Redis or Valkey hostname parsing
Fixed -
NoClassDefFoundError
is thrown during run with Spring Boot 3.4.0 in GraalVM native modeFixed -
RTopic
andRShardedTopic
fail to resubscribe after node's DNS record change (regression since 3.27.0)v3.40.0
Feature - metrics added to
RClusteredTopic
,RReliableTopic
,RClusteredReliableTopic
,RShardedTopic
,RJsonStore
andRLocalCachedJsonStore
objectsFeature - Spring Data Redis 3.4.x module added
Feature - Spring Boot upgraded to 3.4.0
Feature -
setIfLess()
andsetIfGreater()
methods added toRAtomicDouble
andRAtomicLong
objects (thanks to @seakider)Feature -
RMultimap.fastReplaceValues()
method added (thanks to @davidreis97)Fixed - IPV6 uris with braces are parsed incorrectly
Fixed - minCleanUpDelay setting isn't applied during the first run of the EvictionTask
Fixed - master node shouldn't be changed on new ip addition for AWS Serverless endpoint
Fixed - Quarkus native build requires Snappy library
Fixed - Quarkus 3.14+ compatibility
Fixed -
RBitSet.length()
method returns unexpected value and caused RedisException in some case (thanks to @seakider)Fixed -
TypedJsonJacksonCodec
doesn't catch Exception (thanks to @lyrric)v3.39.0
Feature - partitioning implementation for
RTopic
objectFeature - partitioning implementation for
RShardedTopic
objectFeature - partitioning implementation for
RReliableTopic
objectFeature - ZStandard compression codec added (ZStdCodec)
Feature - ability to register listeners for
RListMultimap
andRSetMultimap
objectsFeature - ability to register listeners for
RTimeSeries
objectFixed - possible race-condition in
RMapCache.computeIfAbsent()
methodFixed - possible race-condition in
computeIfAbsent()
,computeIfPresent()
methods of RMap objectFixed -
RMapCache.computeIfAbsentAsync()
method isn't implementedFixed - use CursorId in ScanIteration to avoid long overflow in Spring Data 3.3 implementation (thanks to @vlastikcz)
Fixed - unable to cancel a task created by
RExecutorService.scheduleAtFixedRate()
method (thanks to @zcxsythenew)Fixed - potential LocalCache memory leak if useObjectAsCacheKey = true (thanks to @lehuuthanh5)
Fixed - EntryListener is not working on Turkish language Windows 10
Fixed - Redisson shutdown exception is thrown during background process of expired Tomcat sessions
Fixed - some methods of Reactive and RxJava API don't work in GraalVM native image
Fixed -
RTransactionRx
andRTransactionReactive
don't work in GraalVM native imageFixed -
JsonJacksonCodec
doesn't work in GraalVM native imageFixed - NPE is thrown if
RExecutorService
task submitted in GraalVM native imageFixed -
RObject.rename()
method does not replace an existing structure in cluster modev3.38.1
Fixed - Kryo codec upgraded to 5.6.2 for JDK 8 compatibility (thanks to @Wujiaxuan007)
Fixed - pollAsync() and removeAsync() methods of RPriorityQueue and RPriorityDeque objects aren't guarded properly with lock
Fixed - Spring Cache
Cacheable(sync)
annotation loads value multiple times for reactive types or completableFuturev3.38.0
Feature - Local cache for Live Object Service support
Feature - RClientSideCaching object added. Client side caching through RESP3 protocol
Feature - Tomcat 11 support
Feature -
RBatch.getSearch()
method added (thanks to @pfyod)Feature -
RedissonClient.getMultiLock()
method added for locking on objects (thanks to @lyrric)Feature -
RPatternTopic.removeListener()
accepts multiple idsFeature -
LocalCachedMapOptions.useTopicPattern()
setting addedFeature - InetAddress and SocketAddress serialization added to Kryo5Codec
Breaking change - RLongAdder and RDoubleAdder topic channel name has been renamed
Improvement - timeToLive parameter renamed to keepAliveTime for RRateLimiter.
trySetRate()
andsetRate()
methods (thanks to @lyrric)Improvement - Add check, The parameter timeToLive should be greater than or equal to rateInterval (thanks to @lyrric)
Fixed -
lazyInitialization=true
doesn't work in cluster mode (regression since 3.27.0)Fixed - Spring Cache @Cacheable(sync) doesn't work with reactive types or completableFuture
Fixed - Pub/Sub connections randomly disconnecting (regression since 3.26.0) (thanks to @Wujiaxuan007)
Fixed -
RLiveObjectService.persist()
andmerge()
methods, when called with multiple arguments, return detached objectsFixed -
RJsonBucketReactive
andRJsonBucketRx
use Reactive Types as argumentsFixed -
ClassNotFoundException
is thrown when a LiveObject expiresFixed - Micronaut native image build
Fixed - Quarkus native image build
Fixed -
RSearch.info()
method throws an exception on infinity values (thanks to @iamtakingiteasy)v3.37.0
Feature -
findCommon()
andfindCommonLength()
methods added toRBucket
objectFeature -
RMapCache.computeIfAbsent()
method with TTL parameter added (thanks to @lyrric)Feature - Apache Tomcat
RedissonSessionManager.setConfig()
method added (thanks to @jglapa)Feature -
LocalCachedMapOptions.useObjectAsCacheKey()
setting added (thanks to @lehuuthanh5)Feature -
trySetRate()
andsetRate()
methods with TTL parameter added toRRateLimiter
objectFeature -
RKeys.getKeys()
method with type parameter addedImprovement -
RRemoteService
method calls optimizationFixed - Spring Data Redis method
RedisSetCommands.isMember()
doesn't workFixed - Spring Data Redis
xcaim()
andxClaimJustId()
methods don't use getMinIdleTime() parameter (thanks to @jinia91)Fixed -
retainAll()
andcontainsAll()
methods ofRSet
object throw "too many results to unpack" errorFixed -
ServiceManager.execute()
method may hang in case of exceptionFixed -
RedissonNode.shutdown()
method doesn't stop executorsFixed - listeners reattach process should be stopped on Redisson shutdown
Fixed -
BiHashMap
usage removedFixed - 100% CPU usage by CommandsQueue in rare cases
Fixed -
ProtobufCodec
doesn't work withCompositeCodec
v3.36.0
Feature -
Kryo5Codec
useReferences
setting addedFeature -
RListMultimapCacheNative
andRSetMultimapCacheNative
objects added. Require Redis 7.4+Feature -
AggregationOptions.sortBy()
method withwithCount
parameter added (thanks to @pfyod)Feature -
allowedClasses
setting added toFuryCodec
Feature -
addIfAbsent(Map)
method added toRSetCache
object (thanks to @lyrric)Improvement - 'hmget' should be instead of 'hget' in
RMapCache.getAllWithTTLOnly()
methodFixed - RedisExecutor throws "Failed to submit a listener notification task" error during shutdown
Fixed - Keep the jmockit version in the plugin consistent with that in the dependencies (thanks to @lyrric)
Fixed - hostname after comma in Redis Cluster topology isn't parsed
Fixed -
drainToAsync()
method returns an incorrect value (thanks to @seakider)Fixed - numeric cast in
CommandDecoder
Fixed -
RLiveObject
value shouldn't be deleted during index updateFixed -
RSetCache.addAllIfAbsent()
method doesn't workFixed - missed
getSetMultimapCache()
andgetListMultimapCache()
methods inRBatchReactive
objectFixed - missed
getMapCacheNative()
method inRBatch
objectFixed -
MapValueDecoder
throws NPEFixed -
EnumMap
type handling byKryo5Codec
Fixed -
Kryo5Codec
registrationRequired
setting replaced withallowedClasses
Fixed - JCache eviction task isn't removed on
close()
method invocationFixed - missed
destroy()
method forRListMultimapCache
andRSetMultimapCache
objectsv3.35.0
Feature -
INDEXEMPTY
option added to tag and text fields inRSearch.createIndex()
methodFeature -
INDEXMISSING
option added to all fields inRSearch.createIndex()
methodFeature -
StreamMessageId.LAST
option addedFeature -
copy()
andcopyAndReplace()
methods added toRObject
interfaceFeature - Apache Fury codec support
Feature -
RSetCache
object supportsTrackingListener
,SetAddListener
andSetRemoveListener
listenersFeature -
RClusteredMapCacheNative
object implemented. Requires Redis 7.4+Feature -
RLocalCachedMapCacheNative
object implemented. Requires Redis 7.4+Feature -
localcache_native
andclustered_native
implementations added to Quarkus module. Requires Redis 7.4+Feature -
RedissonClusteredCacheNative
andRedissonLocalCachedCacheNative
implementations added to MyBatis module. Requires Redis 7.4+Feature -
RedissonClusteredSpringCacheNativeManager
andRedissonSpringLocalCachedCacheNativeManager
implementations added to Spring Cache module. Requires Redis 7.4+Feature -
RedissonClusteredNativeRegionFactory
andRedissonLocalCachedNativeRegionFactory
added to Hibernate module. Requires Redis 7.4+Feature -
local-caches-native
andclustered-caches-native
implementations added to Micronaut module. Requires Redis 7.4+Improvement -
ProtobufCodec
memory allocation optimizationImprovement - Apache Fury codec optimization (thanks to @chaokunyang)
Improvement - quarkus should make an attempt to read config file using Thread's ContextClassLoader
Improvement - quarkus should make an attempt to read config file using Thread's ContextClassLoader (thanks to @seakider)
Improvement - don't take lock for
RMap.computeIfAbsent()
if only get is needed (thanks to @shreyas-sprinklr)Fixed - writer, writeMode, writerAsync, writeBehindDelay, writeBehindBatchSize, loader, loaderAsync settings aren't applied to caches-native in Micronaut module
Fixed - missed
caches-native
implementation for Micronaut 3.x and Micronaut 2.xFixed - a new retry attempt to the same node isn't made for INFO_REPLICATION, SENTINEL_GET_MASTER_ADDR_BY_NAME, SENTINEL_SENTINELS, SENTINEL_SLAVES and CLUSTER_NODES commands
Fixed -
RType.JSON
andRType.STREAM
can't be resolved byRKey.getType()
methodFixed -
RKeys.removeListener()
method doesn't removeNewObjectListener
andSetObjectListener
Fixed -
copy()
method doesn't works with db (thanks to @seakider)Fixed -
maven.compiler.release
setting isn't definedFixed -
RSearch.info()
method throwsNumberFormatException
(thanks to @iamtakingiteasy)Fixed - timeout parameters defined per object aren't applied to
RJsonBuckets
andRJsonBucket
objectsFixed - RedisException is thrown by
.removeAll()
and.indexOf()
methods ofRedissonSubList
object (thanks to @seakider)Fixed - wrong event keyspace name for
MapCacheNative
object (thanks to @larryTheCoder)Fixed - missed
rename()
andrenamenx()
methods implementation forRIdGenerator
,RMapCache
andRTimeSeries
objectsFixed -
Kryo5Codec
doesn't handleUnmodifiableCollection
,SynchronizedCollection
andCheckedCollection
Fixed -
RRateLimiter
incorrect rate count in the event of an attempt to exceed the limitFixed -
credentials-resolver
,failed-slave-node-detector
,command-mapper
,name-mapper
,nat-mapper
settings aren't recognized by Helidon and QuarkusFixed -
RMultimapCacheReactive.expireKey()
method returns Single instead of Reactor MonoFixed -
@RObjectField
annotation with codec option has no effectFixed - an exception is thrown if the
@RObjectField
annotation is defined on a fieldFixed -
RDestroyable.destroy()
method doesn't remove listenersFixed - FailedSlaveNodeDetector's parameters by can't be defined in YAML config
v3.34.1
Fixed - RObject.rename() method doesn't work in cluster
v3.34.0
Feature - RJsonBuckets object added (thanks to @seakider)
Feature -
remainTimeToLive(Set keys)
andclearExpire(Set keys)
methods added toRMapCacheNative
objectFeature -
eval()
andevalSha()
methods added toRScript
object for execution on all nodes in Redis ClusterImprovement - performance optimization for Apache Tomcat Session management
Improvement - default value of quietPeriod set to 0 in
RedissonClient.shutdown()
methodImprovement - upgrade protobuf from 3.16.3 to 4.27.2 (thanks to @zzhlhc)
Fixed - Apache Tomcat Session Manager throws CROSSSLOT Keys in request don't hash to the same slot (regression since 3.32.0)
Fixed - empty partitions shouldn't be skipped in cluster topology scan
Fixed -
ClusterConnectionManager.checkSlotsMigration()
method throws NPEFixed - RSearch IndexInfoDecoder may throw NPE
Fixed - local cached Map implementations don't emit cache clear event on
clear()
ordelete()
methods callFixed -
RObject.rename()
method doesn't work in clusterFixed - a new attempt to send a command should be made right after channel reconnection
Fixed - 'race condition' while calling RLock.tryLock() method (thanks to @pad-master82)
Fixed - Can't connect to servers error doesn't show exception reported during connection
Fixed -
SeekableByteChannel.truncate()
method (thanks to @seakider)Fixed -
RMap.computeAsync()
method doesn't handle empty keys properly (thanks to @phrone)v3.33.0
Feature - RJsonStore object added
Feature - RLocalCachedJsonStore object added
Feature -
RSearch.getIndexes()
method addedFeature -
RedissonRegionNativeFactory
added for Hibernate module. Requires Redis 7.4+Feature -
RedissonSpringCacheNativeManager
implemented. Requires Redis 7.4+Feature -
RedissonCacheNative
implementation added for Mybatis cache. Requires Redis 7.4+Feature -
caches-native
cache type added to Micronaut module. Requires Redis 7.4+Improvement - Spring Cache
RedissonCache.put()
method optimizationBreaking change - JsonCodec interface refactoring
Fixed - re-added master node isn't updated in Cluster topology
Fixed - expiration time isn't set for Apacht Tomcat Manager
redisson:tomcat_notified_nodes
keys (thanks to @ehardy)Fixed - RSearch
AggregationOptions.loadAll()
setting isn't appliedFixed - containsAll() method of RList, RQueue, RMultimap objects returns incorrect result (thanks to @seakider)
Fixed - too many requests with small threads amount may cause OOM
Fixed - connection leak during high load with few connections
Fixed - RingBuffer#setCapacity, trim list incorrect (thanks to @seakider)
Fixed - password shouldn't be printed in logs
Fixed - encoded user/password in URL aren't accepted
v3.32.0
Feature - Quarkus Cache implementation added
Feature -
RMapCacheNative
implementation which uses Redis 7.4+ commandsFeature - unlinkByPattern() method added to RKeys interface (thanks to @seakider)
Fixed - Apache Tomcat request.changeSessionId() method does not change the session id in Redis (thanks to @bclay2116)
Fixed - RSearch parse params error (thanks to @seakider)
Fixed - RSearch.info() throws
NumberFormatException
(thanks to @seakider)Fixed - cluster failover handling
Fixed - last master node shouldn't be removed in cluster topology
Fixed - duplicated master/slave added log output in sentinel mode
Fixed - connection leak if master change operation failed during failover
Fixed -
RxJava3
request can't be canceledFixed -
RFairLock
doesn't calculate remaining ttl properly before next acquisition attemptFixed -
scanInterval
setting checkFixed -
ElementsSubscribeService.resubscribe()
method throwsRedissonShutdownException
Fixed -
RMap.getAll()
method throws an exception if result ofRMap.keySet()
method passed as an argumentFixed - Redis node random selection doesn't work properly
Fixed - concurrency problem during RLock expiration renewal (thanks to @seakider)
Fixed -
RListMultimap
throws too many results to unpack errorFixed - entry shutdown during cluster slots migration check
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 with `FunctioConfiguration
📅 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 was generated by Mend Renovate. View the repository job log.