Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 23 15:59
    mrniko milestoned #2275
  • Aug 23 13:53
    damoyang opened #2275
  • Aug 23 11:48

    mrniko on master

    refactoring (compare)

  • Aug 23 09:41
    lovlyhao opened #2274
  • Aug 23 08:38
    mrniko deleted #1045
  • Aug 23 07:44
    romever closed #2262
  • Aug 23 07:44
    romever commented #2262
  • Aug 23 04:45
    mrniko milestoned #1800
  • Aug 22 19:26
    mahesh-ogale commented #1800
  • Aug 22 13:38

    mrniko on master

    refactoring (compare)

  • Aug 22 12:14

    mrniko on master

    refactoring (compare)

  • Aug 22 09:44
    jackygurui commented #2231
  • Aug 22 09:23
    jackygurui commented #2269
  • Aug 22 09:19
    jackygurui closed #2270
  • Aug 22 09:19
    jackygurui commented #2270
  • Aug 22 09:18
    jackygurui closed #2271
  • Aug 22 09:18
    jackygurui commented #2271
  • Aug 22 07:21
    mrniko commented #2164
  • Aug 22 07:07
    mrniko closed #2273
  • Aug 22 07:07
    mrniko commented #2273
Johno Crawford
@johnou
@mrniko ran into issues with redisson/redisson#2117 in production as expected, if you can provide a little bit of feedback how the api might look i'm happy to try and implement it
Yash Jain
@jainyashraj_twitter
@mrniko What is the difference between put call on RLocalMap vs RMap. I can see that if the put call to RLocalMap also stores the key on redis (I was assuming it would only store locally in memory). Is it ok to use RLocalMap in place of RMap for all operations?
Nikita Koksharov
@mrniko

@johnou

here's one that you might find interesting :) https://github.com/netty/netty/pull/8825#issuecomment-492568418

thanks for the information

@jainyashraj_twitter
What is the difference between put call on RLocalMap vs RMap
RLocalMap also stores data in local cache to accelerate get operations execution time
Johno Crawford
@johnou
hey @mrniko
line 765 in CommandAsyncService
    Timeout timeout = connectionManager.newTimeout(retryTimerTask, connectionManager.getConfig().getRetryInterval(), TimeUnit.MILLISECONDS);
shouldn't this be getTimeout()?
i configured a redisson instance with timeout 500ms, no retry interval and no retry attempts
but simple operations sometimes fail immediately
with org.redisson.client.RedisTimeoutException: Unable to send command!
Nikita Koksharov
@mrniko
@johnou
what do you mean getTimeout?
try to follow these steps
Johno Crawford
@johnou
@mrniko i guess there's a race condition somewhere or it's using the wrong config field
i'm well aware of the different types of timeouts but I think this is an actual bug
i set retry interval to 0 because i don't want any retries
but it seems retry interval is used for command timeout
even if the time since the command has been issued is less than the configured timeout
in a nutshell when there are bursts of commands, commands will timeout even if timeout hasn't passed if retry interval is set to 0
Nikita Koksharov
@mrniko
@johnou
You're right. Could you create an issue on github related to this case?
Johno Crawford
@johnou
Johno Crawford
@johnou
@mrniko if i use fastPutAsync in a loop with no retries and no join is the execution order guaranteed?
Johno Crawford
@johnou
seems the answer is no
Yash
@ggeighty8
I have a question about the thread configuration. I see that in cache config there is a property "threads" which has a default value of 16. Also from the cluster there is another config parameter "slaveConnectionMinimumIdleSize" and "masterConnectionMinimumIdleSize". Now I have set the slave and master min connection pool size to 50 each. But i see the loaded the redis configuration i see that the value for "threads" parameter is still 16. I assumed that this will get overridden to 100. Just wondering if I am missing something or are they unrelated.
In my use case I need both "slaveConnectionMinimumIdleSize" and "masterConnectionMinimumIdleSize" to be 50 each.
Yash Jain
@jainyashraj_twitter
@mrniko We are facing a memory leak issue caused by FSTCodec used by the LZ4 Compression codec. We can see that FST maintains a thread local and an FSTObject Output keeps growing in size and is never garbage collected. Can you please suggest any other codec to use apart from FST to support binary serialization. I can see that redisson supports a number of different types of codecs. Do we have any information regarding the performance comparison of these codecs. Also what is the recommended codec to use in place of FST?
Nikita Koksharov
@mrniko
if i use fastPutAsync in a loop with no retries and no join is the execution order guaranteed?
No
@johnou ^
@jainyashraj_twitter last FSTCodec memory leak I fixed in 3.10.3 version. Did you try it?
You could use SerializationCodec instead, based on JDK serialization
Jagan
@jagan-autonomic
@mrniko Is there an example of redisson usage with redis cluster mode anywhere? I am current using redisson with singleServer and at some point would like to use redis in sharded mode (for ha and performance reasons)
Johno Crawford
@johnou
@mrniko yt?
i noticed in our app 2 million exceptions thrown..
looks like an issue with how redisson manages codecs
and I may have found the bug but wanted to confirm with you first :)
codecs.png
Johno Crawford
@johnou
so from what I can see, fstcodec uses some internal caching for class fields etc
so it makes sense the codec is reused, however
private static final Map<ClassLoader, Map<Codec, Codec>> CODECS = ReferenceCacheMap.weak(0, 0);
ttl is 0..?
ah nvm
public boolean isExpired() {
if (maxIdleTime == 0 && ttl == 0) {
return false;
}
Johno Crawford
@johnou
Jagan
@jagan-autonomic
@mrniko Is it possible detect a failover (a new master) with redisson client ?