manifoldcf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adrian Conlon <Adrian.Con...@arup.com>
Subject RE: Lock Warnings in ManifoldCF logs
Date Fri, 10 Jan 2014 09:16:36 GMT
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:Adrian.Conlon@arup.com]
Sent: 08 January 2014 19:16
To: user@manifoldcf.apache.org
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:daddywri@gmail.com]
Sent: 08 January 2014 17:51
To: user@manifoldcf.apache.org<mailto:user@manifoldcf.apache.org>
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 <Adrian.Conlon@arup.com<mailto:Adrian.Conlon@arup.com>>
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


Mime
View raw message