This is an automated email from the ASF dual-hosted git repository.
codope pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new f308aa2b7b0 [HUDI-7491] Fixing handling null values of extra metadata
in clean commit metadata (#10837)
f308aa2b7b0 is described below
commit f308aa2b7b0a7f3ed64cb3b973f36004522e945f
Author: Sivabalan Narayanan <[email protected]>
AuthorDate: Fri Mar 8 01:27:06 2024 -0800
[HUDI-7491] Fixing handling null values of extra metadata in clean commit
metadata (#10837)
* Fixing handling null values of extra metadata in clean commit metadata
* fixing tests
---
.../main/java/org/apache/hudi/table/action/clean/CleanPlanner.java | 4 ++--
.../src/test/java/org/apache/hudi/table/action/TestCleanPlanner.java | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanner.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanner.java
index 19cbe0f91a7..21d12333d87 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanner.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanner.java
@@ -234,8 +234,8 @@ public class CleanPlanner<T, I, K, O> implements
Serializable {
}
private List<String> getPartitionsFromDeletedSavepoint(HoodieCleanMetadata
cleanMetadata) {
- List<String> savepointedTimestampsFromLastClean =
Arrays.stream(cleanMetadata.getExtraMetadata()
- .getOrDefault(SAVEPOINTED_TIMESTAMPS,
StringUtils.EMPTY_STRING).split(","))
+ List<String> savepointedTimestampsFromLastClean =
cleanMetadata.getExtraMetadata() == null ? Collections.emptyList()
+ :
Arrays.stream(cleanMetadata.getExtraMetadata().getOrDefault(SAVEPOINTED_TIMESTAMPS,
StringUtils.EMPTY_STRING).split(","))
.filter(partition ->
!StringUtils.isNullOrEmpty(partition)).collect(Collectors.toList());
if (savepointedTimestampsFromLastClean.isEmpty()) {
return Collections.emptyList();
diff --git
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/TestCleanPlanner.java
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/TestCleanPlanner.java
index 4268cc36d47..8052572fcea 100644
---
a/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/TestCleanPlanner.java
+++
b/hudi-client/hudi-client-common/src/test/java/org/apache/hudi/table/action/TestCleanPlanner.java
@@ -507,7 +507,7 @@ public class TestCleanPlanner {
extraMetadata.put(SAVEPOINTED_TIMESTAMPS,
savepointsToTrack.stream().collect(Collectors.joining(",")));
}
HoodieCleanMetadata cleanMetadata = new HoodieCleanMetadata(instantTime,
100L, 10, earliestCommitToRetain, lastCompletedTime, partitionMetadata,
- CLEAN_METADATA_VERSION_2, Collections.EMPTY_MAP, extraMetadata);
+ CLEAN_METADATA_VERSION_2, Collections.EMPTY_MAP,
extraMetadata.isEmpty() ? null : extraMetadata);
return Pair.of(cleanMetadata,
TimelineMetadataUtils.serializeCleanMetadata(cleanMetadata));
} catch (IOException ex) {
throw new UncheckedIOException(ex);