You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2020/12/29 14:41:00 UTC
[lucene-solr] branch jira/SOLR-14608-export updated: SOLR-14608:
Fix nanoTime to millis calculation and more code cleanup
This is an automated email from the ASF dual-hosted git repository.
jbernste pushed a commit to branch jira/SOLR-14608-export
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/jira/SOLR-14608-export by this push:
new cae6133 SOLR-14608: Fix nanoTime to millis calculation and more code cleanup
cae6133 is described below
commit cae61336f86295014a1c373774bc56c5b9f21670
Author: Joel Bernstein <jb...@apache.org>
AuthorDate: Tue Dec 29 09:40:35 2020 -0500
SOLR-14608: Fix nanoTime to millis calculation and more code cleanup
---
.../apache/solr/handler/export/ExportBuffers.java | 2 +-
.../apache/solr/handler/export/ExportWriter.java | 4 ++--
.../solr/handler/export/ExportWriterStream.java | 24 +++++++---------------
3 files changed, 10 insertions(+), 20 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/handler/export/ExportBuffers.java b/solr/core/src/java/org/apache/solr/handler/export/ExportBuffers.java
index 3ddcdfe..15052c5 100644
--- a/solr/core/src/java/org/apache/solr/handler/export/ExportBuffers.java
+++ b/solr/core/src/java/org/apache/solr/handler/export/ExportBuffers.java
@@ -107,7 +107,7 @@ class ExportBuffers {
long startBufferWait = System.nanoTime();
exchangeBuffers();
long endBufferWait = System.nanoTime();
- log.debug("Waited for write thread:"+Long.toString(((endBufferWait-startBufferWait)/1000000000)));
+ log.debug("Waited for writer thread:"+Long.toString(((endBufferWait-startBufferWait)/1000000)));
} finally {
}
diff --git a/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java b/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java
index 158a7cd..b4a1212 100644
--- a/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java
+++ b/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java
@@ -419,7 +419,7 @@ public class ExportWriter implements SolrCore.RawWriter, Closeable {
long startExchangeBuffers = System.nanoTime();
buffers.exchangeBuffers();
long endExchangeBuffers = System.nanoTime();
- log.debug("Waited for reader thread:"+Long.toString(((endExchangeBuffers-startExchangeBuffers)/1000000000)));
+ log.debug("Waited for reader thread:"+Long.toString(((endExchangeBuffers-startExchangeBuffers)/1000000)));
} finally {
}
buffer = buffers.getOutputBuffer();
@@ -442,7 +442,7 @@ public class ExportWriter implements SolrCore.RawWriter, Closeable {
LeafReaderContext context = leaves.get(ord);
int fieldIndex = 0;
for (FieldWriter fieldWriter : writers) {
- if (fieldWriter.write(sortDoc, context.reader(), ew, fieldIndex)) {
+ if (fieldWriter.write(sortDoc, context, ew, fieldIndex)) {
++fieldIndex;
}
}
diff --git a/solr/core/src/java/org/apache/solr/handler/export/ExportWriterStream.java b/solr/core/src/java/org/apache/solr/handler/export/ExportWriterStream.java
index f76dc42..3a17c61 100644
--- a/solr/core/src/java/org/apache/solr/handler/export/ExportWriterStream.java
+++ b/solr/core/src/java/org/apache/solr/handler/export/ExportWriterStream.java
@@ -25,7 +25,6 @@ import java.util.Map;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.TimeoutException;
-import com.codahale.metrics.Timer;
import org.apache.solr.client.solrj.io.Tuple;
import org.apache.solr.client.solrj.io.comp.ComparatorOrder;
import org.apache.solr.client.solrj.io.comp.FieldComparator;
@@ -59,7 +58,6 @@ public class ExportWriterStream extends TupleStream implements Expressible {
int index = -1;
ExportBuffers exportBuffers;
ExportBuffers.Buffer buffer;
- Timer.Context writeOutputTimerContext;
private static final class TupleEntryWriter implements EntryWriter {
Tuple tuple;
@@ -132,9 +130,7 @@ public class ExportWriterStream extends TupleStream implements Expressible {
@Override
public void close() throws IOException {
- if (writeOutputTimerContext != null) {
- writeOutputTimerContext.stop();
- }
+
exportBuffers = null;
}
@@ -142,18 +138,17 @@ public class ExportWriterStream extends TupleStream implements Expressible {
public Tuple read() throws IOException {
Tuple res = null;
if (pos < 0) {
- if (writeOutputTimerContext != null) {
- writeOutputTimerContext.stop();
- writeOutputTimerContext = null;
- }
+
try {
buffer.outDocsIndex = ExportBuffers.Buffer.EMPTY;
log.debug("--- ews exchange empty buffer {}", buffer);
boolean exchanged = false;
while (!exchanged) {
- Timer.Context timerContext = exportBuffers.getWriterWaitTimer().time();
try {
+ long startExchangeBuffers = System.nanoTime();
exportBuffers.exchangeBuffers();
+ long endExchangeBuffers = System.nanoTime();
+ log.debug("Waited for reader thread:"+Long.toString(((endExchangeBuffers-startExchangeBuffers)/1000000)));
exchanged = true;
} catch (TimeoutException e) {
log.debug("--- ews timeout loop");
@@ -176,7 +171,6 @@ public class ExportWriterStream extends TupleStream implements Expressible {
}
break;
} finally {
- timerContext.stop();
}
}
} catch (InterruptedException e) {
@@ -207,14 +201,10 @@ public class ExportWriterStream extends TupleStream implements Expressible {
}
if (res != null) {
// only errors or EOF assigned result so far
- if (writeOutputTimerContext != null) {
- writeOutputTimerContext.stop();
- }
+
return res;
}
- if (writeOutputTimerContext == null) {
- writeOutputTimerContext = exportBuffers.getWriteOutputBufferTimer().time();
- }
+
SortDoc sortDoc = buffer.outDocs[++index];
tupleEntryWriter.tuple = new Tuple();
exportBuffers.exportWriter.writeDoc(sortDoc, exportBuffers.leaves, tupleEntryWriter, exportBuffers.exportWriter.fieldWriters);