From d0b7efca909067296a7d5c9c23ca5d6ea1baa053 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Thu, 8 Jul 2021 13:45:39 +0200 Subject: Allow separate handling of missing 'vespa.feed.uselegacyclient' parameter --- .../java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java | 2 +- .../yahoo/vespa/hadoop/mapreduce/util/VespaConfiguration.java | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'vespa-hadoop') diff --git a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java index 97bc7dc838e..f80c28424f2 100644 --- a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java +++ b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaOutputFormat.java @@ -35,7 +35,7 @@ public class VespaOutputFormat extends OutputFormat { public RecordWriter getRecordWriter(TaskAttemptContext context) throws IOException, InterruptedException { VespaCounters counters = VespaCounters.get(context); VespaConfiguration configuration = VespaConfiguration.get(context.getConfiguration(), configOverride); - return configuration.useLegacyClient() + return configuration.useLegacyClient().orElse(true) ? new LegacyVespaRecordWriter(configuration, counters) : new VespaRecordWriter(configuration, counters); } diff --git a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/util/VespaConfiguration.java b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/util/VespaConfiguration.java index f8b49fecca5..1be794f8e11 100644 --- a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/util/VespaConfiguration.java +++ b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/util/VespaConfiguration.java @@ -6,6 +6,7 @@ import org.apache.hadoop.conf.Configuration; import java.io.IOException; import java.io.StringReader; +import java.util.Optional; import java.util.Properties; public class VespaConfiguration { @@ -131,7 +132,11 @@ public class VespaConfiguration { return getInt(PROGRESS_REPORT, 1000); } - public boolean useLegacyClient() { return getBoolean(USE_LEGACY_CLIENT, true); } + public Optional useLegacyClient() { + String raw = getString(USE_LEGACY_CLIENT); + if (raw == null || raw.trim().isEmpty()) return Optional.empty(); + return Optional.of(Boolean.parseBoolean(raw)); + } public String getString(String name) { if (override != null && override.containsKey(name)) { @@ -191,7 +196,7 @@ public class VespaConfiguration { sb.append(MAX_IN_FLIGHT_REQUESTS + ": " + maxInFlightRequests() +"\n"); sb.append(RANDOM_STARTUP_SLEEP + ": " + randomStartupSleepMs() +"\n"); sb.append(NUM_RETRIES + ": " + numRetries() +"\n"); - sb.append(USE_LEGACY_CLIENT + ": " + useLegacyClient() +"\n"); + sb.append(USE_LEGACY_CLIENT + ": " + useLegacyClient().map(Object::toString).orElse("") +"\n"); return sb.toString(); } -- cgit v1.2.3