Hi Karl,
Well, the good news is we've got rid of pretty much *all* of the lock file
warnings by ensuring the all ManifoldCF programs are running as the same user.
The bad news is that we're left with a lock error that shuts down the agents
process:
ERROR 2014-01-09 23:43:47,560 (Worker thread '17') - Couldn't write to lock
file; disk may be full. Shutting down process; locks may be left dangling.
You must cleanup before restarting.
java.io.FileNotFoundException:
C:\Solr\Application\crawler\Enterprise-Search\.\syncharea\32\542\lock-_Cache_OUTPUTCONNECTION_Oasys&58!
Output connection.file (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileWriter.<init>(Unknown Source)
at
org.apache.manifoldcf.core.lockmanager.LockObject.writeFile(LockObject.java:732)
at
org.apache.manifoldcf.core.lockmanager.LockObject.enterReadLockNoWait(LockObject.java:449)
at
org.apache.manifoldcf.core.lockmanager.LockObject.enterReadLock(LockObject.java:401)
at
org.apache.manifoldcf.core.lockmanager.LockManager.enterLocks(LockManager.java:924)
at
org.apache.manifoldcf.core.cachemanager.CacheManager.enterCache(CacheManager.java:278)
at
org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:98)
at
org.apache.manifoldcf.agents.outputconnection.OutputConnectionManager.loadMultiple(OutputConnectionManager.java:256)
at
org.apache.manifoldcf.agents.outputconnection.OutputConnectionManager.load(OutputConnectionManager.java:233)
at
org.apache.manifoldcf.agents.incrementalingest.IncrementalIngester.getOutputDescription(IncrementalIngester.java:306)
at
org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:306)
This error looks like some kind of resource management limit issue, so I'll
look into this (the disk isn't full). If you've got any further ideas, that'd
be useful...
Adrian
From: Adrian Conlon [mailto:[email protected]]
Sent: 08 January 2014 19:16
To: [email protected]
Subject: RE: Lock Warnings in ManifoldCF logs
Hi Karl,
Thanks for the reply: that does make some sense, I haven't bothered ensuring my
agents are running under the same account as the servlet container on Windows.
On Linux, I *did* sort this out just because it was the most straightforward
approach.
I'll sort out my Windows agents process (might take a day or two before I get
around to this) and reply back to this thread.
Thanks again for the info,
Adrian
From: Karl Wright [mailto:[email protected]]
Sent: 08 January 2014 17:51
To: [email protected]<mailto:[email protected]>
Subject: Re: Lock Warnings in ManifoldCF logs
Hi Adrian,
"WARN 2014-01-06 11:06:00,782 (http-bio-8080-exec-5) - Attempt to set file lock
'C:\Solr\Application\crawler\Enterprise-Search\.\syncharea\392\308\lock-_Cache_JOB_1387380847667.lock'
failed: The system cannot find the path specified
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.
createFileExclusively(Native Method)"
This does not have anything to do with your controller software. What it is
complaining about is that it cannot create a file. There are a number of
possible reasons for this.
(1) You may be out of system resources
(2) You may have run ManifoldCF scripts as an incorrect user, causing
directories to be created which other manifoldcf processes don't have write
access to
(3) Windows may have gotten itself into a funky state
My suggestion is to first of all make SURE your ManifoldCF processes are all
being executed by the same user. THEN perform the lock clean sequence:
- shut down all manifoldcf processes
- run the lockclean.bat script
- start your manifoldcf processes again
Thanks,
Karl
On Wed, Jan 8, 2014 at 11:51 AM, Adrian Conlon
<[email protected]<mailto:[email protected]>> wrote:
Hi All,
I'm getting large numbers of locking warnings in my logs on a Windows server
(normally I run under Ubuntu/Linux). Eventually the agent service stops
working.
Anyway, here's a couple of sample exceptions from the log:
WARN 2014-01-07 02:04:47,740 (http-bio-8080-exec-20) - Attempt to set file lock
'C:\Solr\Application\crawler\Enterprise-Search\.\syncharea\32\542\lock-_Cache_OUTPUTCONNECTION_Oasys&58!
Output connection.lock' failed: Access is denied
java.io.IOException: Access is denied
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at
org.apache.manifoldcf.core.lockmanager.LockObject.grabFileLock(LockObject.java:550)
at
org.apache.manifoldcf.core.lockmanager.LockObject.enterReadLockNoWait(LockObject.java:439)
at
org.apache.manifoldcf.core.lockmanager.LockObject.enterReadLock(LockObject.java:401)
at
org.apache.manifoldcf.core.lockmanager.LockManager.enterLocks(LockManager.java:924)
at
org.apache.manifoldcf.core.cachemanager.CacheManager.enterCache(CacheManager.java:278)
at
org.apache.manifoldcf.core.cachemanager.CacheManager.findObjectsAndExecute(CacheManager.java:98)
at
org.apache.manifoldcf.agents.outputconnection.OutputConnectionManager.loadMultiple(OutputConnectionManager.java:256)
at
org.apache.manifoldcf.agents.outputconnection.OutputConnectionManager.load(OutputConnectionManager.java:233)
at
org.apache.manifoldcf.crawler.system.ManifoldCF.apiReadOutputConnection(ManifoldCF.java:2122)
at
org.apache.manifoldcf.crawler.system.ManifoldCF.executeReadCommand(ManifoldCF.java:3191)
at
org.apache.manifoldcf.apiservlet.APIServlet.executeRead(APIServlet.java:231)
at
org.apache.manifoldcf.apiservlet.APIServlet.doGet(APIServlet.java:77)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
WARN 2014-01-06 11:06:00,782 (http-bio-8080-exec-5) - Attempt to set file lock
'C:\Solr\Application\crawler\Enterprise-Search\.\syncharea\392\308\lock-_Cache_JOB_1387380847667.lock'
failed: The system cannot find the path specified
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at
org.apache.manifoldcf.core.lockmanager.LockObject.grabFileLock(LockObject.java:550)
at
org.apache.manifoldcf.core.lockmanager.LockObject.leaveReadLock(LockObject.java:489)
at
org.apache.manifoldcf.core.lockmanager.LockManager.leaveReadLock(LockManager.java:752)
at
org.apache.manifoldcf.core.lockmanager.LockManager.leaveLocks(LockManager.java:1216)
at
org.apache.manifoldcf.core.cachemanager.CacheManager.commitTransaction(CacheManager.java:761)
at
org.apache.manifoldcf.core.database.Database.endTransaction(Database.java:395)
at
org.apache.manifoldcf.core.database.DBInterfacePostgreSQL.endTransaction(DBInterfacePostgreSQL.java:1161)
at
org.apache.manifoldcf.core.database.BaseTable.endTransaction(BaseTable.java:277)
at org.apache.manifoldcf.crawler.jobs.Jobs.getAll(Jobs.java:538)
at
org.apache.manifoldcf.crawler.jobs.JobManager.getAllJobs(JobManager.java:486)
at
org.apache.manifoldcf.crawler.system.ManifoldCF.apiReadJobs(ManifoldCF.java:1753)
at
org.apache.manifoldcf.crawler.system.ManifoldCF.executeReadCommand(ManifoldCF.java:3069)
at
org.apache.manifoldcf.apiservlet.APIServlet.executeRead(APIServlet.java:231)
at
org.apache.manifoldcf.apiservlet.APIServlet.doGet(APIServlet.java:77)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
Does anyone have any ideas on what might be causing this? I note that although
my AWS Ubuntu instance doesn't fail (or generate warnings), the syncharea does
seem to get awfully large. Is it the intention that the syncharea should be
self-cleansing?
Adrian
p.s.
I should note that my (home-grown) ManifoldCF controller software generates
large amounts of ManifoldCF jobs, and is always tinkering with them (starting,
stopping, modifying, etc.).
____________________________________________________________
Electronic mail messages entering and leaving Arup business
systems are scanned for acceptability of content and viruses