@@ -220,7 +220,11 @@ protected void commit(HoodieTable table, String commitActionType, String instant
220
220
Option .of (metadata .toJsonString ().getBytes (StandardCharsets .UTF_8 )));
221
221
}
222
222
223
- protected abstract HoodieTable <T , I , K , O > createTable (HoodieWriteConfig config , Configuration hadoopConf );
223
+ protected HoodieTable <T , I , K , O > createTable (HoodieWriteConfig config , Configuration hadoopConf ) {
224
+ return createTable (config , hadoopConf , false );
225
+ }
226
+
227
+ protected abstract HoodieTable <T , I , K , O > createTable (HoodieWriteConfig config , Configuration hadoopConf , boolean refreshTimeline );
224
228
225
229
void emitCommitMetrics (String instantTime , HoodieCommitMetadata metadata , String actionType ) {
226
230
try {
@@ -272,7 +276,7 @@ public void bootstrap(Option<Map<String, String>> extraMetadata) {
272
276
*/
273
277
public void rollbackFailedBootstrap () {
274
278
LOG .info ("Rolling back pending bootstrap if present" );
275
- HoodieTable <T , I , K , O > table = createTable (config , hadoopConf );
279
+ HoodieTable <T , I , K , O > table = createTable (config , hadoopConf , config . isMetadataTableEnabled () );
276
280
HoodieTimeline inflightTimeline = table .getMetaClient ().getCommitsTimeline ().filterPendingExcludingCompaction ();
277
281
Option <String > instant = Option .fromJavaOptional (
278
282
inflightTimeline .getReverseOrderedInstants ().map (HoodieInstant ::getTimestamp ).findFirst ());
@@ -451,6 +455,9 @@ protected void postCommit(HoodieTable<T, I, K, O> table, HoodieCommitMetadata me
451
455
452
456
protected void runTableServicesInline (HoodieTable <T , I , K , O > table , HoodieCommitMetadata metadata , Option <Map <String , String >> extraMetadata ) {
453
457
if (config .inlineTableServices ()) {
458
+ if (config .isMetadataTableEnabled ()) {
459
+ table .getHoodieView ().sync ();
460
+ }
454
461
// Do an inline compaction if enabled
455
462
if (config .inlineCompactionEnabled ()) {
456
463
runAnyPendingCompactions (table );
@@ -515,7 +522,7 @@ protected void autoCleanOnCommit() {
515
522
* @param comment - Comment for the savepoint
516
523
*/
517
524
public void savepoint (String user , String comment ) {
518
- HoodieTable <T , I , K , O > table = createTable (config , hadoopConf );
525
+ HoodieTable <T , I , K , O > table = createTable (config , hadoopConf , config . isMetadataTableEnabled () );
519
526
if (table .getCompletedCommitsTimeline ().empty ()) {
520
527
throw new HoodieSavepointException ("Could not savepoint. Commit timeline is empty" );
521
528
}
@@ -539,7 +546,7 @@ public void savepoint(String user, String comment) {
539
546
* @param comment - Comment for the savepoint
540
547
*/
541
548
public void savepoint (String instantTime , String user , String comment ) {
542
- HoodieTable <T , I , K , O > table = createTable (config , hadoopConf );
549
+ HoodieTable <T , I , K , O > table = createTable (config , hadoopConf , config . isMetadataTableEnabled () );
543
550
table .savepoint (context , instantTime , user , comment );
544
551
}
545
552
@@ -551,7 +558,7 @@ public void savepoint(String instantTime, String user, String comment) {
551
558
* @return true if the savepoint was deleted successfully
552
559
*/
553
560
public void deleteSavepoint (String savepointTime ) {
554
- HoodieTable <T , I , K , O > table = createTable (config , hadoopConf );
561
+ HoodieTable <T , I , K , O > table = createTable (config , hadoopConf , config . isMetadataTableEnabled () );
555
562
SavepointHelpers .deleteSavepoint (table , savepointTime );
556
563
}
557
564
@@ -566,7 +573,7 @@ public void deleteSavepoint(String savepointTime) {
566
573
* @return true if the savepoint was restored to successfully
567
574
*/
568
575
public void restoreToSavepoint (String savepointTime ) {
569
- HoodieTable <T , I , K , O > table = createTable (config , hadoopConf );
576
+ HoodieTable <T , I , K , O > table = createTable (config , hadoopConf , config . isMetadataTableEnabled () );
570
577
SavepointHelpers .validateSavepointPresence (table , savepointTime );
571
578
restoreToInstant (savepointTime );
572
579
SavepointHelpers .validateSavepointRestore (table , savepointTime );
@@ -624,7 +631,7 @@ public HoodieRestoreMetadata restoreToInstant(final String instantTime) throws H
624
631
final String restoreInstantTime = HoodieActiveTimeline .createNewInstantTime ();
625
632
Timer .Context timerContext = metrics .getRollbackCtx ();
626
633
try {
627
- HoodieTable <T , I , K , O > table = createTable (config , hadoopConf );
634
+ HoodieTable <T , I , K , O > table = createTable (config , hadoopConf , config . isMetadataTableEnabled () );
628
635
HoodieRestoreMetadata restoreMetadata = table .restore (context , restoreInstantTime , instantTime );
629
636
if (timerContext != null ) {
630
637
final long durationInMs = metrics .getDurationInMs (timerContext .stop ());
@@ -957,17 +964,17 @@ private Option<String> scheduleTableServiceInternal(String instantTime, Option<M
957
964
switch (tableServiceType ) {
958
965
case CLUSTER :
959
966
LOG .info ("Scheduling clustering at instant time :" + instantTime );
960
- Option <HoodieClusteringPlan > clusteringPlan = createTable (config , hadoopConf )
967
+ Option <HoodieClusteringPlan > clusteringPlan = createTable (config , hadoopConf , config . isMetadataTableEnabled () )
961
968
.scheduleClustering (context , instantTime , extraMetadata );
962
969
return clusteringPlan .isPresent () ? Option .of (instantTime ) : Option .empty ();
963
970
case COMPACT :
964
971
LOG .info ("Scheduling compaction at instant time :" + instantTime );
965
- Option <HoodieCompactionPlan > compactionPlan = createTable (config , hadoopConf )
972
+ Option <HoodieCompactionPlan > compactionPlan = createTable (config , hadoopConf , config . isMetadataTableEnabled () )
966
973
.scheduleCompaction (context , instantTime , extraMetadata );
967
974
return compactionPlan .isPresent () ? Option .of (instantTime ) : Option .empty ();
968
975
case CLEAN :
969
976
LOG .info ("Scheduling cleaning at instant time :" + instantTime );
970
- Option <HoodieCleanerPlan > cleanerPlan = createTable (config , hadoopConf )
977
+ Option <HoodieCleanerPlan > cleanerPlan = createTable (config , hadoopConf , config . isMetadataTableEnabled () )
971
978
.scheduleCleaning (context , instantTime , extraMetadata );
972
979
return cleanerPlan .isPresent () ? Option .of (instantTime ) : Option .empty ();
973
980
default :
0 commit comments