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);