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)