Hello, I've been using the Jackrabbit RMI module to provide access to the Oak repository to external applications, in a sort of microservice architectured solution. It functionally fulfills my needs so far, but the performance doesn't seem to be very good: JCR operations over RMI take quite some time to execute apparently. For example, fetching 20 nodes by path and retrieving their properties can take ~ 0.5 s in my scenario. Both the RMI server and client reside in the same local network — or even local machine actually, given that they are Docker containers on the same host. I've recorded the network traffic with Wireshark and I didn't see any weird pattern, only lots of RMI "Call" and "ReturnData" entries. What I did see which caught my attention is that the "ReturnData" packets often contain the classpath with a list of all the JAR files loaded by the RMI server!?! I have no idea if that's a standard RMI behavior, but it makes RMI responses quite large (20+ KB).
So, I am wondering, is that the normal performance / behavior to expect with the Jackrabbit RMI module? Or would that lie on a misconfiguration or bad performance of my Oak instance altogether? For the record, I'm using Oak 1.10.2 with JDK 11 on Linux (MongoDB node store). Thanks! -- Damiano Albani
