You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2019/11/28 06:26:30 UTC

[incubator-iotdb] branch fix_statistic_batch created (now 9af848c)

This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a change to branch fix_statistic_batch
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git.


      at 9af848c  fix statistics batch

This branch includes the following new commits:

     new 9af848c  fix statistics batch

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-iotdb] 01/01: fix statistics batch

Posted by qi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch fix_statistic_batch
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit 9af848cc177c43ee210d9ac67817fad26f75b653
Author: qiaojialin <64...@qq.com>
AuthorDate: Thu Nov 28 14:26:13 2019 +0800

    fix statistics batch
---
 .../file/metadata/statistics/BinaryStatistics.java |  9 +++---
 .../metadata/statistics/BooleanStatistics.java     |  9 +++---
 .../file/metadata/statistics/DoubleStatistics.java | 10 +++---
 .../file/metadata/statistics/FloatStatistics.java  | 10 +++---
 .../metadata/statistics/IntegerStatistics.java     |  9 +++---
 .../file/metadata/statistics/LongStatistics.java   |  8 ++---
 .../file/metadata/statistics/NoStatistics.java     |  8 ++---
 .../file/metadata/statistics/Statistics.java       | 20 ++++--------
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  | 36 ++++------------------
 .../iotdb/tsfile/write/chunk/IChunkWriter.java     | 10 ------
 10 files changed, 42 insertions(+), 87 deletions(-)

diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
index 64dc577..6926793 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
@@ -110,14 +110,13 @@ public class BinaryStatistics extends Statistics<Binary> {
   }
 
   @Override
-  public void updateStats(Binary[] values) {
-    for (Binary value : values) {
+  public void updateStats(Binary[] values, int batchSize) {
+    for (int i = 0; i < batchSize; i++) {
       if (isEmpty) {
-        initializeStats(value, value, value, value, 0);
+        initializeStats(values[i], values[i], values[i], values[i], 0);
         isEmpty = false;
       } else {
-        updateStats(value, value, value, value, 0);
-        isEmpty = false;
+        updateStats(values[i], values[i], values[i], values[i], 0);
       }
     }
   }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
index 097dba0..f5b97f6 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
@@ -53,14 +53,13 @@ public class BooleanStatistics extends Statistics<Boolean> {
   }
 
   @Override
-  public void updateStats(boolean[] values) {
-    for (boolean value : values) {
+  public void updateStats(boolean[] values, int batchSize) {
+    for (int i = 0; i < batchSize; i++) {
       if (isEmpty) {
-        initializeStats(value, value, value, value, 0);
+        initializeStats(values[i], values[i], values[i], values[i], 0);
         isEmpty = false;
       } else {
-        updateStats(value, value, value, value, 0);
-        isEmpty = false;
+        updateStats(values[i], values[i], values[i], values[i], 0);
       }
     }
   }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java
index 250aaac..45e0163 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java
@@ -52,13 +52,13 @@ public class DoubleStatistics extends Statistics<Double> {
   }
 
   @Override
-  public void updateStats(double[] values) {
-    for (double value : values) {
-      if (this.isEmpty) {
-        initializeStats(value, value, value, value, value);
+  public void updateStats(double[] values, int batchSize) {
+    for (int i = 0; i < batchSize; i++) {
+      if (isEmpty) {
+        initializeStats(values[i], values[i], values[i], values[i], values[i]);
         isEmpty = false;
       } else {
-        updateStats(value, value, value, value, value);
+        updateStats(values[i], values[i], values[i], values[i], values[i]);
       }
     }
   }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java
index e1f487b..6ecea31 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java
@@ -52,13 +52,13 @@ public class FloatStatistics extends Statistics<Float> {
   }
 
   @Override
-  public void updateStats(float[] values) {
-    for (float value : values) {
-      if (this.isEmpty) {
-        initializeStats(value, value, value, value, value);
+  public void updateStats(float[] values, int batchSize) {
+    for (int i = 0; i < batchSize; i++) {
+      if (isEmpty) {
+        initializeStats(values[i], values[i], values[i], values[i], values[i]);
         isEmpty = false;
       } else {
-        updateStats(value, value, value, value, value);
+        updateStats(values[i], values[i], values[i], values[i], values[i]);
       }
     }
   }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java
index f2ab8cf..2020558 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java
@@ -53,14 +53,13 @@ public class IntegerStatistics extends Statistics<Integer> {
   }
 
   @Override
-  public void updateStats(int[] values) {
-    for (int value : values) {
+  public void updateStats(int[] values, int batchSize) {
+    for (int i = 0; i < batchSize; i++) {
       if (isEmpty) {
-        initializeStats(value, value, value, value, value);
+        initializeStats(values[i], values[i], values[i], values[i], values[i]);
         isEmpty = false;
       } else {
-        updateStats(value, value, value, value, value);
-        isEmpty = false;
+        updateStats(values[i], values[i], values[i], values[i], values[i]);
       }
     }
   }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java
index 0e4ace5..4b34989 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java
@@ -77,13 +77,13 @@ public class LongStatistics extends Statistics<Long> {
   }
 
   @Override
-  public void updateStats(long[] values) {
-    for (long value : values) {
+  public void updateStats(long[] values, int batchSize) {
+    for (int i = 0; i < batchSize; i++) {
       if (isEmpty) {
-        initializeStats(value, value, value, value, value);
+        initializeStats(values[i], values[i], values[i], values[i], values[i]);
         isEmpty = false;
       } else {
-        updateStats(value, value, value, value, value);
+        updateStats(values[i], values[i], values[i], values[i], values[i]);
       }
     }
   }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/NoStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/NoStatistics.java
index 9f66ba4..132f603 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/NoStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/NoStatistics.java
@@ -65,22 +65,22 @@ public class NoStatistics extends Statistics<Long> {
   }
 
   @Override
-  public void updateStats(boolean[] values) {
+  public void updateStats(boolean[] values, int batchSize) {
     // NoStatistics does not make any statistics
   }
 
   @Override
-  public void updateStats(int[] values) {
+  public void updateStats(int[] values, int batchSize) {
     // NoStatistics does not make any statistics
   }
 
   @Override
-  public void updateStats(long[] values) {
+  public void updateStats(long[] values, int batchSize) {
     // NoStatistics does not make any statistics
   }
 
   @Override
-  public void updateStats(Binary[] values) {
+  public void updateStats(Binary[] values, int batchSize) {
     // NoStatistics does not make any statistics
   }
 
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
index 2e20555..227e294 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
@@ -194,39 +194,31 @@ public abstract class Statistics<T> {
     throw new UnsupportedOperationException();
   }
 
-  public void updateStats(BigDecimal value) {
-    throw new UnsupportedOperationException();
-  }
-
   public void updateStats(Binary value) {
     throw new UnsupportedOperationException();
   }
 
-  public void updateStats(boolean[] values) {
-    throw new UnsupportedOperationException();
-  }
-
-  public void updateStats(int[] values) {
+  public void updateStats(boolean[] values, int batchSize) {
     throw new UnsupportedOperationException();
   }
 
-  public void updateStats(long[] values) {
+  public void updateStats(int[] values, int batchSize) {
     throw new UnsupportedOperationException();
   }
 
-  public void updateStats(float[] values) {
+  public void updateStats(long[] values, int batchSize) {
     throw new UnsupportedOperationException();
   }
 
-  public void updateStats(double[] values) {
+  public void updateStats(float[] values, int batchSize) {
     throw new UnsupportedOperationException();
   }
 
-  public void updateStats(BigDecimal[] values) {
+  public void updateStats(double[] values, int batchSize) {
     throw new UnsupportedOperationException();
   }
 
-  public void updateStats(Binary[] values) {
+  public void updateStats(Binary[] values, int batchSize) {
     throw new UnsupportedOperationException();
   }
 
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkWriterImpl.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkWriterImpl.java
index d5bad0a..31ffb38 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkWriterImpl.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkWriterImpl.java
@@ -167,18 +167,6 @@ public class ChunkWriterImpl implements IChunkWriter {
   }
 
   @Override
-  public void write(long time, BigDecimal value) {
-    this.maxTimestamp = time;
-    ++valueCountInOnePage;
-    pageWriter.write(time, value);
-    pageStatistics.updateStats(value);
-    if (minTimestamp == Long.MIN_VALUE) {
-      minTimestamp = time;
-    }
-    checkPageSizeAndMayOpenANewPage();
-  }
-
-  @Override
   public void write(long time, Binary value) {
     this.maxTimestamp = time;
     ++valueCountInOnePage;
@@ -198,7 +186,7 @@ public class ChunkWriterImpl implements IChunkWriter {
       minTimestamp = timestamps[0];
     }
     pageWriter.write(timestamps, values, batchSize);
-    pageStatistics.updateStats(values);
+    pageStatistics.updateStats(values, batchSize);
     checkPageSizeAndMayOpenANewPage();
   }
 
@@ -210,7 +198,7 @@ public class ChunkWriterImpl implements IChunkWriter {
       minTimestamp = timestamps[0];
     }
     pageWriter.write(timestamps, values, batchSize);
-    pageStatistics.updateStats(values);
+    pageStatistics.updateStats(values, batchSize);
     checkPageSizeAndMayOpenANewPage();
   }
 
@@ -222,7 +210,7 @@ public class ChunkWriterImpl implements IChunkWriter {
       minTimestamp = timestamps[0];
     }
     pageWriter.write(timestamps, values, batchSize);
-    pageStatistics.updateStats(values);
+    pageStatistics.updateStats(values, batchSize);
     checkPageSizeAndMayOpenANewPage();
   }
 
@@ -234,7 +222,7 @@ public class ChunkWriterImpl implements IChunkWriter {
       minTimestamp = timestamps[0];
     }
     pageWriter.write(timestamps, values, batchSize);
-    pageStatistics.updateStats(values);
+    pageStatistics.updateStats(values, batchSize);
     checkPageSizeAndMayOpenANewPage();
   }
 
@@ -246,19 +234,7 @@ public class ChunkWriterImpl implements IChunkWriter {
       minTimestamp = timestamps[0];
     }
     pageWriter.write(timestamps, values, batchSize);
-    pageStatistics.updateStats(values);
-    checkPageSizeAndMayOpenANewPage();
-  }
-
-  @Override
-  public void write(long[] timestamps, BigDecimal[] values, int batchSize) {
-    this.maxTimestamp = timestamps[batchSize - 1];
-    valueCountInOnePage += batchSize;
-    if (minTimestamp == Long.MIN_VALUE) {
-      minTimestamp = timestamps[0];
-    }
-    pageWriter.write(timestamps, values, batchSize);
-    pageStatistics.updateStats(values);
+    pageStatistics.updateStats(values, batchSize);
     checkPageSizeAndMayOpenANewPage();
   }
 
@@ -270,7 +246,7 @@ public class ChunkWriterImpl implements IChunkWriter {
       minTimestamp = timestamps[0];
     }
     pageWriter.write(timestamps, values, batchSize);
-    pageStatistics.updateStats(values);
+    pageStatistics.updateStats(values, batchSize);
     checkPageSizeAndMayOpenANewPage();
   }
 
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/IChunkWriter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/IChunkWriter.java
index 3f7f762..c375b45 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/IChunkWriter.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/IChunkWriter.java
@@ -57,11 +57,6 @@ public interface IChunkWriter {
   /**
    * write a time value pair.
    */
-  void write(long time, BigDecimal value);
-
-  /**
-   * write a time value pair.
-   */
   void write(long time, Binary value);
 
   /**
@@ -92,11 +87,6 @@ public interface IChunkWriter {
   /**
    * write time series
    */
-  void write(long[] timestamps, BigDecimal[] values, int batchSize);
-
-  /**
-   * write time series
-   */
   void write(long[] timestamps, Binary[] values, int batchSize);
 
   /**