You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/11/08 02:52:32 UTC

[iotdb] 01/01: Add java doc for some class which are inspired or copied from Trino

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

jackietien pushed a commit to branch InspiredByTrino
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit a5cf63b8e4c2b1c05280bec0b793c29a9149e8dd
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Tue Nov 8 10:52:16 2022 +0800

    Add java doc for some class which are inspired or copied from Trino
---
 .../java/org/apache/iotdb/db/mpp/execution/QueryState.java |  6 ++++++
 .../org/apache/iotdb/db/mpp/execution/StateMachine.java    |  5 ++++-
 .../org/apache/iotdb/db/mpp/execution/driver/Driver.java   |  6 ++++++
 .../db/mpp/execution/fragment/FragmentInstanceState.java   |  6 ++++++
 .../execution/fragment/FragmentInstanceStateMachine.java   |  6 ++++++
 .../iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java   |  7 ++++++-
 .../org/apache/iotdb/tsfile/read/common/block/TsBlock.java | 14 ++++++++++----
 .../iotdb/tsfile/read/common/block/TsBlockBuilder.java     |  8 ++++++++
 .../tsfile/read/common/block/TsBlockBuilderStatus.java     |  6 ++++++
 .../iotdb/tsfile/read/common/block/column/Column.java      |  6 ++++++
 .../tsfile/read/common/block/column/ColumnBuilder.java     |  6 ++++++
 .../read/common/block/column/ColumnBuilderStatus.java      |  6 ++++++
 12 files changed, 76 insertions(+), 6 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/QueryState.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/QueryState.java
index 8cd69763c2..5deacec5e0 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/QueryState.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/QueryState.java
@@ -24,6 +24,12 @@ import java.util.stream.Stream;
 
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 
+/**
+ * This class is inspired by
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-main/src/main/java/io/trino/execution/QueryState.java">Trino</a>
+ */
 public enum QueryState {
   QUEUED(false),
   PLANNED(false),
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/StateMachine.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/StateMachine.java
index c1b7e76360..4648b32c70 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/StateMachine.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/StateMachine.java
@@ -35,7 +35,10 @@ import static com.google.common.util.concurrent.Futures.immediateFuture;
 import static java.util.Objects.requireNonNull;
 
 /**
- * Simple state machine which holds a single state. Callers can register for state change events.
+ * This class is copied from <a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-main/src/main/java/io/trino/execution/StateMachine.java">Trino</a>
+ *
+ * <p>Simple state machine which holds a single state. Callers can register for state change events.
  */
 @ThreadSafe
 public class StateMachine<T> {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/Driver.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/Driver.java
index 086234fa12..53555e11f8 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/Driver.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/Driver.java
@@ -46,6 +46,12 @@ import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
 import static java.lang.Boolean.TRUE;
 import static org.apache.iotdb.db.mpp.execution.operator.Operator.NOT_BLOCKED;
 
+/**
+ * This class is inspired by <a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-main/src/main/java/io/trino/operator/Driver.java">Trino</a>
+ *
+ * <p>The difference is that Trino is push-based, we're pull-based
+ */
 public abstract class Driver implements IDriver {
 
   protected static final Logger LOGGER = LoggerFactory.getLogger(Driver.class);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceState.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceState.java
index c8f94f143a..55521d1c25 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceState.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceState.java
@@ -23,6 +23,12 @@ import java.util.stream.Stream;
 
 import static com.google.common.collect.ImmutableSet.toImmutableSet;
 
+/**
+ * This class is copied from
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-main/src/main/java/io/trino/execution/TaskState.java">Trino</a>
+ */
 public enum FragmentInstanceState {
   /**
    * Instance is planned but has not been scheduled yet. An instance will be in the planned state
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceStateMachine.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceStateMachine.java
index 2071fcc8b2..63dfcd22e1 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceStateMachine.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceStateMachine.java
@@ -51,6 +51,12 @@ import static org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceState.F
 import static org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceState.RUNNING;
 import static org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceState.TERMINAL_INSTANCE_STATES;
 
+/**
+ * This class is copied from
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-main/src/main/java/io/trino/execution/TaskStateMachine.java">Trino</a>
+ */
 @ThreadSafe
 public class FragmentInstanceStateMachine {
   private static final Logger LOGGER = LoggerFactory.getLogger(FragmentInstanceStateMachine.class);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java
index f292777567..546c39e205 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java
@@ -40,7 +40,12 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Used to plan a fragment instance. Currently, we simply change it from PlanNode to executable
+ * This class is inspired by
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-main/src/main/java/io/trino/sql/planner/LocalExecutionPlanner.java">Trino</a>
+ *
+ * <p>Used to plan a fragment instance. Currently, we simply change it from PlanNode to executable
  * Operator tree, but in the future, we may split one fragment instance into multiple pipeline to
  * run a fragment instance parallel and take full advantage of multi-cores
  */
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java
index 20d408abc6..f39d280dd7 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java
@@ -35,10 +35,16 @@ import static java.lang.String.format;
 import static java.util.Objects.requireNonNull;
 
 /**
- * Intermediate result for most of ExecOperators. The Tablet contains data from one or more columns
- * and constructs them as a row based view The columns can be series, aggregation result for one
- * series or scalar value (such as deviceName). The Tablet also contains the metadata to describe
- * the columns.
+ * This class is inspired by
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-spi/src/main/java/io/trino/spi/Page.java">Trino</a>
+ *
+ * <p>We customize it for IIoT case where TimeColumn always exists.
+ *
+ * <p>Intermediate result for most of ExecOperators. The TsBlock contains data from one or more
+ * columns and constructs them as a row based view The columns can be series, aggregation result for
+ * one series or scalar value (such as deviceName).
  */
 public class TsBlock {
 
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java
index d4152d4ddb..d09c550ca1 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java
@@ -38,6 +38,14 @@ import static java.lang.String.format;
 import static java.util.Objects.requireNonNull;
 import static org.apache.iotdb.tsfile.read.common.block.TsBlockBuilderStatus.DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES;
 
+/**
+ * This class is inspired by
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-spi/src/main/java/io/trino/spi/PageBuilder.java">Trino</a>
+ *
+ * <p>We customize it for IIoT case where TimeColumn always exists.
+ */
 public class TsBlockBuilder {
 
   // We choose default initial size to be 8 for TsBlockBuilder and ColumnBuilder
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilderStatus.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilderStatus.java
index 15d585800c..9472208006 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilderStatus.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilderStatus.java
@@ -21,6 +21,12 @@ package org.apache.iotdb.tsfile.read.common.block;
 import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
 import org.apache.iotdb.tsfile.read.common.block.column.ColumnBuilderStatus;
 
+/**
+ * This class is copied from
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-spi/src/main/java/io/trino/spi/block/PageBuilderStatus.java">Trino</a>
+ */
 public class TsBlockBuilderStatus {
 
   public static final int DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES =
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java
index fe2af36fca..37eb26973d 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java
@@ -22,6 +22,12 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 import org.apache.iotdb.tsfile.utils.TsPrimitiveType;
 
+/**
+ * This class is inspired by
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-spi/src/main/java/io/trino/spi/block/Block.java">Trino</a>
+ */
 public interface Column {
 
   /** Get the data type. */
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilder.java
index 6bc1f727f1..4558245942 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilder.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilder.java
@@ -22,6 +22,12 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 import org.apache.iotdb.tsfile.utils.TsPrimitiveType;
 
+/**
+ * This class is inspired by
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilder.java">Trino</a>
+ */
 public interface ColumnBuilder {
 
   /** Write a boolean to the current entry; */
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
index 86dca2ee50..894b663968 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
@@ -28,6 +28,12 @@ import java.lang.reflect.Modifier;
 import static java.lang.String.format;
 import static java.util.Objects.requireNonNull;
 
+/**
+ * This class is copied from
+ *
+ * <p><a
+ * href="https://github.com/trinodb/trino/blob/master/core/trino-spi/src/main/java/io/trino/spi/block/BlockBuilderStatus.java">Trino</a>
+ */
 public class ColumnBuilderStatus {
 
   public static final int INSTANCE_SIZE = deepInstanceSize(ColumnBuilderStatus.class);