private List<Long> readTxnListFromRangeString(String txnListString) {
    List<Long> txnList = new ArrayList<>();
    for (String txnRange : txnListString.split(",")) {
      if (txnRange.indexOf('-') < 0) {
        txnList.add(Long.parseLong(txnRange));
      } else {
        String[] parts = txnRange.split("-");
        long txn = Long.parseLong(parts[0]);
        long txnEnd = Long.parseLong(parts[1]);
        while (txn <= txnEnd) {
          txnList.add(txn++);
        }
      }
    }
    return txnList;
  }
txnlist is represented in ranges like this: 10-20,14,16-50
if the range is smaller then 5 it will not get merged, to avoid unnecessary overhead
@param txnListString string to parse from
@return txn list
storage-api/src/java/org/apache/hadoop/hive/common/ValidReadTxnList.java