Skip to content

Commit 056862f

Browse files
committed
Improve iterator logic & fix issue with FirstEntryInRowIterator
1 parent faac031 commit 056862f

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

core/utils/metadata-utils/src/main/java/datawave/query/util/MetadataHelper.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,16 +1738,18 @@ public Set<String> getMissingFieldsInDateRange(Set<String> fields, Set<String> d
17381738
}
17391739

17401740
try (BatchScanner bs = ScannerHelper.createBatchScanner(client, getMetadataTableName(), getAuths(), fields.size())) {
1741-
settings.add(new IteratorSetting(51, "FirstEntryInRow", FirstEntryInRowIterator.class));
1742-
settings.add(new IteratorSetting(50, "regexFilter", RegExFilter.class));
1743-
if (!dataTypeRegex.toString().isEmpty()) {
1744-
for (IteratorSetting setting : settings) {
1745-
if (setting.getName().equals("regexFilter")) {
1746-
setting.addOption(RegExFilter.COLQ_REGEX, dataTypeRegex.toString());
1747-
break;
1748-
}
1741+
if (!datatypes.isEmpty()) {
1742+
settings.add(new IteratorSetting(50, "regexFilter", RegExFilter.class));
1743+
}
1744+
settings.add(new IteratorSetting(51, "firstEntryInRow", FirstEntryInRowIterator.class));
1745+
for (IteratorSetting setting : settings) {
1746+
if (setting.getName().equals("regexFilter")) {
1747+
setting.addOption(RegExFilter.COLQ_REGEX, dataTypeRegex.toString());
1748+
} else if (setting.getName().equals("firstEntryInRow")) {
1749+
FirstEntryInRowIterator.setNumScansBeforeSeek(setting, 0);
17491750
}
17501751
}
1752+
bs.fetchColumnFamily(ColumnFamilyConstants.COLF_F);
17511753
bs.setRanges(ranges);
17521754
for (IteratorSetting setting : settings) {
17531755
bs.addScanIterator(setting);

0 commit comments

Comments
 (0)