@JsonCreator public static DatasetSplitId of(String datasetSplitId) { final String[] ids = datasetSplitId.split(DELIMITER, 3); Preconditions.checkArgument(ids.length == 3 && !ids[0].isEmpty() && !ids[1].isEmpty() && !ids[2].isEmpty(), "Invalid dataset split id %s", datasetSplitId); // Some dataset split before upgrade might not have a valid version // but the compound key would still allow for the entry to be removed from the kvstore // so allowing it temporarily. // // See DX-13336 for details long version; try { version = Long.parseLong(ids[1]); } catch (NumberFormatException e) { version = Long.MIN_VALUE; } return new DatasetSplitId(datasetSplitId, unescape(ids[0]), version, ids[2]); }