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

Chesnay Schepler commented on FLINK-10361:
------------------------------------------

{{elasticsearch-common.sh#wait_elasticsearch_working}} is not waiting properly 
for ES to start.

{code}
function wait_elasticsearch_working {
    echo "Waiting for Elasticsearch node to work..."

    for ((i=1;i<=60;i++)); do
        curl -XGET 'http://localhost:9200' || true

        # make sure the elasticsearch node is actually working
        if [ $? -ne 0 ]; then
            sleep 1
        else
            echo "Elasticsearch node is working."
            return
        fi
    done

    echo "Elasticsearch node is not working"
    exit 1
}
{code}

Since {{curl -XGET 'http://localhost:9200' || true}} always returns 0 the loop 
always exits right away, even if ES isn't accessible.

> Elasticsearch (v6.3.1) sink end-to-end test instable
> ----------------------------------------------------
>
>                 Key: FLINK-10361
>                 URL: https://issues.apache.org/jira/browse/FLINK-10361
>             Project: Flink
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 1.6.0, 1.7.0
>            Reporter: Till Rohrmann
>            Assignee: Chesnay Schepler
>            Priority: Critical
>              Labels: pull-request-available, test-stability
>             Fix For: 1.7.0
>
>         Attachments: flink-elasticsearch-logs.tgz
>
>
> The Elasticsearch (v6.3.1) sink end-to-end test is instable. Running it on an 
> Amazon instance it failed with the following exception in the logs:
> {code}
> 2018-09-17 20:46:04,856 INFO  org.apache.flink.runtime.taskmanager.Task       
>               - Source: Sequence Source -> Flat Map -> Sink: Unnamed (1/1) 
> (cb23fdd9df0d4e09270b2ae9970efbac) switched from RUNNING to FAILED.
> java.io.IOException: Connection refused
>       at 
> org.elasticsearch.client.RestClient$SyncResponseListener.get(RestClient.java:728)
>       at 
> org.elasticsearch.client.RestClient.performRequest(RestClient.java:235)
>       at 
> org.elasticsearch.client.RestClient.performRequest(RestClient.java:198)
>       at 
> org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:522)
>       at 
> org.elasticsearch.client.RestHighLevelClient.ping(RestHighLevelClient.java:275)
>       at 
> org.apache.flink.streaming.connectors.elasticsearch6.Elasticsearch6ApiCallBridge.createClient(Elasticsearch6ApiCallBridge.java:81)
>       at 
> org.apache.flink.streaming.connectors.elasticsearch6.Elasticsearch6ApiCallBridge.createClient(Elasticsearch6ApiCallBridge.java:47)
>       at 
> org.apache.flink.streaming.connectors.elasticsearch.ElasticsearchSinkBase.open(ElasticsearchSinkBase.java:296)
>       at 
> org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
>       at 
> org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:102)
>       at 
> org.apache.flink.streaming.api.operators.StreamSink.open(StreamSink.java:48)
>       at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:424)
>       at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:290)
>       at org.apache.flink.runtime.taskmanager.Task.run(Task.java:711)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.net.ConnectException: Connection refused
>       at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
>       at 
> sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
>       at 
> org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:171)
>       at 
> org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:145)
>       at 
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:348)
>       at 
> org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:192)
>       at 
> org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)
>       ... 1 more
> {code}
> I assume that we should harden the test against connection problems a little 
> bit better.



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

Reply via email to