Changelog History
Page 5
-
v3.12.0 Changes
December 26, 2019๐ Feature -
RExecutorService
task id injection
๐ Feature -submit()
methods with ttl parameter added toRExecutorService
๐ Feature -schedule()
methods with timeToLive parameter added toRScheduledExecutorService
๐ Feature -MyBatis
cache implementation added
๐ Feature - added implementation ofdoSuspend
anddoResume
methods of Spring Transaction Manager
๐ Feature -WorkerOptions.taskTimeout
setting added
๐ Feature -RSemaphore.addPermits
method added
๐ Feature - ability to defineTaskFailureListener
,TaskFinishedListener
,TaskStartedListener
andTaskSuccessListener
task listeners with WorkerOptions object๐ Improvement - Default workers amount of
RExecutorService
set to 1๐ Fixed - CommandDecoder throws NPE
๐ Fixed - ReplicatedConnectionManager triggers reactivation of slaves with ip address instead of hostname (thanks to @f-sander)
๐ Fixed - Reactive/Rxjava2 transaction doesn't unlock lock on rollback or commit
๐ Fixed - Spring Transaction Manager doesn't handle RedissonTransactionException
๐ Fixed -RBuckets.get
throws NPE for non-existed buckets (thanks to @d10n)
๐ Fixed -RPermitExpirableSemaphore
does not expire
๐ Fixed -RedissonCacheStatisticsAutoConfiguration
should be conditional on CacheMeterBinderProvider presence (thanks to @ehontoria) -
v3.11.6 Changes
November 28, 2019๐ Feature -
RExecutorServiceAsync.cancelTaskAsync()
method added
๐ Feature -RExecutorService.hasTask()
method added
๐ Feature -RExecutorService.getTaskCount()
method added
๐ Feature -RMap
write-behind queue should be fault-tolerant
๐ Feature - addedpoll()
methods with limit toRQueue
,RDeque
,RDelayedQueue
objects
๐ Feature -checkSlotsCoverage
setting added to cluster config
๐ Feature -RExecutorService.getTaskIds()
method added
๐ Feature -awaitAsync()
methods added toRCountDownLatch
object
๐ Feature -RCountDownLatchRx
andRCountDownLatchReactive
objects added๐ Fixed - channel subscription proccess in interruptible methods can't be interrupted
๐ Fixed -RMap.get()
method invokesMapWriter.write()
method during value loading
๐ Fixed - interruptible blocking methods couldn't be canceled
๐ Fixed - ClusterNodesDecoder ignore unknown flag and avoid throwing exception (thanks to ZhangJQ)
๐ Fixed -AsyncSemaphore
counter field should be volatile
๐ Fixed - data encoding exception is not logged during remote call invocation
๐ Fixed - Spring Data ZRangeByScore method doesn't support Infinity Double value
๐ Fixed - spring metainfo files should be excluded in redisson-all artifact
๐ Fixed -RKeysRx.getKeys()
andRKeysReactive.getKeys()
methods throws Exception -
v3.11.5 Changes
October 26, 2019๐ Feature - Automatic-Module-Name entry added to manifest file
๐ Feature -subscribeOnElements
method added toRBlockingQueue
object
๐ Feature -subscribeOnFirstElements
andsubscribeOnLastElements
methods added toRBlockingDeque
object
๐ Feature -subscribeOnFirstElements
andsubscribeOnLastElements
methods added toRScoredSortedSet
object
๐ Feature - support of Spring Data Redis 2.2.x
๐ Feature - added batched persist method toRLiveObjectService
object
๐ Feature - Kryo5Codec implemented๐ Fixed - host details in Redis url cause extra bracket at the end
๐ Fixed - RBuckets.get() method doesn't work with custom codec
๐ Fixed - RLock.unlock() method hangs forever
๐ Fixed -RStream.trim
method throws exception
๐ Fixed - Spring Data pubsub listeners executes multiple times
๐ Fixed - Redis commands processing handler consumes 100% of CPU resources -
v3.11.4 Changes
September 24, 2019๐ Feature - support search by numeric fields in LiveObject search engine. Follow conditions are supported:
greater than on equal
,greater than
,lower than
,lower than or equal
๐ Fixed - threads blocked waiting on CountDownLatch
๐ Fixed -rename
andrenamenx
methods ofRMultimap
interface aren't working
๐ Fixed - memory leak caused byFastThreadLocal
object used inCodecDecoder
๐ Fixed - blocking queue methods don't re-throwInterruptedException
๐ Fixed -RExecutorService
tasks duplication after task retry event
๐ Fixed -Redisson.shutdown
method blocks calling thread
๐ Fixed - Spring Boot default connection timeout is 0 seconds
๐ Fixed - IPv6 handling in Sentinel manager (thanks to AndreevDm)
๐ Fixed -RMapCache.remainTimeToLive
method returns negative remain time
๐ Fixed -RBuckets.get
method doesn't work in Redis cluster mode
๐ Fixed - wrong error message if Sentinel server has misconfiguration -
v3.11.3 Changes
August 30, 2019๐ Feature - JBoss Marshalling codec implementation
๐ Feature - support for Spring's@Autowired
,@Value
and JSR-330@Inject
annotations in ExecutorService tasks
๐ Feature - SSL support for Sentinel mode
๐ Feature -sizeInMemory()
method added toRObjectReactive
andRObjectRx
interfaces
๐ Feature -getId()
method added toRedissonClient
,RedissonRxClient
,RedissonReactiveClient
interfaces๐ Improvement -
useCache
parameter added toFstCodec
๐ Improvement - URL object should be used forsslKeystore
andsslTruststore
settings๐ Fixed -
RedisTimeoutException
thrown if retryAttempts set to 0
๐ Fixed -RStream.readGroup
method doesn't work properly withTypedJsonJacksonCodec
๐ Fixed - semaphore object is not deleted afterRLocalCachedMap.clearLocalCache
method invocation
๐ Fixed - Redisson couldn't be shutdown if one of RBatch commands was canceled -
v3.11.2 Changes
August 03, 2019๐ Improvement -
RLiveObject
interface should extendRExpirable
๐ Improvement -RKeys.deleteByPattern
method performance improvements๐ Fixed -
RBatch.execute
method throwsNoSuchElementException
๐ Fixed -RedisTimeoutException
is thrown if retryInterval set to 0
๐ Fixed -Set.intersection
,union
anddiff
methods should return Integer
๐ Fixed -FSTCodec
state is not fully copied
๐ Fixed -CommandAsyncService.CODECS
map changed to Soft reference map
๐ Fixed -RKeys.deleteByPatternAsync
method doesn't work in batch mode
๐ Fixed - subscribe timeouts after failover
๐ Fixed - a new attempt is not made if node with defined slot wasn't discovered
๐ Fixed - some methods ofRScript
object doesn't use defined codec
๐ Fixed -RedissonConnection.set
method returns null if invoked with expiration parameter
๐ Fixed -removeAll
method doesn't work on collections returned by Multimap based objects -
v3.11.1 Changes
June 25, 2019๐ Feature -
getPendingInvocations
method added toRRemoteService
object
๐ Feature -natMap
setting support for Sentinel mode (thanks to fgiannetti)
๐ Feature -listPending
method added toRStream
,RStreamAsync
,RStreamRx
,RStreamReactive
interfaces
๐ Feature - implementation of Spring SessionReactiveSessionRepository
added
๐ Feature - allow usage of multiple env variables with default values in one config entry (thanks to tristanlins)๐ Improvement - Use maven packaging for redisson project as jar instead of bundle (thanks to jchobantonov)
๐ Improvement - add default entries in MANIFEST.MF file and extra Build-Time entry as well (thanks to jchobantonov)๐ Fixed - RMap.replace method doesn't update idle timeout (thanks to mcacker)
๐ Fixed - timeout drift in RedissonFairLock (thanks to jncorpron)
๐ Fixed - dead Sentinel appears in logs as node added and down
๐ Fixed - Publish/Subscribe connections are not resubscribed properly after failover process
๐ Fixed -RedissonLocalCachedMap.clearLocalCache
method is not executed asynchronously
๐ Fixed - TomcatRedissonSession.setAttribute
method doesn't check the value for null (thanks to jchobantonov)
๐ Fixed - Tomcat Manager UpdateValve should be installed only once (thanks to jchobantonov)
๐ Fixed - remove MessageListener from topic when Tomcat Session Manager stopInternal is invoked (thanks to jchobantonov)
๐ Fixed -RStream.getInfo
method throwsjava.lang.ClassCastException
๐ Fixed -RedissonMultiLock
could be acquired by multiple threads ifwaitTime
== -1 andleaseTime
!= -1
Fixed -PRINCIPAL_NAME_INDEX_NAME
key is not created in redis
๐ Fixed -SessionExpiredEvent
is not triggered in Spring Session implementation
๐ Fixed - host name containing underscore cause NPE
๐ Fixed - Illegal reflective access by org.redisson.misc.URIBuilder warning removed
๐ Fixed -RedissonSessionRepository
doesn't trigger created event ifkeyPrefix
setting is not null (thanks to hs20xqy)
๐ Fixed -RRemoteService.getFreeWorkers
method removes registered service
๐ Fixed - zero timeout isn't respected inRRateLimiter.tryAcquire
method
๐ Fixed -RedissonObjectBuilder.REFERENCES
map should be filled one time
๐ Fixed - RReadWriteLock.readLock doesn't take in account expiration date of the last acquired read lock. (thanks to Aimwhipy)
๐ Fixed - result object of RMapRx.iterator methods don't returnFlowable
object
๐ Fixed - Tomcat Session doesn't expire ifbroadcastSessionEvents = true
๐ Fixed - ClassNotFoundException thrown duringSerializationCodec.decode
method invocation (thanks to jchobantonov)
๐ Fixed - connections amount setting for mirrors is not applied in Proxy mode -
v3.11.0 Changes
May 29, 2019๐ Feature -
radiusStoreSortedTo
methods added toRGeo
,RGeoAsync
,RGeoRx
,RGeoReactive
interfaces
๐ Feature - Local cache forJCache
added. Read the documentation for more details
๐ Feature -Async
,Reactive
,RxJava2
interfaces added toJCache
. Read the documentation for more details
๐ Feature -RRingBuffer
object added. Read the documentation for more details๐ Improvement - reduced memory consumption by ClusterConnectionManager
๐ Improvement - UpdateValve needs to execute manager.store only once at the end of the request (thanks to jchobantonov)๐ Fixed -
HttpSessionListener.sessionDestoyed
method isn't invoked if session wasn't loaded by Tomcat instance
๐ Fixed - redisson-spring-dataReactiveSubscription.receive
method throws NPE
๐ Fixed - Redis response isn't fully consumed after decoding error
Fixed - Spring Session PRINCIPAL_NAME_INDEX_NAME session attribute has incorrect name
๐ Fixed - internalAsyncSemaphore
object doesn't notify sleeping threads with permits more than one
๐ Fixed -RedisTemplate.radius
andRedisConnection.geoRadius
methods throwsIllegalArgumentException
during response decoding
๐ Fixed -RedissonNodeConfig.mapReduceWorkers
setting couldn't be set (thanks to xiaoxuan.bai) -
v3.10.7 Changes
April 29, 2019๐ Feature - Add support for Reactive and RxJava2 interfaces to RemoteService object
๐ Feature - MILLISECONDS option added to RRateLimiter.RateIntervalUnit object
๐ Feature - range method added to RList, RListReactive and RListRx interfaces๐ Improvement -
JCache.getAll
execution optimization for non-existing keys
๐ Improvement - 10X Performance boost forJCache.putAll
method๐ Fixed - disconnected sentinels shouldn't be used in sentinel list
๐ Fixed - Apache TomcatRedissonSessionManager
doesn't use classloader aware codec for session Map object (thanks to jchobantonov)
๐ Fixed - LiveObject field with Map type couldn't be persisted
๐ Fixed -RRateLimiter
allows permits limit exceeding
๐ Fixed -CompositeCodec.getMapValueDecoder
method usesMapKeyDecoder
instead ofMapValueDecoder
๐ Fixed - memory leak during blocking methods invocation of Queue objects
๐ Fixed - Apache TomcatRedissonSessionManager.findSession
shouldn't create a new one session (thanks to jchobantonov)
๐ Fixed -JCache.removeAll
method doesn't notify Cache listeners
๐ Fixed -UpdateValve
sould be removed from pipeline in Apache TomcatRedissonSessionManager.stopInternal
method (thanks to jchobantonov)
๐ Fixed - Redis Sentinel prior 5.0.1 version doesn't require password. Regression since 3.10.5 version
๐ Fixed - Redisson tries to renewed Lock expiration even if lock doesn't exist. Regression since 3.10.5 version
๐ Fixed - FstCodec can't deserialize ConcurrentHashMap based object with package visibility -
v3.10.6 Changes
April 05, 2019๐ Feature -
broadcastSessionEvents
setting added to Tomcat Session Manager
๐ Feature -remainTimeToLive
method added toRLock
,RLockAsync
,RLockRx
andRLockReactive
interfaces
๐ Feature - NAT mapping support for cluster mode
๐ Feature -isLock
method added toRLockAsync
,RLockRx
,RLockReactive
interfaces
๐ Feature -writeBehindDelay
andwriteBehindBatchSize
settings added toMapOptions
object๐ Improvement - Eviction task logging added
๐ Improvement -MapWriter
interface retains only two methods for handling batch updates
๐ Improvement -MapOptions.writeBehindThreads
parameter removed๐ Fixed -
RBitSet.asBitSet
methods throws NPE if RBitSet object doesn't exist
๐ Fixed -JCache.getAll
method throwsRedisException: too many results to unpack
๐ Fixed -RLock.lock
method can be interrupted withThread.interrupt
method
๐ Fixed - Tomcat Session parameters aren't updated completely inreadMode=MEMORY
๐ Fixed -RLock.unlock
method returns true if lock doesn't exist
๐ Fixed - Tomcat Session Manager doesn't remove session attributes inupdateMode=AFTER_REQUEST
๐ Fixed - Pattern topic listeners fail to re-attach on cluster failover (thanks to shailender-bathula)
๐ Fixed -CommandPubSubDecoder.decodeResult
throwsIllegalStateException
in JBOSS environment
๐ Fixed - NullValue object shouldn't be stored ifRedissonSpringCacheManager.allowNullValues = false
๐ Fixed -removeListener
method ofRTopicReactive
andRTopicRx
interfaces throws NoSuchMethodException