Nicholas DiPiazza created TIKA-3186:
---------------------------------------

             Summary: Tika status endpoint has overlapping lock exception when 
multiple servers are running (windows only)
                 Key: TIKA-3186
                 URL: https://issues.apache.org/jira/browse/TIKA-3186
             Project: Tika
          Issue Type: Improvement
          Components: server
    Affects Versions: 1.25
            Reporter: Nicholas DiPiazza


Steps to reproduce:

On windows 2016 server
* Start n tika servers on the same host, where n > 1
* Start actively parsing corpa documents into each host with multithreaded 
client program.
* Turn on a daemon thread that checks each tika server's {{/status}} every m 
milliseconds.

{code}
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote: 
java.nio.channels.OverlappingFileLockException
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1108)
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
org.apache.tika.server.ServerStatusWatcher.writeStatus(ServerStatusWatcher.java:116)
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
org.apache.tika.server.ServerStatusWatcher.shutdown(ServerStatusWatcher.java:167)
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
org.apache.tika.server.ServerStatusWatcher.access$300(ServerStatusWatcher.java:36)
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
org.apache.tika.server.ServerStatusWatcher$StatusWatcher.run(ServerStatusWatcher.java:197)
2020-08-26T00:57:07,140 - INFO  [Thread-34:fusion.tika.TikaServer@153] - 
{url=http://10.121.26.83:61945} - tika-remote:   at 
java.lang.Thread.run(Thread.java:748)
{code}

Causes status endpoint to return 500 error and will trigger your watcher thread 
to start restarting tika service because it think it's dead. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to