]
William Burns commented on ISPN-6580:
-------------------------------------
For an initial implementation I am thinking the following operations would be executed on
the netty socket read thread
# ContainsKeyRequest
# GetRequest
# GetWithVersionRequest
# GetWithMetadataRequest
# PingRequest
# StatsRequest
And then I am also thinking if this server has no remote cache manager (detecable?) then
we could also do other single operations such as the following in the netty socket read
thread
# PutRequest
# PutIfAbsentRequest
# ReplaceRequest
# ReplaceIfUnmodifiedRequest
# RemoveRequest
# RemoveIfUnmodifiedRequest
Also thinking more I don't even know if we can do this with a cache that has a cache
loader either as that would be blocking and could delay async clients.. is this okay?
Hotrod performance regressions after ISPN-5342 ISPN-6545
--------------------------------------------------------
Key: ISPN-6580
URL:
https://issues.jboss.org/browse/ISPN-6580
Project: Infinispan
Issue Type: Bug
Components: Remote Protocols, Server
Reporter: Jakub Markos
Assignee: William Burns
Attachments: jfr_recordings.zip, pom.xml, Reproducer.java
There were 2 recent regressions in hotrod performance, one between commits dd5501c5e and
628819461 and the second one between 628819461 and db0890270. I didn't look for the
exact commits, so the name of the issue might not be 100% exact...
It is easily reproducable locally with a single server instance, reproducer attached.
The numbers on my machine:
||Build commit||Puts time||Gets time||
|dd5501c5e|21|74|
|628819461|26|102|
|db0890270|48|224|
The JFR recordings (attached, captured is only the part of the test with gets) for
db0890270 show a lot of time is spent in HotRodDecoder#resetNow(), and also the allocation
rate goes from 100MB/s for dd5501c5e to over 1GB/s for db0890270. There are no glaring
differences between dd5501c5e and 628819461.