Hi,
We are trying to implement Orion 8 with high availability. We will have multiple VM's that run Orion with a shared file system where the workspace files are maintained. We have turned on FileLocker.locking.
In one of our automatic tests we log on with same user id from different sessions/different VM's. In this test each session tries to create multiple projects in parallel.
As a result we get this error:
2015 10 21 05:40:09#+00#ERROR#org.eclipse.orion.server.config##anonymous#http-bio-8041-exec-6#na#hcproxy#orion#web#hcproxy#Meta File Error, cannot read JSON file /mnt/perm_storage/persistent/orion_web/xe/xeee1cc67/P9/P900902/xeee1cc67$P900902-OrionContent.json from disk, reason: A JSONObject text must begin with '{' at character 0
When doing the same from a single VM, it works fine.
I assume that we have here a locking issue when updating metastore.json file from different processes.
I was planning to use a FileLocker lock in SimpleMetaStore.java, instead of the ReadWriteLock to have a lock on file level that protects from cross process access.
The question is if you have already noticed this issue and if there is a proposed solution.
Best Regards
Sergio Rozenszajn