Issues when using CMIS version API in a balanced cluster
We are experiencing some issues using CMIS version API in the following environment:
- We are using a Java CMIS framework from a Jboss Cluster
- We are using CMIS 1.1 Atom Binding (with the corresponding openCMIS libraries in the client part)
- We use Apache HTTPd 2.4 server as reverse proxy and balancer (mod_proxy_ajp + mod_balancer) with a balancing policy based on the number of requests (byrequests).
- The Apache is balancing with two Alfresco 6.2 nodes in cluster configuration.
Our problem occurs when we are using CMIS API and making a getObject request from the private working copy (PWC) that we have already created. Sometimes this request returns error of the following kind:
"org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException: Object not found: 3196074d-3c00-4ee0-84ac-71e73e652846;pwc".
We expected to get the created PWC after checking out a document. But, we can observe inspecting the CMIS requests that they are balanced between the two Alfresco nodes. We detect some eventual errors when obtaining the node after checking out the document. Also, we noticed that these errors only appear when the POST request (creating the PWC with the check out) and GET request (getting the created PWC) are done in different Alfresco nodes.
We checked that the same simple code is working properly when using a single node directly (with Apache or without it).