We are using a data generator to send records to a three node Elastic Search cluster. We are using the Java API to perform each 1000 bulk insert operation. We had previously used 2.1.1 and are now using 2.2.0. We are currently undertaking some failure testing whereby we kill a master or a standard node to see the impact (if any) and log these. We note down any operation failures along with those that have been successful and confirm the total number of written records using kopf.
We noticed previously in 2.1.1 that when we killed a master there were some missing records when we used a bulk insert. These always seemed to be less than 1000 and we presumed that this was because only part of the bulk operation being written and therefore successful confirmation could not be given. This resulted in some missing records in our counts at the end. With 2.2.0, we found that we had extra records which were recorded. This was because although the bulk operation returned a failure, a number of those records had actually been written.
Is this expected behaviour for both versions?