You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by su...@apache.org on 2019/07/09 15:14:03 UTC

[incubator-iotdb] 02/03: merge master

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

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

commit c4d9b7b43048ae94dc707fa3b047858a17154062
Merge: 7722289 d7a9e35
Author: suyue <23...@qq.com>
AuthorDate: Tue Jul 9 23:12:55 2019 +0800

    merge master

 docs/Development.md                                |  12 +
 .../Frequently asked questions.md}                 |   7 +-
 docs/Documentation-CHN/OtherMaterial-Examples.md   |  83 ++++
 docs/Documentation-CHN/OtherMaterial-Reference.md  |  31 ++
 .../OtherMaterial-ReleaseNotesV0.7.0.md}           |   7 +-
 docs/Documentation-CHN/QuickStart.md               | 290 ++++++++++++
 .../UserGuideV0.7.0/1-Overview/1-What is IoTDB.md} |   7 +-
 .../UserGuideV0.7.0/1-Overview/2-Architecture.md   |  36 ++
 .../UserGuideV0.7.0/1-Overview/3-Scenario.md       |  78 ++++
 .../UserGuideV0.7.0/1-Overview/4-Features.md       |  51 +++
 .../1-Key Concepts and Terminology.md              | 179 ++++++++
 .../2-Data Type.md                                 |  34 ++
 .../3-Encoding.md                                  |  63 +++
 .../4-Compression.md                               |  28 ++
 .../3-Operation Manual/1-Sample Data.md}           |   9 +-
 .../3-Operation Manual/2-Data Model Selection.md   | 118 +++++
 .../3-Operation Manual/3-Data Import.md            |  85 ++++
 .../3-Operation Manual/4-Data Query.md             | 508 +++++++++++++++++++++
 .../3-Operation Manual/5-Data Maintenance.md       |  83 ++++
 .../3-Operation Manual/6-Priviledge Management.md  | 134 ++++++
 .../4-Deployment and Management/1-Deployment.md    |  99 ++++
 .../4-Deployment and Management/2-Configuration.md | 414 +++++++++++++++++
 .../3-System Monitor.md                            | 152 ++++++
 .../4-Deployment and Management/4-System log.md    |  64 +++
 .../5-Data Management.md                           |  74 +++
 .../6-Build and use IoTDB by Dockerfile.md}        |   7 +-
 .../1-IoTDB Query Statement.md}                    | 233 ++--------
 .../5-IoTDB SQL Documentation/2-Reference.md       | 137 ++++++
 .../UserGuideV0.7.0/6-JDBC API/1-JDBC API.md}      |   7 +-
 .../UserGuideV0.7.0/7-Tools-Cli.md                 |  77 ++++
 .../UserGuideV0.7.0/7-Tools-Grafana.md             | 118 +++++
 .../UserGuideV0.7.0/7-Tools-Hadoop.md}             |   7 +-
 .../UserGuideV0.7.0/7-Tools-spark.md}              |   7 +-
 .../{6-JDBC Documentation.md => 0-Content.md}      |  35 +-
 .../1-What is IoTDB.md}                            |   7 +-
 .../UserGuideV0.7.0/1-Overview/2-Architecture.md   |  36 ++
 .../{1-Overview.md => 1-Overview/3-Scenario.md}    |  42 --
 .../UserGuideV0.7.0/1-Overview/4-Features.md       |  33 ++
 .../1-Key Concepts and Terminology.md}             |  75 +--
 .../2-Data Type.md                                 |  38 ++
 .../3-Encoding.md                                  |  62 +++
 .../4-Compression.md                               |  28 ++
 .../1-Sample Data.md}                              |   9 +-
 .../3-Operation Manual/2-Data Model Selection.md   | 115 +++++
 .../3-Operation Manual/3-Data Import.md            |  87 ++++
 .../4-Data Query.md}                               | 395 +---------------
 .../3-Operation Manual/5-Data Maintenance.md       |  82 ++++
 .../3-Operation Manual/6-Priviledge Management.md  | 124 +++++
 .../4-Deployment and Management/1-Deployment.md    | 169 +++++++
 .../4-Deployment and Management/2-Configuration.md | 329 +++++++++++++
 .../3-System Monitor.md                            | 359 +++++++++++++++
 .../4-Deployment and Management/4-System log.md    |  66 +++
 .../5-Data Management.md                           |  77 ++++
 .../6-Build and use IoTDB by Dockerfile.md         |  92 ++++
 .../1-IoTDB Query Statement.md}                    | 129 ------
 .../5-IoTDB SQL Documentation/2-Reference.md       | 137 ++++++
 .../1-JDBC API.md}                                 |   7 +-
 hadoop/src/test/resources/logback.xml              |  41 ++
 iotdb/iotdb/conf/iotdb-env.sh                      |   2 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  39 ++
 .../iotdb/db/engine/cache/DeviceMetaDataCache.java |   4 +-
 .../qp/executor/AbstractQueryProcessExecutor.java  |   6 +-
 .../iotdb/db/query/executor/EngineExecutor.java    |   4 +
 .../reader/sequence/SequenceSeriesReader.java      |   1 -
 .../sequence/SequenceSeriesReaderByTimestamp.java  |   6 +-
 .../FileSeriesReaderByTimestampAdapter.java        |  46 ++
 .../writelog/recover/TsFileRecoverPerformer.java   |  24 +-
 tsfile/example/readme.md                           |  39 +-
 .../java/org/apache/iotdb/tsfile/TsFileWrite.java  | 236 ++++++----
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |   2 +-
 70 files changed, 5225 insertions(+), 997 deletions(-)

diff --cc iotdb/src/main/java/org/apache/iotdb/db/engine/cache/DeviceMetaDataCache.java
index 1598afc,994622a..a7a8270
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/cache/DeviceMetaDataCache.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/cache/DeviceMetaDataCache.java
@@@ -58,15 -53,17 +58,15 @@@ public class DeviceMetaDataCache 
    }
  
    /**
--   * get {@link TsDeviceMetadata}. THREAD SAFE.
++   * get {@link ChunkMetaData}. THREAD SAFE.
     */
 -  public TsDeviceMetadata get(String filePath, String deviceId, TsFileMetaData fileMetaData)
 +  public List<ChunkMetaData> get(String filePath, Path seriesPath)
        throws IOException {
 -    // The key(the tsfile path and deviceId) for the lruCache
  
 -    String jointPath = filePath + deviceId;
 -    Object jointPathObject = jointPath.intern();
 +    Object jointPathObject = filePath.intern();
      synchronized (lruCache) {
        cacheRequestNum.incrementAndGet();
 -      if (lruCache.containsKey(jointPath)) {
 +      if (lruCache.containsKey(filePath) && lruCache.get(filePath).containsKey(seriesPath)) {
          cacheHintNum.incrementAndGet();
          if (logger.isDebugEnabled()) {
            logger.debug(
@@@ -137,4 -111,57 +137,4 @@@
      private static final DeviceMetaDataCache INSTANCE = new
          DeviceMetaDataCache(CACHE_SIZE);
    }
 -
 -  /**
 -   * This class is a map used to cache the <code>RowGroupBlockMetaData</code>. The caching strategy
 -   * is LRU.
 -   *
 -   */
 -  private class LruLinkedHashMap extends LinkedHashMap<String, TsDeviceMetadata> {
 -
 -    private static final long serialVersionUID = 1290160928914532649L;
 -    private static final float LOAD_FACTOR_MAP = 0.75f;
 -    private int maxCapacity;
 -
 -    public LruLinkedHashMap(int maxCapacity, boolean isLru) {
 -      super(maxCapacity, LOAD_FACTOR_MAP, isLru);
 -      this.maxCapacity = maxCapacity;
 -    }
 -
 -    @Override
 -    protected boolean removeEldestEntry(Map.Entry<String, TsDeviceMetadata> eldest) {
 -      return size() > maxCapacity;
 -    }
 -
 -    @Override
 -    public boolean equals(Object o) {
 -      if (this == o) {
 -        return true;
 -      }
 -      if (o == null || getClass() != o.getClass()) {
 -        return false;
 -      }
 -      return super.equals(o);
 -    }
 -
 -    @Override
 -    public int hashCode() {
 -      return super.hashCode();
 -    }
 -  }
 -
 -  @Override
 -  public boolean equals(Object o) {
 -    if (this == o) return true;
 -    if (o == null || getClass() != o.getClass()) return false;
 -    DeviceMetaDataCache that = (DeviceMetaDataCache) o;
 -    return Objects.equals(lruCache, that.lruCache) &&
 -            Objects.equals(cacheHintNum, that.cacheHintNum) &&
 -            Objects.equals(cacheRequestNum, that.cacheRequestNum);
 -  }
 -
 -  @Override
 -  public int hashCode() {
 -    return Objects.hash(lruCache, cacheHintNum, cacheRequestNum);
 -  }
--}
++}
diff --cc iotdb/src/main/java/org/apache/iotdb/db/qp/executor/AbstractQueryProcessExecutor.java
index 8d75065,65e476a..d853a6a
--- a/iotdb/src/main/java/org/apache/iotdb/db/qp/executor/AbstractQueryProcessExecutor.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/qp/executor/AbstractQueryProcessExecutor.java
@@@ -65,8 -65,6 +65,7 @@@ public abstract class AbstractQueryProc
  
    private QueryDataSet processDataQuery(QueryPlan queryPlan, QueryContext context)
        throws StorageEngineException, QueryFilterOptimizationException, PathErrorException, ProcessorException, IOException {
-     QueryExpression queryExpression = QueryExpression.create().setSelectSeries(queryPlan.getPaths())
-         .setExpression(queryPlan.getExpression());
++
      if (queryPlan instanceof GroupByPlan) {
        GroupByPlan groupByPlan = (GroupByPlan) queryPlan;
        return groupBy(groupByPlan.getPaths(), groupByPlan.getAggregations(),
@@@ -84,6 -82,8 +83,9 @@@
        return fill(queryPlan.getPaths(), fillQueryPlan.getQueryTime(),
            fillQueryPlan.getFillType(), context);
      }
++
+     QueryExpression queryExpression = QueryExpression.create().setSelectSeries(queryPlan.getPaths())
+             .setExpression(queryPlan.getExpression());
      return queryRouter.query(queryExpression, context);
    }
  
diff --cc iotdb/src/main/java/org/apache/iotdb/db/query/executor/EngineExecutor.java
index 0203e6b,ca6e7aa..cdc3306
--- a/iotdb/src/main/java/org/apache/iotdb/db/query/executor/EngineExecutor.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/query/executor/EngineExecutor.java
@@@ -40,7 -40,7 +40,11 @@@ import org.apache.iotdb.tsfile.read.fil
  import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet;
  
  /**
++<<<<<<< HEAD
 + * IoTDB query executor of Stand-alone version with global time filter.
++=======
+  * IoTDB query executor.
++>>>>>>> origin/master
   */
  public class EngineExecutor {
  
diff --cc iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceSeriesReader.java
index b68ab53,da4571e..94842b0
--- a/iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceSeriesReader.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceSeriesReader.java
@@@ -33,7 -32,7 +33,6 @@@ import org.apache.iotdb.tsfile.read.TsF
  import org.apache.iotdb.tsfile.read.common.Path;
  import org.apache.iotdb.tsfile.read.controller.ChunkLoader;
  import org.apache.iotdb.tsfile.read.controller.ChunkLoaderImpl;
--import org.apache.iotdb.tsfile.read.controller.MetadataQuerierByFileImpl;
  import org.apache.iotdb.tsfile.read.filter.basic.Filter;
  import org.apache.iotdb.tsfile.read.reader.series.FileSeriesReader;
  import org.apache.iotdb.tsfile.read.reader.series.FileSeriesReaderWithFilter;
diff --cc iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceSeriesReaderByTimestamp.java
index 8fdecc7,8aa61c9..dee48a6
--- a/iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceSeriesReaderByTimestamp.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/query/reader/sequence/SequenceSeriesReaderByTimestamp.java
@@@ -19,7 -19,6 +19,8 @@@
  
  package org.apache.iotdb.db.query.reader.sequence;
  
++
 +import org.apache.iotdb.db.engine.cache.DeviceMetaDataCache;
  import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
  import org.apache.iotdb.db.engine.modification.Modification;
  import org.apache.iotdb.db.query.context.QueryContext;
@@@ -32,7 -31,7 +33,6 @@@ import org.apache.iotdb.tsfile.read.TsF
  import org.apache.iotdb.tsfile.read.common.Path;
  import org.apache.iotdb.tsfile.read.controller.ChunkLoader;
  import org.apache.iotdb.tsfile.read.controller.ChunkLoaderImpl;
--import org.apache.iotdb.tsfile.read.controller.MetadataQuerierByFileImpl;
  import org.apache.iotdb.tsfile.read.reader.series.FileSeriesReaderByTimestamp;
  
  import java.io.IOException;