Hey,

Just a remote guess without knowing more: On your client side, the
exception is wrapped, so you need to unwrap it first.


--Alex


On Wed, Jul 23, 2014 at 9:47 AM, Cosmin-Radu Vasii <
[email protected]> wrote:

> I am using the dataless NodeClient to connect to my cluster (version is
> 1.1.1). Everything is working ok, except when failures occur. The scenario
> is the following:
> -I have an application java based which connects to ES Cluster
> (application is started and the cluster is up and running)
> -I shutdown the cluster
> -I try to send a bulk request
> -The following exception is displayed in the logs, which is normal. But my
> call never catches the exception:
>
> Exception in thread "elasticsearch[Lasher][generic][T#6]"
> org.elasticsearch.cluster.block.ClusterBlockException: blocked by:
> [SERVICE_UNAVAILABLE/1/state not recovered / initialized];[SERVICE_UNAVAILA
> BLE/2/no master];
>         at
> org.elasticsearch.cluster.block.ClusterBlocks.globalBlockedException(ClusterBlocks.java:138)
>         at
> org.elasticsearch.cluster.block.ClusterBlocks.globalBlockedRaiseException(ClusterBlocks.java:128)
>         at
> org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:197)
>         at
> org.elasticsearch.action.bulk.TransportBulkAction.access$000(TransportBulkAction.java:65)
>         at
> org.elasticsearch.action.bulk.TransportBulkAction$1.onFailure(TransportBulkAction.java:143)
>         at
> org.elasticsearch.action.support.TransportAction$ThreadedActionListener$2.run(TransportAction.java:117)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:724)
>
> My code is something like this
>
>         BulkResponse response;
>         try {
>             response = requestBuilder.execute().actionGet();
>         }
>         catch(NoNodeAvailableException ex){
>             LOGGER.error("Cannot connect to ES Cluster:  " +
> ex.getMessage());
>             throw ex;
>         }
>         catch (ClusterBlockException ex){
>             LOGGER.error("Cannot connect to ES Cluster:  " +
> ex.getMessage());
>             throw ex;
>         }
>         catch (Exception ex) {
>
>             LOGGER.error("Exception in processing indexing request by ES
> server. " + ex.getMessage());
>         }
>
> When I use a single request everything is ok. I also noticed a TODO in the
> ES code in the TransportBulkAction.java
>
> private void executeBulk(final BulkRequest bulkRequest, final long
> startTime, final ActionListener<BulkResponse> listener, final
> AtomicArray<BulkItemResponse> responses ) {
>         ClusterState clusterState = clusterService.state();
>         // TODO use timeout to wait here if its blocked...
>
> clusterState.blocks().globalBlockedRaiseException(ClusterBlockLevel.WRITE);
>
>         ....}
>
> Is this a known situation or a known bug or I am missing something?
>
> --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/109057dc-70c4-471a-bd6d-8b8e72c37ff6%40googlegroups.com
> <https://groups.google.com/d/msgid/elasticsearch/109057dc-70c4-471a-bd6d-8b8e72c37ff6%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAGCwEM8kKLjz4YRuXfm%3DHWaETrBxa7qZcz6uYMUSo4%3D1uOS8hw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to