public static HoodieRecordMerger loadRecordMerger(String mergerClass) {
    try {
      HoodieRecordMerger recordMerger = (HoodieRecordMerger) INSTANCE_CACHE.get(mergerClass);
      if (null == recordMerger) {
        synchronized (HoodieRecordMerger.class) {
          recordMerger = (HoodieRecordMerger) INSTANCE_CACHE.get(mergerClass);
          if (null == recordMerger) {
            recordMerger = (HoodieRecordMerger) ReflectionUtils.loadClass(mergerClass,
                new Object[] {});
            INSTANCE_CACHE.put(mergerClass, recordMerger);
          }
        }
      }
      return recordMerger;
    } catch (HoodieException e) {
      throw new HoodieException("Unable to instantiate hoodie merge class ", e);
    }
  }
@Test
  void loadHoodieMerge() {
    String mergeClassName = HoodieAvroRecordMerger.class.getName();
    HoodieRecordMerger recordMerger1 = HoodieRecordUtils.loadRecordMerger(mergeClassName);
    HoodieRecordMerger recordMerger2 = HoodieRecordUtils.loadRecordMerger(mergeClassName);
    assertEquals(recordMerger1.getClass().getName(), mergeClassName);
    assertEquals(recordMerger1, recordMerger2);
  }