Sure, along with some additional info.

- I use the Java API within a Grails application
- I use Elasticsearch version 0.90.5


### code to create a Transportclient. 

Code is executed on server B, pointing to ES instance on Server A
I tried to increase the timeout to check if this would help 
anything.....which isn't the case.

 Settings settings = ImmutableSettings.settingsBuilder()
                .put("cluster.name", "prodcluster")
                .put("discovery.zen.ping.multicast.enabled", false)
                .put("discovery.zen.ping.unicast.hosts", ["10.0.184.47"])
                .put("client.transport.ping_timeout","25s")
                .put("client.transport.nodes_sampler_interval","25s")
                .build();

        Client transportClient = new TransportClient(settings)
                .addTransportAddress(new 
InetSocketTransportAddress("10.0.184.47", 9300));



### then a lot of feed parsing magic happens, e.g. checking which products 
are new/updated and converting them into a structure which I can use for my 
application

*Every* record is then inserted using this piece of code

UpdateResponse response = client.prepareUpdate(indexName, documentTypeName, 
product.internal_id)
                                        .setDoc(product)
                                        .setUpsert(newProduct)
                                        .setId(product.internal_id)
                                        .execute()
                                        .actionGet();

This update function is called more then 100.000 times. Once for every 
product in all the product feeds.
Sometimes after ~2000 or ~3000 records I receive a NoNodeAvailableException



Op maandag 4 augustus 2014 10:31:02 UTC+2 schreef Dennis de Boer:
>
> Hi all,
>
> Hope you can give me some pointers on this topic. I'm trying to figure out 
> what is going wrong in my setup/config but I cannot figure it out.
>
> I have two servers. Server A hosts a public website with the elasticsearch 
> index. 
> Server B retrieves XML productfeeds , parses the feeds, and 
> adds/deletes/updates these products into the ES index on server A using a 
> TransportClient.
>
> The problem:
> - this process takes place on 3:00 am (supposedly a quite time)
> - 9 out of 10 days I'll get a NoNodeAvailableException on a random point 
> during the indexing of the records.
> - When I run the process during daytime (e.g. 10:00 am), everything works 
> fine.
>
> My guess:
>  In the access logs I see that a lot of bots are crawling my site around 
> 3:00 am. Since the exception occurs randomly and only when the site is 
> busy, it has to be a threading/connection problem
>
>
> My question:
> How can I debug this problem to figure out if it is a 
> threading/jvm/memory/connection problem. I want to see some actual proof 
> instead of guessing around.
> Any debug settings or plugins I can try to monitor the ES nodes?
>
> Any tips or pointers are most appreciated.
> Dennis
>
>
>
>
>

-- 
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/1d206366-b13e-479e-8bbe-d79b867ad64b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to