title: Couchbase partial update not working as expected
body: <p>I am doing partial update of a couchbase document as follows:</p>
  
  <pre><code>...
  MutateInBuilder builder = bucket.mutateIn(id);
  for (Map.Entry&lt;String, Object&gt; entry : map.entrySet())
  {
      builder = builder.upsert(entry.getKey(), entry.getValue());
  }
  builder.execute();
  ...
  </code></pre>
  
  <p>When all the values in all the upsert calls are of the same type, things work fine.</p>
  
  <p>However, if some values are strings, and say others are Boolean, we are getting the exception:</p>
  
  <blockquote>
    <p>com.couchbase.client.core.CouchbaseException: SUBDOC_INVALID_COMBO
        at com.couchbase.client.java.subdoc.SubdocHelper.commonSubdocErrors(SubdocHelper.java:100)
        at com.couchbase.client.java.subdoc.AsyncMutateInBuilder$2.call(AsyncMutateInBuilder.java:1094)
        at com.couchbase.client.java.subdoc.AsyncMutateInBuilder$2.call(AsyncMutateInBuilder.java:1052)</p>
  </blockquote>
  
  <p>In the testcases for upsert, could not find any case where multiple attributes are updated.</p>
  
  <p>How do we upsert a document with attributes of different types in Couchbase?</p>
  
  <p>EDIT#1: </p>
  
  <p>Now, things got weirder... I am getting the same exception if I update more than 16 attributes in one iteration.</p>