Merge branch 'master' of github.com:redisson/redisson

pull/3715/head
Nikita Koksharov 4 years ago
commit 42e9290ced

@ -3,6 +3,24 @@ Redisson Releases History
Consider __[Redisson PRO](https://redisson.pro)__ version for **ultra-fast performance** and **support by SLA**.
### 28-Jun-2021 - 3.16.0 released
Feature - GraalVM native-image support
Feature - Spring Data Redis 2.5.x support
Feature - [Helidon CDI](https://github.com/redisson/redisson/tree/master/redisson-helidon) integration
Feature - [Quarkus](https://github.com/redisson/redisson/tree/master/redisson-quarkus) integration
Feature - [Micronaut](https://github.com/redisson/redisson/tree/master/redisson-micronaut) integration
Feature - data partitioning support for JCache
Fixed - Live Object `Conditions.in()` aren't considered if defined in `Conditions.and()` clause
Fixed - Redisson shutdown takes much time after `RBatch` execution
Fixed - `RBatch` object in REDIS_WRITE_ATOMIC or REDIS_READ_ATOMIC mode can be corrupted by PING command
Fixed - `RKeysReactive.getKeysByPattern()` method returns wrong result
Fixed - `RExpirable.expire(Instant)` method doesn't work for RBloomFilter, RBoundedBlockingQueue, RDelayedQueue, RLock, RIdGenerator, RMultimap, RMapCache, RPriorityQueue, RRateLimiter, RReliableTopic, RSetMultimap, RTimeSeries objects
Fixed - `RBlockingDequeReactive.takeElements()` method does not consume all elements
Fixed - `RScheduledExecutorService` stops to work if task timeout occurred
Fixed - `RedissonReactiveSubscription` removes listener after first 32 messages
Fixed - `RedisNodeNotFoundException` is thrown after cluster failover (thanks to @UzimakiNaruto)
### 07-Jun-2021 - 3.15.6 released
Fixed - `RedisSentinel.getMaster()` method throws NPE

@ -31,7 +31,9 @@ JDK compatibility: 1.8 - 16, Android
Lock, FairLock, MultiLock, RedLock, ReadWriteLock, Semaphore, PermitExpirableSemaphore, CountDownLatch
* [Distributed services](https://github.com/redisson/redisson/wiki/9.-distributed-services)
Remote service, Live Object service, Executor service, Scheduler service, MapReduce service
* [Spring Framework](https://github.com/redisson/redisson/wiki/14.-Integration-with-frameworks/#141-spring-framework)
* [Helidon](https://github.com/redisson/redisson/tree/master/redisson-helidon) integration
* [Micronaut](https://github.com/redisson/redisson/tree/master/redisson-micronaut) integration
* [Quarkus](https://github.com/redisson/redisson/tree/master/redisson-quarkus) integration
* [Spring Cache](https://github.com/redisson/redisson/wiki/14.-Integration-with-frameworks/#142-spring-cache) implementation
* [Spring Transaction API](https://github.com/redisson/redisson/wiki/14.-Integration-with-frameworks/#148-spring-transaction-manager) implementation
* [Spring Data Redis](https://github.com/redisson/redisson/tree/master/redisson-spring-data) integration
@ -102,14 +104,14 @@ Used by
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.15.6</version>
<version>3.16.0</version>
</dependency>
#### Gradle
compile 'org.redisson:redisson:3.15.6'
compile 'org.redisson:redisson:3.16.0'
#### SBT
libraryDependencies += "org.redisson" % "redisson" % "3.15.6"
libraryDependencies += "org.redisson" % "redisson" % "3.16.0"
#### Java
@ -167,8 +169,8 @@ Consider __[Redisson PRO](https://redisson.pro)__ version for **ultra-fast perfo
## Downloads
[Redisson 3.15.6](https://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=org.redisson&a=redisson&v=3.15.6&e=jar),
[Redisson node 3.15.6](https://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=org.redisson&a=redisson-all&v=3.15.6&e=jar)
[Redisson 3.16.0](https://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=org.redisson&a=redisson&v=3.16.0&e=jar),
[Redisson node 3.16.0](https://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=org.redisson&a=redisson-all&v=3.16.0&e=jar)
## FAQs

@ -699,6 +699,13 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager {
if (!removedSlots.isEmpty()) {
log.info("{} slots removed from {}", removedSlots.cardinality(), currentPartition.getMasterAddress());
}
if (!addedSlots.isEmpty() || !removedSlots.isEmpty()) {
// https://github.com/redisson/redisson/issues/3695, slotRanges not update when slots of node changed.
Set<ClusterSlotRange> slotRanges = currentPartition.getSlotRanges();
slotRanges.clear();
slotRanges.addAll(newPartition.getSlotRanges());
}
break;
}
}

Loading…
Cancel
Save