title: Does CosmosDb SDK v3 automatically retry while inserting in bulk?
body: <p>I'm new to CosmosDB and I'm trying to grasp the R/U's settings limits.</p>
  <p><strong>Situation</strong></p>
  <p>Within an ASP.NET Core 2.1 application, I want to insert +/- 3000 documents at once. Looping these items and adding them one by one takes minutes of time. So bulk might be the way to go. I've followed some resources like:</p>
  <p><a href="https://docs.microsoft.com/en-us/azure/cosmos-db/tutorial-sql-api-dotnet-bulk-import" rel="nofollow noreferrer">Bulk import data to Azure Cosmos DB SQL API account by using the .NET SDK on docs.microsoft.com</a></p>
  <p><a href="https://devblogs.microsoft.com/cosmosdb/introducing-bulk-support-in-the-net-sdk/" rel="nofollow noreferrer">Introducing Bulk support in the .NET SDK</a></p>
  <p>In my code I used the sample code from the blog.</p>
  <pre><code>List&lt;Task&gt; concurrentTasks = new List&lt;Task&gt;();
  foreach (var entity in entities)
  {
      entity.Id = GenerateId(entity);
  
      concurrentTasks.Add(Container.CreateItemAsync(entity, new PartitionKey(entity.RoleId)));
  }
  
  await Task.WhenAll(concurrentTasks);
  </code></pre>
  <p><em>Inserting one document costs about 6 R/U's from my local development machine into Azure.</em></p>
  <p>When I provision the default 400 R/U's a second, I quickly get 429 Too Many Requests exceptions. When I switch to Autoscale, it's finished within about 20 seconds without exceptions.</p>
  <p>My question is: what if I want to limit the R/U's and still using this concurrentTasks approach, will there be retry handling done by the SDK? Or do I need to write my own 429-retry.</p>