public void commit(@NonNull final HoodieWriteClientWrapper hoodieWriteClient, @NotEmpty final String commitTime, @NonNull final Optional<JavaRDD<WriteStatus>> writesStatuses, final boolean shouldSaveChangesInFuture) { updateSinkStat(writesStatuses); logWriteMetrics(writesStatuses); java.util.Optional<HashMap<String, String>> hoodieExtraMetadata = java.util.Optional.empty(); if (this.metadataMgr instanceof HoodieBasedMetadataManager) { // Retrieve metadata from metadata manager and update metadata manager to avoid it creating extra // hoodie commit. final HoodieBasedMetadataManager hoodieBasedMetadataManager = (HoodieBasedMetadataManager) this.metadataMgr; hoodieExtraMetadata = java.util.Optional.of(hoodieBasedMetadataManager.getMetadataInfo()); if (!shouldSaveChangesInFuture) { hoodieBasedMetadataManager.shouldSaveChanges().set(false); } } hoodieSinkOperations.preCommitOperations(this.hoodieConf, commitTime); if (writesStatuses.isPresent() || hoodieExtraMetadata.isPresent()) { if (writesStatuses.isPresent()) { hoodieWriteClient.commit(commitTime, writesStatuses.get(), hoodieExtraMetadata); } else { hoodieWriteClient.commit(commitTime, this.jsc.emptyRDD(), hoodieExtraMetadata); } } }
Matchers.eq(java.util.Optional.of(hoodieBasedMetadataManager.getMetadataInfo()))); Mockito.verify(hoodieWriteClientWrapper, Mockito.times(1)).close(); Assert.assertFalse(hoodieBasedMetadataManager.shouldSaveChanges().get());
.commit(Matchers.anyString(), Matchers.any(JavaRDD.class), Matchers.eq(java.util.Optional.of(hoodieBasedMetadataManager.getMetadataInfo()))); Assert.assertFalse(hoodieBasedMetadataManager.shouldSaveChanges().get());