# Bulk vs. BulkAsync

**URL:** <https://discuss.elastic.co/t/bulk-vs-bulkasync/43787>\
**Category:** Elasticsearch\
**Created:** [March 8, 2016, 2:34pm UTC](https://discuss.elastic.co/t/bulk-vs-bulkasync/43787 "2016-03-08T14:34:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![muthukumare](https://avatars.discourse-cdn.com/v4/letter/m/aca169/32.png) [@muthukumare](https://discuss.elastic.co/u/muthukumare)\
**Post date:** [March 8, 2016, 2:34pm UTC](https://discuss.elastic.co/t/bulk-vs-bulkasync/43787/1 "2016-03-08T14:34:04Z")

</div>

In our application, we are using Bulk insert option to upload the multiple JSON documents in single insert command using [Elasticsearch.net](http://Elasticsearch.net). We faced two issues while using BulkAsync, which is:

1. BulkAsync method won't support to insert more than 20000 documents in single bulk. Getting thread abort exception. But Bulk method supports it.
2. If use BulkAsync method then some of the documents may missed while insert into ELK, but in Bulk the missing document count is very less compared to BulkAsync.

Please let us know what is difference between Bulk and BulkAsync method. Whether the above mentioned two issues are still existing while using BulkAsync or not?

In below, I had mentioned my code to understand more:

var node = new Uri("[http://localhost:9200](http://localhost:9200)");  
var config = new ConnectionConfiguration(node);  
var client = new ElasticLowLevelClient(config);

// JSONcontents --\> It contains the multiple JSON files  
client.Bulk(indexName, typeName, JSONcontents);

client.BulkAsync(indexName, typeName, JSONcontents);

---

<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:10pm UTC](https://discuss.elastic.co/t/bulk-vs-bulkasync/43787/2 "2017-07-05T23:10:19Z")

</div>

Closed on July 5, 2017, 11:10pm UTC


