You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Wolfram Huesken <wo...@m18.io> on 2017/11/26 12:46:47 UTC

Redis problem with values > 8kb

Hello together,

I'm just playing around with the Redis protocol a bit, but found that 
it's impossible to write values > 8-9kb

I get the following exceptions:
https://gist.github.com/wolframite/33b9913bc5bcc09406db4c4115cbf13e

My ignite setup looks fairly simple:

IgniteConfiguration config = new IgniteConfiguration();

CacheConfiguration redisCacheConfig = new 
CacheConfiguration("redis-ignite-internal-cache-0");
redisCacheConfig.setAtomicityMode(CacheAtomicityMode.ATOMIC);
redisCacheConfig.setCacheMode(CacheMode.REPLICATED);

config.setCacheConfiguration(redisCacheConfig);

Would be cool if someone could look into that... I can also open a JIRA 
bug ticket, if it's not a known problem.

Cheers
Wolfram

Re: Redis problem with values > 8kb

Posted by Alexey Popov <ta...@gmail.com>.
Thanks, Wolfram. 

Good to know you have not blocked by this issue.
Anyway, the issue is identified and will be fixed in the next release.

Thanks,
Alexey



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Redis problem with values > 8kb

Posted by Wolfram Huesken <wo...@m18.io>.
Hello Alexey,

thanks for looking into this. It's rather odd this only happens with the 
PHP Redis client, but for me it doesn't matter. I will either use a 
Memcached implementation in front of a client or a Spring based HTTP API 
on the server nodes to connect other languages.

If you need anything from me, let me know. I'm happy to help.

Cheers
Wolfram

Re: Redis problem with values > 8kb

Posted by Alexey Popov <ta...@gmail.com>.
Hi Wolfram,

I reproduced the issue at my env and created a ticket
https://issues.apache.org/jira/browse/IGNITE-7153.
Unfortunately, I did not find any workaround with Redis client you use.

Thank you,
Alexey




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Redis problem with values > 8kb

Posted by Alexey Popov <ta...@gmail.com>.
Hi Wolfram,

Ups, it seems I lost your answer in email flood.
I will check PHP sample at my side tomorrow and return back.

Thank you,
Alexey



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Redis problem with values > 8kb

Posted by Wolfram Huesken <wo...@m18.io>.
Hello Alexey,

sorry for the delayed answer, here's the PHP example which demonstrates 
the problem: 
https://gist.github.com/wolframite/ee23b08bdd26bc1284cacc5259b850f8

Cheers
Wolfram

On 28/11/2017 03:15, Alexey Popov wrote:
> Wolfram,
> 
> The buffer size is hardcoded now, but it could be made configurable if it
> the real issue.
> 
> Can you share a simple PHP sample?
> I think Java Unit tests may miss some important details you have with PHP. I
> wonder if I can test & find the missing part of the puzzle ).
> 
> Thanks,
> Alexey
> 
> 
> 
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
> 

Re: Redis problem with values > 8kb

Posted by Alexey Popov <ta...@gmail.com>.
Wolfram,

The buffer size is hardcoded now, but it could be made configurable if it
the real issue.

Can you share a simple PHP sample?
I think Java Unit tests may miss some important details you have with PHP. I
wonder if I can test & find the missing part of the puzzle ).

Thanks,
Alexey



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Redis problem with values > 8kb

Posted by Wolfram Huesken <wo...@m18.io>.
Hello Alexey,

I'm currently running OpenJDK 1.8 on Linux (4.9.65-1-MANJARO):
openjdk version "1.8.0_144"
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)

I tested it with a PHP application, because I wanted to connect a legacy 
service which is currently working with Redis/Memcached. Let me try to 
reproduce it with a Java Unit Test.

Oh, can the buffer size be adjusted? In Redis the maximum size of a 
string is 512 Megabytes. While I think that's a little bit too much, 
maybe the default for Ignite could be raised to a more realistic yet 
memory conserving value.

Thank you
Wolfram


On 27/11/2017 20:18, Alexey Popov wrote:
> Hi Wolfram,
> 
> I just run unit tests for Redis with 10k string. They passed without errors.
> Can you share a reproducible example?
> 
> Actually, the issue happens inside java.nio.HeapByteBuffer. What jdk/jre
> version do you use?
> 
> BTW, this buffer size is set to 8k and it should be re-used in your case.
> 
> Thank you,
> Alexey
> 
> 
> 
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
> 

Re: Redis problem with values > 8kb

Posted by Alexey Popov <ta...@gmail.com>.
Hi Wolfram,

I just run unit tests for Redis with 10k string. They passed without errors.
Can you share a reproducible example?

Actually, the issue happens inside java.nio.HeapByteBuffer. What jdk/jre
version do you use?

BTW, this buffer size is set to 8k and it should be re-used in your case.

Thank you,
Alexey



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/