fileGroupMap.put(group.getId(), group); if (!partitionToFileGroupsMap.containsKey(group.getPartitionPath())) { partitionToFileGroupsMap.put(group.getPartitionPath(), new ArrayList<>());
row[idx++] = fg.getId(); row[idx++] = fs.getBaseInstantTime(); row[idx++] = fs.getDataFile().isPresent() ? fs.getDataFile().get().getPath() : "";
String fileId = fileGroup.getId(); Set<String> filenames = Sets.newHashSet(); fileGroup.getAllDataFiles().forEach(dataFile -> {
for (HoodieFileGroup fileGroup : fileGroups) { List<FileSlice> slices = fileGroup.getAllFileSlices().collect(Collectors.toList()); if (fileGroup.getId().equals(fileId1)) { assertEquals(2, slices.size()); assertEquals(commitTime4, slices.get(0).getBaseInstantTime()); assertEquals(commitTime1, slices.get(1).getBaseInstantTime()); } else if (fileGroup.getId().equals(fileId2)) { assertEquals(3, slices.size()); assertEquals(commitTime3, slices.get(0).getBaseInstantTime()); assertEquals(commitTime2, slices.get(1).getBaseInstantTime()); assertEquals(commitTime1, slices.get(2).getBaseInstantTime()); } else if (fileGroup.getId().equals(fileId3)) { assertEquals(2, slices.size()); assertEquals(commitTime4, slices.get(0).getBaseInstantTime());
Optional<Boolean> added = fsView.getAllFileGroups(partitionPath).findFirst() .map(fg -> { selectedFileIdForCompaction.put(fg.getId(), partitionPath); fg.getLatestFileSlice().map(fs -> compactionFileIdToLatestFileSlice.put(fg.getId(), fs)); return true; }); if (selectedFileIdForCompaction.containsKey(fileGroup.getId())) { return compactionFileIdToLatestFileSlice.get(fileGroup.getId()) .getBaseInstantTime().equals(df.getCommitTime()); }).findAny(); } else { String fileId = fileGroup.getId(); List<HoodieDataFile> dataFiles = fileGroup.getAllDataFiles().collect(Collectors.toList());