Ok, found the problem.  See CONNECTORS-1145 for a patch.  Of course, if you
can the best thing to do is to go with the ZooKeeper implementation anyhow,
but if you want to keep using the file synchronization you'll need that
patch, which will work on both ManifoldCF 2.0 and ManifoldCF 1.8.

Thanks,
Karl


On Wed, Jan 14, 2015 at 7:44 PM, Karl Wright <[email protected]> wrote:

> Hi Michael,
>
> I was finally able to reproduce your issue this evening.  The possible
> change was that connection saves use non-ex write locks now, rather than
> exclusive write locks.  I've looked carefully at the file-based locking
> code for this though and found no obvious problems.  I'll keep looking.
>
> Karl
>
>
> On Wed, Jan 14, 2015 at 7:22 PM, Michael Wilken <[email protected]> wrote:
>
>> Hi,
>>
>> I'm running into a hanging issue when trying to use the new 2.0 release.
>> Using the multiprocess-file-example, I do the following:
>>
>> 1. start-database.sh
>> 2. initialize.sh
>> 3. start-webapps.sh
>> 4. start-agents.sh
>>
>> Then, go to the mcf-crawler-ui, create a new Null output connection, and
>> try to save it.  My browser then just spins (I've given it up to 30
>> minutes, and nothing happens).
>>
>> A stack trace shows the Jetty process hanging here:
>>
>> "qtp638408253-18" prio=5 tid=0x00007fdb3cc30000 nid=0x7403 in
>> Object.wait() [0x000000012366f000]
>>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>> at java.lang.Object.wait(Native Method)
>> - waiting on <0x000000011bdf15a0> (a java.lang.Integer)
>> at
>> org.apache.manifoldcf.core.system.ManifoldCF.sleep(ManifoldCF.java:1259)
>> - locked <0x000000011bdf15a0> (a java.lang.Integer)
>> at
>> org.apache.manifoldcf.core.lockmanager.LockObject.obtainGlobalNonExWriteLock(LockObject.java:245)
>> at
>> org.apache.manifoldcf.core.lockmanager.LockObject.enterNonExWriteLock(LockObject.java:190)
>> - locked <0x000000011b30c440> (a
>> org.apache.manifoldcf.core.lockmanager.FileLockObject)
>> at
>> org.apache.manifoldcf.core.lockmanager.LockGate.enterNonExWriteLock(LockGate.java:219)
>> at
>> org.apache.manifoldcf.core.lockmanager.BaseLockManager.enterNonExWrite(BaseLockManager.java:959)
>> at
>> org.apache.manifoldcf.core.lockmanager.BaseLockManager.enterNonExWriteLock(BaseLockManager.java:731)
>> at
>> org.apache.manifoldcf.core.lockmanager.LockManager.enterNonExWriteLock(LockManager.java:276)
>> at
>> org.apache.manifoldcf.agents.outputconnection.OutputConnectionManager.save(OutputConnectionManager.java:301)
>> at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:1047)
>> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>>
>> These steps work fine in the 1.7.2 release.  Also, the single process
>> example work as expected with these steps.
>>
>> Did I miss a step needed in the 2.0 release with the 'file' example?
>>
>> Thanks,
>> -mike
>>
>>
>>
>

Reply via email to