@Test
  public void testLargeEditsPutDelete() throws Exception {
    List<WALEntry> entries = new ArrayList<>();
    List<ExtendedCell> cells = new ArrayList<>();
    for (int i = 0; i < 5510; i++) {
      entries.add(createEntry(TABLE_NAME1, i, KeyValue.Type.Put, cells));
    }
    SINK.replicateEntries(entries, PrivateCellUtil.createExtendedCellScanner(cells),
      replicationClusterId, baseNamespaceDir, hfileArchiveDir);

    ResultScanner resultScanner = table1.getScanner(new Scan());
    int totalRows = 0;
    while (resultScanner.next() != null) {
      totalRows++;
    }
    assertEquals(5510, totalRows);

    entries = new ArrayList<>();
    cells = new ArrayList<>();
    for (int i = 0; i < 11000; i++) {
      entries.add(createEntry(TABLE_NAME1, i,
        i % 2 != 0 ? KeyValue.Type.Put : KeyValue.Type.DeleteColumn, cells));
    }
    SINK.replicateEntries(entries, PrivateCellUtil.createExtendedCellScanner(cells),
      replicationClusterId, baseNamespaceDir, hfileArchiveDir);
    resultScanner = table1.getScanner(new Scan());
    totalRows = 0;
    while (resultScanner.next() != null) {
      totalRows++;
    }
    assertEquals(5500, totalRows);
  }
Insert a mix of puts and deletes
hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java