problem installing ControlTier-3.6 server on NAS location

21 views
Skip to first unread message

Ben Tu

unread,
Apr 28, 2011, 2:12:10 PM4/28/11
to contr...@googlegroups.com
Hi,
I ran into an issue when I installed controltier 3.6 server on NAS location. this is vmware box and has a mount point to NAS storage. it worked fine if I installed on local (CTIER_ROOT=/opt/ctier) path. is this know issue installing controltier server on NAS storage?

NAS storage mounted to /home1 location. I installed
CTIER_ROOT=/home1/ctier

here is error when I tried to create demo project after installed.

ctl-project -p demo -a create

Project structure created: /home1/ctier/ctl/projects/demo
Invoking external setup script: /home1/ctier/pkgs/ctl-3.6.0/bin/commander-ctl-project.xml
Beginning client setup ...
Running CTL project setup: /home1/ctier/pkgs/ctl-3.6.0/lib/ant/controllers/ctl/projectsetupCmd.xml ...
Trying to override old definition of task document-property
CTL project setup procedure completed.
Creating Workbench project 'demo'. This may take several minutes ...
com.controltier.ctl.cli.ctlproject.CtlProjectException: exception occurred in /home1/ctier/pkgs/ctl-3.6.0/bin/commander-ctl-project.xml: Error performing server request: Cannot create project demo, it is already being created or is being removed. Please wait a few minutes.
No matched nodes: NodeSet{}
No matched nodes: NodeSet{}
No matched nodes: NodeSet{}

stderrout.log:

---- (AbstractConfig.java, line 108)
28.04.2011 11:01:19 *ERROR* RepositoryStartupServlet: RepositoryStartupServlet initial
izing failed: org.apache.jackrabbit.j2ee.ServletExceptionWithCause: Error while creati
ng repository (RepositoryStartupServlet.java, line 245)
org.apache.jackrabbit.j2ee.ServletExceptionWithCause: Error while creating repository
        at org.apache.jackrabbit.j2ee.RepositoryStartupServlet.initRepository(Reposito
ryStartupServlet.java:409)
        at org.apache.jackrabbit.j2ee.RepositoryStartupServlet.startup(RepositoryStart
upServlet.java:238)
        at org.apache.jackrabbit.j2ee.RepositoryStartupServlet.init(RepositoryStartupS
ervlet.java:211)
        at javax.servlet.GenericServlet.init(GenericServlet.java:241)
        at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
        at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685
)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250
)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:
152)
        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCo
llection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:
152)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:224)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3
9)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
l.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.mortbay.start.Main.invokeMain(Main.java:194)
        at org.mortbay.start.Main.start(Main.java:534)
        at org.mortbay.start.Main.start(Main.java:441)
        at org.mortbay.start.Main.main(Main.java:119)
Caused by: javax.jcr.RepositoryException: Unable to create or lock file /home1/ctier/j
ackrabbit/webdav/.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:253)
        at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:621)
--More--(29%)

Anthony Shortland

unread,
Apr 28, 2011, 2:41:17 PM4/28/11
to contr...@googlegroups.com
The salient message is:

"Unable to create or lock file /home1/ctier/jackrabbit/webdav/.lock: No locks available: No locks available"

... indicating the Jackrabbit DAV is having a problem.


Here's a sample posting on the issue: http://forum.openkm.com/viewtopic.php?f=3&t=3784 ... no clear resolution, but it does seem to revolve around NFS protocol locking, of course.

Not sure what's causing the issue, but could be related to the Java I/O classes (particularly RandomAccessFile) ... what JDK are you using?

Anthony.

--
You received this message because you are subscribed to the Google Groups "ControlTier" group.
To post to this group, send email to contr...@googlegroups.com
To unsubscribe from this group, send email to controltier...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/controltier?hl=en
http://wiki.controltier.org


Greg Schueler

unread,
Apr 28, 2011, 2:51:48 PM4/28/11
to contr...@googlegroups.com
NFS/NAS that do not support file locking are a known problem for Jackrabbit, and for Ctier (some file locks are used)

Anthony Shortland

unread,
Apr 28, 2011, 3:09:04 PM4/28/11
to contr...@googlegroups.com
If you have to use NAS then you might consider switching ControlTier to use another WebDAV ... e.g. Apache mod_dav.

Ben Tu

unread,
Apr 28, 2011, 4:03:57 PM4/28/11
to contr...@googlegroups.com
Anthony,
how do I configure all upload packages go to custom directory? which parameter/file do I need to modify for this purpose?
thanks, Ben

On Thu, Apr 28, 2011 at 11:41 AM, Anthony Shortland <ant...@controltier.com> wrote:

Ben Tu

unread,
Apr 28, 2011, 4:18:32 PM4/28/11
to contr...@googlegroups.com
Anthony,
how do I configure controltier to use Apache mod_dav instead of WebDAV?
thanks, Ben

Anthony Shortland

unread,
Apr 28, 2011, 5:00:25 PM4/28/11
to contr...@googlegroups.com
Depends how you're registering packages in the first place ... if you're using the Builder repoImport command you can use the BuilderPackageRepoUri setting for example.

Anthony Shortland

unread,
Apr 28, 2011, 5:17:06 PM4/28/11
to contr...@googlegroups.com
Actually, I'm preparing to make a detailed post about that showing how to bring up an Apache instance and run Rundeck and ControlTier behind it using mod_proxy, replace Jackrabbit with mod_dav, and establish option and resource model providers in a single loosely-coupled setup.

Meanwhile, though ... if you want to experiment you'll need to edit:

[ctier@centos55 ~]$ fgrep -rl jackrabbit/repository/controltier pkgs/jetty-6.1.21/webapps/itnav ctl/etc
pkgs/jetty-6.1.21/webapps/itnav/WEB-INF/classes/runtime.properties
ctl/etc/project.properties
ctl/etc/preferences.properties
ctl/etc/framework.properties

... and adjust references to Jackrabbit URLs.

Make sure authentication works into you Apache instance and matches your web DAV username and password: default/default by default.

Anthony.
Reply all
Reply to author
Forward
0 new messages