[ 
https://issues.apache.org/jira/browse/TIKA-2776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16686620#comment-16686620
 ] 

Tim Allison commented on TIKA-2776:
-----------------------------------

The other thing you might want to do...if you aren't already...is add a 
{{waitForServer}} loop along the lines of what I did in 
TikaServerIntegrationTest...for when your client hits a 503.

{noformat}
    private void awaitServerStartup() throws Exception {

        Instant started = Instant.now();
        long elapsed = Duration.between(started, Instant.now()).toMillis();
        while (elapsed < 30000) {
            try {
                Response response = WebClient
                        .create(endPoint + "/tika")
                        .accept("text/plain")
                        .get();
                if (response.getStatus() == 200) {
                    return;
                }
            } catch (javax.ws.rs.ProcessingException e) {
            }
            Thread.sleep(100);
            elapsed = Duration.between(started, Instant.now()).toMillis();
        }

    }
{noformat}

> Tika server child restart
> -------------------------
>
>                 Key: TIKA-2776
>                 URL: https://issues.apache.org/jira/browse/TIKA-2776
>             Project: Tika
>          Issue Type: Bug
>            Reporter: Mario Bisonti
>            Priority: Major
>         Attachments: log4j.xml, log4j_child.xml
>
>
> Hallo.
> I use tika server standalone started with the option:
> java -jar /opt/tika/tika-server-1.19.1.jar -spawnChild
> I use ManifoldCF and Solr to index file using tika server.
> It happens that indexing is continuously crashed because I obtain many:
> Tika down, retrying: Connection reset
> etc.
> I suspect that, when a process is restarted, the client crash as mentioned 
> here:
> _If the child process is in the process of shutting down, and it gets a new 
> request it will return 503 -- Service Unavailable. If the server times out on 
> a file, the client will receive an IOException from the closed socket. Note 
> that all other files that are being processed will end with an IOException 
> from a closed socket when the child process shuts down; e.g. if you send 
> three files to tika-server concurrently, and one of them causes a 
> catastrophic problem requiring the child to shut down, you won't be able to 
> tell which file caused the problems. In the future, we may implement a 
> gentler shutdown than we currently have._
> as reported here https://wiki.apache.org/tika/TikaJAXRS
> How could I workaround it ?
> Thanks a lot
> Mario



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to