• repository on nfs share

  • Problems with installing OpenKM? No problemo, the solution is closer than you think.
Problems with installing OpenKM? No problemo, the solution is closer than you think.
Forum rules: Please, before asking something see the documentation wiki or use the search feature of the forum. And remember we don't have a crystal ball or mental readers, so if you post about an issue tell us which OpenKM are you using and also the browser and operating system version. For more info read How to Report Bugs Effectively.
 #5143  by seti
 
I tried to install OpenKM on a linux Ubuntu server 10.04 .
I would like to have the repository on an external NAS .

I configured the NFS share as following :

/nfs/server/repository

nfs mount is ok and I can write on the nfs folder .

Then , I change the repository.home to /nfs/server/repository in OpenKM.cfg
then I start OpenKM

login screen is ok on http://localhost:8080 but when I log with admin , I get the following error message :

Unable to create or lock file /nfs/server/repository/.lock: No locks available

On the nfs folder I can see only workspace being created so it seems not to be a right issue

Anything I'm doing wrong or missing in configuration files ?

Thanks

Code: Select all
17:05:11,501 ERROR [DirectAuthModule] Unable to create or lock file /nfs/server/repository/.lock: No locks available
javax.jcr.RepositoryException: Unable to create or lock file /nfs/server/repository/.lock: No locks available: No locks available
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:138)
	at org.apache.jackrabbit.core.util.RepositoryLock.acquire(RepositoryLock.java:121)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:241)
	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
	at es.git.openkm.module.direct.DirectRepositoryModule.getRepository(DirectRepositoryModule.java:106)
	at es.git.openkm.module.direct.DirectAuthModule.login(DirectAuthModule.java:82)
	at es.git.openkm.module.direct.DirectAuthModule.login(DirectAuthModule.java:300)
	at es.git.openkm.api.OKMAuth.login(OKMAuth.java:65)
	at org.apache.jsp.es_git_openkm_frontend_Main.index_jsp._jspService(index_jsp.java:59)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: No locks available
	at sun.nio.ch.FileChannelImpl.lock0(Native Method)
	at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:881)
	at java.nio.channels.FileChannel.tryLock(FileChannel.java:962)
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:136)
	... 33 more
java.io.IOException: No locks available
	at sun.nio.ch.FileChannelImpl.lock0(Native Method)
	at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:881)
	at java.nio.channels.FileChannel.tryLock(FileChannel.java:962)
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:136)
	at org.apache.jackrabbit.core.util.RepositoryLock.acquire(RepositoryLock.java:121)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:241)
	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
	at es.git.openkm.module.direct.DirectRepositoryModule.getRepository(DirectRepositoryModule.java:106)
	at es.git.openkm.module.direct.DirectAuthModule.login(DirectAuthModule.java:82)
	at es.git.openkm.module.direct.DirectAuthModule.login(DirectAuthModule.java:300)
	at es.git.openkm.api.OKMAuth.login(OKMAuth.java:65)
	at org.apache.jsp.es_git_openkm_frontend_Main.index_jsp._jspService(index_jsp.java:59)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Thread.java:619)
 #5147  by jllort
 
With user that's running OpenKM ( that starts jboss ) can you create a file named ".lock" in the same place ?
 #5158  by jllort
 
Clear all server.log

Take a look at starting jboss if there's some error message about .lock creation.
 #5159  by seti
 
thank for guiding me .

I cleared all logs in /server

I start OpenKM

then I check server.log and the first error message is this one (.lock) :
Code: Select all
2010-05-27 14:35:32,128 INFO  [org.apache.jackrabbit.core.RepositoryImpl] Starting repository...
2010-05-27 14:35:32,150 ERROR [org.apache.jackrabbit.core.RepositoryImpl] failed to start Repository: Unable to create or lock file /nfs/server/repository/.lock: No locks available
javax.jcr.RepositoryException: Unable to create or lock file /nfs/server/repository/.lock: No locks available: No locks available
the first word about repository is at the same place.
Any other error is related to .lock and missing repository

what is strange is directory workspaces is created at the NFS share so JBoss rights to write are ok !
 #5160  by seti
 
Start of an explaination ? :

The NFS (Versions 2 and 3) protocol does not support file locking .
NFS V4 does . I guess I'm using V4

I've seen many issues googling ".lock" and "NFS" .
I'll also check the synology NAS NFS configuration .
 #5161  by seti
 
I checked my exports in the NAS and tested several configuration of rw , root_squash ..

Same result . Only directory workspaces/ is created .
 #5162  by seti
 
After checking at the synology NAS wiki , i found this :

Supported versions:

NFS 2.0
NFS 3.0


correlated with what I found earlier :

The NFS (Versions 2 and 3) protocol does not support file locking .


I guess , I cannot use NFS with this NAS and OpenKM !!!
 #5176  by seti
 
So i tried with a SMB share !!

this time it is default that cannot be created , resulting in authentication error at login ..


I'm close to give up !
 #5222  by seti
 
To summarize if someone has the same configuration .

Configuration
Ubuntu 10.04 server
NAS synology DS509+

repository declared in OpenKM.cfg as /NFS/SHARE all rights corrects

OpenKM cannot generate the .lock file on the NAS due to NFS v3 . (as far as I could go or understand with my little knowledge)

So I went to SMB share instead of NFS ..

This time everything is working ok with SMB share mounted with the correct UID and GID

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.