diff --git a/priam/src/main/java/com/netflix/priam/backupv2/MetaV2Proxy.java b/priam/src/main/java/com/netflix/priam/backupv2/MetaV2Proxy.java index e2101a5bc..1073681c0 100644 --- a/priam/src/main/java/com/netflix/priam/backupv2/MetaV2Proxy.java +++ b/priam/src/main/java/com/netflix/priam/backupv2/MetaV2Proxy.java @@ -84,11 +84,18 @@ private String getMatch( @Override public ImmutableList getIncrementals(DateUtil.DateRange dateRange) { - String incrementalPrefix = getMatch(dateRange, AbstractBackupPath.BackupFileType.SST_V2); - String marker = - getMatch( - new DateUtil.DateRange(dateRange.getStartTime(), null), - AbstractBackupPath.BackupFileType.SST_V2); + return new ImmutableList.Builder() + .addAll(getIncrementals(dateRange, AbstractBackupPath.BackupFileType.SST_V2)) + .addAll( + getIncrementals( + dateRange, AbstractBackupPath.BackupFileType.SECONDARY_INDEX_V2)) + .build(); + } + + private ImmutableList getIncrementals( + DateUtil.DateRange dateRange, AbstractBackupPath.BackupFileType type) { + String incrementalPrefix = getMatch(dateRange, type); + String marker = getMatch(new DateUtil.DateRange(dateRange.getStartTime(), null), type); logger.info( "Listing filesystem with prefix: {}, marker: {}, daterange: {}", incrementalPrefix, diff --git a/priam/src/test/java/com/netflix/priam/backupv2/TestMetaV2Proxy.java b/priam/src/test/java/com/netflix/priam/backupv2/TestMetaV2Proxy.java index 3494a0578..2ac6f5454 100644 --- a/priam/src/test/java/com/netflix/priam/backupv2/TestMetaV2Proxy.java +++ b/priam/src/test/java/com/netflix/priam/backupv2/TestMetaV2Proxy.java @@ -17,6 +17,7 @@ package com.netflix.priam.backupv2; +import com.google.common.collect.ImmutableList; import com.google.common.truth.Truth; import com.google.inject.Guice; import com.google.inject.Injector; @@ -131,7 +132,16 @@ public void testGetSSTFilesFromMeta() throws Exception { @Test public void testGetIncrementalFiles() throws Exception { DateUtil.DateRange dateRange = new DateUtil.DateRange("202812071820,20281229"); - Truth.assertThat(metaProxy.getIncrementals(dateRange)).hasSize(3); + ImmutableList paths = metaProxy.getIncrementals(dateRange); + Truth.assertThat(paths).hasSize(4); + } + + @Test + public void testGetIncrementalFilesIncludesSecondaryIndexes() throws Exception { + DateUtil.DateRange dateRange = new DateUtil.DateRange("202812071820,20281229"); + ImmutableList paths = metaProxy.getIncrementals(dateRange); + Truth.assertThat(paths.get(3).getType()) + .isEqualTo(AbstractBackupPath.BackupFileType.SECONDARY_INDEX_V2); } @Test @@ -221,6 +231,17 @@ private List getRemoteFakeFiles() { "SNAPPY", "PLAINTEXT", "file4-Data.db")); + files.add( + Paths.get( + getPrefix(), + AbstractBackupPath.BackupFileType.SECONDARY_INDEX_V2.toString(), + "1859828420000", + "keyspace1", + "columnfamily1", + "index1", + "SNAPPY", + "PLAINTEXT", + "file5-Data.db")); files.add( Paths.get( getPrefix(),