# Incremental updates and searches java.net.BindException

**URL:** <https://discuss.elastic.co/t/incremental-updates-and-searches-java-net-bindexception/9727>\
**Category:** Elasticsearch\
**Created:** [November 15, 2012, 1:20pm UTC](https://discuss.elastic.co/t/incremental-updates-and-searches-java-net-bindexception/9727 "2012-11-15T13:20:42Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ilija\_Subasic](https://avatars.discourse-cdn.com/v4/letter/i/ee7513/32.png) [@Ilija\_Subasic](https://discuss.elastic.co/u/Ilija_Subasic)\
**Post date:** [November 15, 2012, 1:20pm UTC](https://discuss.elastic.co/t/incremental-updates-and-searches-java-net-bindexception/9727/1 "2012-11-15T13:20:42Z")

</div>

Hi,  
I have got a map/reduce job which does queries against the elasticsearch  
index, and could force some updates on the index. It runs for a while, up  
to a certain point (about 2000 documents, and I have tried different  
documents), and afterwards I get java.net.BindException. It seems I can not  
connect to the the cluster anymore? Any ideas why this may happen? As I  
realized there is no connection limit on elasticsearch.  
Thanks.  
Ilija

Stacktrace:

java.net.BindException: Cannot assign requested address

```
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:525)
at org.elasticsearch.common.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:139)
at org.elasticsearch.common.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:102)
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)
at org.elasticsearch.common.netty.channel.Channels.connect(Channels.java:642)
at org.elasticsearch.common.netty.channel.AbstractChannel.connect(AbstractChannel.java:204)
at org.elasticsearch.common.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:230)
at org.elasticsearch.common.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:183)
at org.elasticsearch.transport.netty.NettyTransport.connectToChannels(NettyTransport.java:559)
at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:511)
at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:489)
at org.elasticsearch.transport.TransportService.connectToNode(TransportService.java:128)
at org.elasticsearch.client.transport.TransportClientNodesService$SimpleNodeSampler.sample(TransportClientNodesService.java:305)
at org.elasticsearch.client.transport.TransportClientNodesService.addTransportAddresses(TransportClientNodesService.java:159)
at org.elasticsearch.client.transport.TransportClient.addTransportAddress(TransportClient.java:203)
at com.mendeley.datamining.content.catalogue.AddDocumentsToIndex.<init>(AddDocumentsToIndex.java:24)
at com.mendeley.datamining.content.catalogue.IncrementalDocumentProcess.addToIndex(IncrementalDocumentProcess.java:36)
at com.mendeley.datamining.content.catalogue.IncrementalDocumentProcess.initilizeSourceDocument(IncrementalDocumentProcess.java:194)
at com.mendeley.datamining.content.catalogue.increment.NonExtendedIncrementalCatalogueCreationJob$TitleJournalMapper.map(NonExtendedIncrementalCatalogueCreationJob.java:104)
at com.mendeley.datamining.content.catalogue.increment.NonExtendedIncrementalCatalogueCreationJob$TitleJournalMapper.map(NonExtendedIncrementalCatalogueCreationJob.java:37)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:645)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:320)
at org.apache.hadoop.mapred.Child$4.run(Child.java:223)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:416)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1153)
at org.apache.hadoop.mapred.Child.main(Child.java:217)

```

--

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [November 15, 2012, 9:29pm UTC](https://discuss.elastic.co/t/incremental-updates-and-searches-java-net-bindexception/9727/2 "2012-11-15T21:29:03Z")

</div>

Is it possible that you are creating a lot of TransportClients and are not  
closing them when you are finished?

On Thursday, November 15, 2012 8:20:42 AM UTC-5, Ilija Subasic wrote:

> Hi,  
> I have got a map/reduce job which does queries against the elasticsearch  
> index, and could force some updates on the index. It runs for a while, up  
> to a certain point (about 2000 documents, and I have tried different  
> documents), and afterwards I get java.net.BindException. It seems I can  
> not connect to the the cluster anymore? Any ideas why this may happen? As I  
> realized there is no connection limit on elasticsearch.  
> Thanks.  
> Ilija
> 
> Stacktrace:
> 
> java.net.BindException: Cannot assign requested address
> 
> at sun.nio.ch.Net.connect(Native Method)  
> at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:525)  
> at org.elasticsearch.common.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:139)  
> at org.elasticsearch.common.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:102)  
> at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)  
> at org.elasticsearch.common.netty.channel.Channels.connect(Channels.java:642)  
> at org.elasticsearch.common.netty.channel.AbstractChannel.connect(AbstractChannel.java:204)  
> at org.elasticsearch.common.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:230)  
> at org.elasticsearch.common.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:183)  
> at org.elasticsearch.transport.netty.NettyTransport.connectToChannels(NettyTransport.java:559)  
> at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:511)  
> at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:489)  
> at org.elasticsearch.transport.TransportService.connectToNode(TransportService.java:128)  
> at org.elasticsearch.client.transport.TransportClientNodesService$SimpleNodeSampler.sample(TransportClientNodesService.java:305)  
> at org.elasticsearch.client.transport.TransportClientNodesService.addTransportAddresses(TransportClientNodesService.java:159)  
> at org.elasticsearch.client.transport.TransportClient.addTransportAddress(TransportClient.java:203)  
> at com.mendeley.datamining.content.catalogue.AddDocumentsToIndex.(AddDocumentsToIndex.java:24)  
> at com.mendeley.datamining.content.catalogue.IncrementalDocumentProcess.addToIndex(IncrementalDocumentProcess.java:36)  
> at com.mendeley.datamining.content.catalogue.IncrementalDocumentProcess.initilizeSourceDocument(IncrementalDocumentProcess.java:194)  
> at com.mendeley.datamining.content.catalogue.increment.NonExtendedIncrementalCatalogueCreationJob$TitleJournalMapper.map(NonExtendedIncrementalCatalogueCreationJob.java:104)  
> at com.mendeley.datamining.content.catalogue.increment.NonExtendedIncrementalCatalogueCreationJob$TitleJournalMapper.map(NonExtendedIncrementalCatalogueCreationJob.java:37)  
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)  
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:645)  
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:320)  
> at org.apache.hadoop.mapred.Child$4.run(Child.java:223)  
> at java.security.AccessController.doPrivileged(Native Method)  
> at javax.security.auth.Subject.doAs(Subject.java:416)  
> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1153)  
> at org.apache.hadoop.mapred.Child.main(Child.java:217)

--

---

<div class="post-metadata">

**Author:** ![Ilija\_Subasic](https://avatars.discourse-cdn.com/v4/letter/i/ee7513/32.png) [@Ilija\_Subasic](https://discuss.elastic.co/u/Ilija_Subasic)\
**Post date:** [November 19, 2012, 2:17pm UTC](https://discuss.elastic.co/t/incremental-updates-and-searches-java-net-bindexception/9727/3 "2012-11-19T14:17:33Z")

</div>

Hi,  
I am creating a lot of them, but closing them all. Is there a limit on  
the client number?

On Thursday, November 15, 2012 9:29:04 PM UTC, Igor Motov wrote:

> Is it possible that you are creating a lot of TransportClients and are not  
> closing them when you are finished?
> 
> On Thursday, November 15, 2012 8:20:42 AM UTC-5, Ilija Subasic wrote:
> 
> > Hi,  
> > I have got a map/reduce job which does queries against the  
> > elasticsearch index, and could force some updates on the index. It runs for  
> > a while, up to a certain point (about 2000 documents, and I have tried  
> > different documents), and afterwards I get java.net.BindException. It  
> > seems I can not connect to the the cluster anymore? Any ideas why this may  
> > happen? As I realized there is no connection limit on elasticsearch.  
> > Thanks.  
> > Ilija
> > 
> > Stacktrace:
> > 
> > java.net.BindException: Cannot assign requested address
> > 
> > at sun.nio.ch.Net.connect(Native Method)  
> > at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:525)  
> > at org.elasticsearch.common.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:139)  
> > at org.elasticsearch.common.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:102)  
> > at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)  
> > at org.elasticsearch.common.netty.channel.Channels.connect(Channels.java:642)  
> > at org.elasticsearch.common.netty.channel.AbstractChannel.connect(AbstractChannel.java:204)  
> > at org.elasticsearch.common.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:230)  
> > at org.elasticsearch.common.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:183)  
> > at org.elasticsearch.transport.netty.NettyTransport.connectToChannels(NettyTransport.java:559)  
> > at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:511)  
> > at org.elasticsearch.transport.netty.NettyTransport.connectToNode(NettyTransport.java:489)  
> > at org.elasticsearch.transport.TransportService.connectToNode(TransportService.java:128)  
> > at org.elasticsearch.client.transport.TransportClientNodesService$SimpleNodeSampler.sample(TransportClientNodesService.java:305)  
> > at org.elasticsearch.client.transport.TransportClientNodesService.addTransportAddresses(TransportClientNodesService.java:159)  
> > at org.elasticsearch.client.transport.TransportClient.addTransportAddress(TransportClient.java:203)  
> > at com.mendeley.datamining.content.catalogue.AddDocumentsToIndex.(AddDocumentsToIndex.java:24)  
> > at com.mendeley.datamining.content.catalogue.IncrementalDocumentProcess.addToIndex(IncrementalDocumentProcess.java:36)  
> > at com.mendeley.datamining.content.catalogue.IncrementalDocumentProcess.initilizeSourceDocument(IncrementalDocumentProcess.java:194)  
> > at com.mendeley.datamining.content.catalogue.increment.NonExtendedIncrementalCatalogueCreationJob$TitleJournalMapper.map(NonExtendedIncrementalCatalogueCreationJob.java:104)  
> > at com.mendeley.datamining.content.catalogue.increment.NonExtendedIncrementalCatalogueCreationJob$TitleJournalMapper.map(NonExtendedIncrementalCatalogueCreationJob.java:37)  
> > at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)  
> > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:645)  
> > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:320)  
> > at org.apache.hadoop.mapred.Child$4.run(Child.java:223)  
> > at java.security.AccessController.doPrivileged(Native Method)  
> > at javax.security.auth.Subject.doAs(Subject.java:416)  
> > at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1153)  
> > at org.apache.hadoop.mapred.Child.main(Child.java:217)

--

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [November 19, 2012, 9:51pm UTC](https://discuss.elastic.co/t/incremental-updates-and-searches-java-net-bindexception/9727/4 "2012-11-19T21:51:54Z")

</div>

Hi Ilija,

you should create only a singleton instance of a TransportClient per JVM.

Note that a TransportClient comes with a complete connection pool (Netty  
workers) and a number of thread pools for various ES operations to handle  
concurrent accesses. Each TransportClient startup consumes around 100  
sockets. Starting and stopping a lot of TransportClients in a short period  
of time may sooner or later pile up to the process file descriptors/socket  
resource limit, because the OS delays the effective release of closed  
sockets for a few minutes. You could watch out for orphaned sockets in  
CLOSE\_WAIT state if you enter such situations.

Jörg

--

---

<div class="post-metadata">

**Author:** ![oguchi](https://avatars.discourse-cdn.com/v4/letter/o/e95f7d/32.png) [@oguchi](https://discuss.elastic.co/u/oguchi)\
**Post date:** [November 7, 2015, 4:05am UTC](https://discuss.elastic.co/t/incremental-updates-and-searches-java-net-bindexception/9727/5 "2015-11-07T04:05:05Z")

</div>

I am new to ES2.0 I got the exact same error as above. And, I haven't even gotten it running yet. Any help will be appreciated.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:40pm UTC](https://discuss.elastic.co/t/incremental-updates-and-searches-java-net-bindexception/9727/6 "2017-07-05T23:40:02Z")

</div>


