summaryrefslogtreecommitdiffstats
path: root/vespa-hadoop
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2018-12-20 14:08:42 +0100
committerHåkon Hallingstad <hakon@oath.com>2018-12-20 14:08:42 +0100
commit9922b4a419ecad5c9d4ea9e351f5e66e55fad84b (patch)
tree32abad6efa16653bacd5caaf559d456c3222a12e /vespa-hadoop
parent58e87745267e02e051f6311024dc2fe980ec03a5 (diff)
ThreadLocalRandom is recommended over Random in multithreaded environments, try 2
Diffstat (limited to 'vespa-hadoop')
-rw-r--r--vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaRecordWriter.java36
1 files changed, 17 insertions, 19 deletions
diff --git a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaRecordWriter.java b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaRecordWriter.java
index 75607be3dfd..600658067cb 100644
--- a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaRecordWriter.java
+++ b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/mapreduce/VespaRecordWriter.java
@@ -1,24 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hadoop.mapreduce;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.List;
-import java.util.Random;
-import java.util.StringTokenizer;
-import java.util.logging.Logger;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.FactoryConfigurationError;
-import javax.xml.stream.XMLEventReader;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.events.StartElement;
-import javax.xml.stream.events.XMLEvent;
-
-import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser;
@@ -35,6 +17,22 @@ import com.yahoo.vespa.http.client.config.Endpoint;
import com.yahoo.vespa.http.client.config.FeedParams;
import com.yahoo.vespa.http.client.config.FeedParams.DataFormat;
import com.yahoo.vespa.http.client.config.SessionParams;
+import org.apache.hadoop.mapreduce.RecordWriter;
+import org.apache.hadoop.mapreduce.TaskAttemptContext;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.events.StartElement;
+import javax.xml.stream.events.XMLEvent;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.List;
+import java.util.StringTokenizer;
+import java.util.concurrent.ThreadLocalRandom;
+import java.util.logging.Logger;
/**
* VespaRecordWriter sends the output &lt;key, value&gt; to one or more Vespa
@@ -133,7 +131,7 @@ public class VespaRecordWriter extends RecordWriter {
private void initialize() {
if (!configuration.dryrun() && configuration.randomStartupSleepMs() > 0) {
- int delay = new Random().nextInt(configuration.randomStartupSleepMs());
+ int delay = ThreadLocalRandom.current().nextInt(configuration.randomStartupSleepMs());
log.info("VespaStorage: Delaying startup by " + delay + " ms");
try {
Thread.sleep(delay);