Skip to content

Commit 9185f12

Browse files
Merge pull request #10 from apache/master
update
2 parents 886576b + 1382d2e commit 9185f12

392 files changed

Lines changed: 15561 additions & 6357 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/client-go.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# This workflow is just for checking whether modifications works for the Go client.
2+
3+
name: Go Client
4+
5+
on:
6+
push:
7+
branches:
8+
- master
9+
- 'rel/*'
10+
paths-ignore:
11+
- 'docs/**'
12+
pull_request:
13+
branches:
14+
- master
15+
- 'rel/*'
16+
paths-ignore:
17+
- 'docs/**'
18+
# allow manually run the action:
19+
workflow_dispatch:
20+
21+
jobs:
22+
unix:
23+
strategy:
24+
fail-fast: false
25+
max-parallel: 20
26+
matrix:
27+
java: [ 11 ]
28+
os: [ ubuntu-latest ]
29+
runs-on: ${{ matrix.os}}
30+
31+
steps:
32+
- uses: actions/checkout@v2
33+
with:
34+
token: ${{secrets.GITHUB_TOKEN}}
35+
submodules: recursive
36+
- name: Set up JDK ${{ matrix.java }}
37+
uses: actions/setup-java@v1
38+
with:
39+
java-version: ${{ matrix.java }}
40+
- name: Cache Maven packages
41+
uses: actions/cache@v2
42+
with:
43+
path: ~/.m2
44+
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
45+
restore-keys: ${{ runner.os }}-m2-
46+
- name: Compile IoTDB Server
47+
run: mvn -B package -Dmaven.test.skip=true -am -pl server
48+
- name: Integration test
49+
shell: bash
50+
run: |
51+
cd client-go && make e2e_test_for_parent_git_repo e2e_test_clean_for_parent_git_repo

.github/workflows/greetings.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Greetings
22

3-
on: [pull_request, issues]
3+
on: [issues, pull_request_target]
44

55
jobs:
66
greeting:

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,11 @@ classes/
100100
*.cmake
101101
Makefile
102102
**/CMakeFiles/
103+
104+
### cluster test data
105+
node1/
106+
node2/
107+
node3/
108+
109+
# Exclude copied license
110+
/client-py/LICENSE

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "iotdb-client-go"]
2+
path = client-go
3+
url = git@github.com:apache/iotdb-client-go.git

Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ pipeline {
136136
}
137137
steps {
138138
// Publish the site with the scm-publish plugin.
139-
sh 'mvn -P site -P compile-site -P compile-site-0.11 -P compile-site-0.10 -P compile-site-0.9 -P compile-site-0.8 compile scm-publish:publish-scm -pl site'
139+
sh 'mvn -P site -P compile-site -P compile-site-0.12 -P compile-site-0.11 -P compile-site-0.10 -P compile-site-0.9 -P compile-site-0.8 compile scm-publish:publish-scm -pl site'
140140

141141
// Clean up the snapshots directory (freeing up more space after deploying).
142142
dir("target") {

LICENSE-binary

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,8 @@ org.slf4j:jcl-over-slf4j:1.7.25
294294
EPL 1.0
295295
------------
296296
com.h2database:h2-mvstore:1.4.199
297-
ch.qos.logback:logback-classic:1.1.11
298-
ch.qos.logback:logback-core:1.1.11
297+
ch.qos.logback:logback-classic:1.2.3
298+
ch.qos.logback:logback-core:1.2.3
299299

300300

301301
CDDL 1.1

README.md

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -102,20 +102,33 @@ Here in the Quick Start, we give a brief introduction of using source code to in
102102

103103
## Build from source
104104

105-
Skip this paragraph if you are using Windows. As we use Thrift for our RPC module (communication and
105+
### Prepare Thrift compiler
106+
107+
Skip this chapter if you are using Windows.
108+
109+
As we use Thrift for our RPC module (communication and
106110
protocol definition), we involve Thrift during the compilation, so Thrift compiler 0.13.0 (or
107111
higher) is required to generate Thrift Java code. Thrift officially provides binary compiler for
108-
Windows, but unfortunately, they do not provide that for Unix OSs. However, we compiled a Unix
109-
compiler ourselves and put it onto GitHub, and with the help of a maven plugin, it will be
110-
downloaded automatically during compilation. This compiler works fine with gcc8 or later, Ubuntu
111-
MacOS, and CentOS, but previous versions and other OSs are not guaranteed. Should you find your gcc
112-
version or OS does not support the precompiled compiler, please upgrade your gcc version or follow the
113-
Thrift official instructions to compile the compiler yourself and rename it into `{project_root}\thrift\target\tools\thrift_0.12.0_0.13.0_linux.exe`.
114-
If you have already installed a compatible Thrift compiler, you may add the following parameter
112+
Windows, but unfortunately, they do not provide that for Unix OSs.
113+
114+
If you have permission to install new softwares, use `apt install` or `yum install` or `brew install`
115+
to install the Thrift compiler (If you already have installed the thrift compiler, skip this step).
116+
Then, you may add the following parameter
115117
when running Maven: `-Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>`.
116-
If you want to download the Thrift compiler from another position, you may add the following
117-
parameter: `-Dthrift.download-url=<THE REMOTE URL FOR DOWNLOADING> -Dthrift.exec.absolute.path=<THE DOWNLOADED BINARY FILE NAME>`. Or you may directly modify our root pom if you are skilled enough.
118-
Here is the Thrift official site: https://thrift.apache.org/
118+
119+
If not, then you have to compile the thrift compiler, and it requires you install a boost library first.
120+
Therefore, we compiled a Unix compiler ourselves and put it onto GitHub, and with the help of a
121+
maven plugin, it will be downloaded automatically during compilation.
122+
This compiler works fine with gcc8 or later, Ubuntu MacOS, and CentOS, but previous versions
123+
and other OSs are not guaranteed.
124+
125+
If you can not download the thrift compiler automatically because of network problem, you can download
126+
it yourself, and then either:
127+
rename your thrift file to `{project_root}\thrift\target\tools\thrift_0.12.0_0.13.0_linux.exe`;
128+
or, add Maven commands:
129+
`-Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>`.
130+
131+
### Compile IoTDB
119132

120133
You can download the source code from:
121134

@@ -129,6 +142,11 @@ The default master branch is the dev branch, If you want to use a released versi
129142
git checkout release/x.x.x
130143
```
131144

145+
From v0.11.3 on, the tag name format is change to: vx.x.x:
146+
147+
```
148+
git checkout vx.x.x
149+
```
132150

133151
Under the root path of iotdb:
134152

@@ -138,10 +156,13 @@ Under the root path of iotdb:
138156

139157
Using `-P compile-cpp` for compiling cpp client (For more details, read client-cpp's Readme file.)
140158

141-
Then the binary version (including both server and cli) can be found at **distribution/target/apache-iotdb-{project.version}-bin.zip**
142-
143-
> NOTE: Directories "thrift/target/generated-sources/thrift" and "antlr/target/generated-sources/antlr4" need to be added to sources roots to avoid compilation errors in the IDE.
159+
Then the binary version (including both server and cli) can be found at **distribution/target/apache-iotdb-{project.version}-all-bin.zip**
144160

161+
NOTE: Directories `thrift/target/generated-sources/thrift`, `thrift-sync/target/generated-sources/thrift`,
162+
`thrift-cluster/target/generated-sources/thrift`
163+
and `antlr/target/generated-sources/antlr4` need to be added to sources roots to avoid compilation errors in the IDE.
164+
In IDEAJ, you just need to right click on the root project name and choose "Maven->Reload Project" after
165+
you run `mvn package` successfully.
145166

146167
### Configurations
147168

README_ZH.md

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,23 @@ IoTDB提供了三种安装方法,您可以参考以下建议,选择最适合
100100

101101
## 从源码构建
102102

103-
如果您使用Windows,请跳过此段。我们使用Thrift作为RPC模块来提供客户端-服务器间的通信和协议支持,因此在编译阶段我们需要使用Thrift 0.13.0
104-
(或更高)编译器生成对应的Java代码。Thrift只提供了Windows下的二进制编译器,Unix下需要通过源码自行编译。但我们预先编译了一个Thrift编译器,并将其上传到了GitHub
105-
,借助一个Maven插件,在编译时可以自动将其下载。该预编译的Thrift编译器在gcc8,Ubuntu, CentOS, MacOS下可以工作,但是在更低的gcc
106-
版本以及其他操作系统上尚未确认。如果您在编译时发现了Thrift编译器相关的问题,请升级您的gcc版本或者依照Thrift
107-
官方的指示自行编译编译器,并将编译器放置到目录`{project_root}\thrift\target\tools\thrift_0.12.0_0.13.0_linux.exe`
108-
如果您已经安装了一个兼容的Thrift编译器,您可以在运行Maven时通过以下参数指定使用您的编译器:`-Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>`
109-
您也可以使用以下Maven参数来更换Thrift编译器的下载地址:`-Dthrift.download-url=<THE REMOTE URL FOR DOWNLOADING> -Dthrift.exec.absolute.path=<THE DOWNLOADED BINARY FILE NAME>`
103+
### 关于准备Thrift编译器
104+
105+
如果您使用Windows,请跳过此段。
106+
107+
我们使用Thrift作为RPC模块来提供客户端-服务器间的通信和协议支持,因此在编译阶段我们需要使用Thrift 0.13.0
108+
(或更高)编译器生成对应的Java代码。 Thrift只提供了Windows下的二进制编译器,Unix下需要通过源码自行编译。
109+
110+
如果你有安装权限,可以通过`apt install`, `yum install`, `brew install`来安装thrift编译器,然后在下面的编译命令中
111+
都添加如下参数即可:`-Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<你的thrift可执行文件路径>`
112+
113+
114+
同时我们预先编译了一个Thrift编译器,并将其上传到了GitHub ,借助一个Maven插件,在编译时可以自动将其下载。
115+
该预编译的Thrift编译器在gcc8,Ubuntu, CentOS, MacOS下可以工作,但是在更低的gcc
116+
版本以及其他操作系统上尚未确认。
117+
如果您发现因为网络问题总是提示下载不到thrift文件,那么您需要手动下载,并并将编译器放置到目录`{project_root}\thrift\target\tools\thrift_0.12.0_0.13.0_linux.exe`
118+
如果您放到其他地方,就需要在运行maven的命令中添加:`-Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<你的thrift可执行文件路径>`
119+
110120
如果您对Maven足够熟悉,您也可以直接修改我们的根pom文件来避免每次编译都使用上述参数。
111121
Thrift官方网址为:https://thrift.apache.org/
112122

@@ -122,15 +132,23 @@ git clone https://github.com/apache/iotdb.git
122132
git checkout release/x.x.x
123133
```
124134

135+
从0.11.3开始,版本的标签风格改为vx.x.x:
136+
```
137+
git checkout vx.x.x
138+
```
139+
125140
在 iotdb 根目录下执行 maven 编译:
126141

127142
```
128143
> mvn clean package -DskipTests
129144
```
130145

131-
执行完成之后,可以在**distribution/target/apache-iotdb-{project.version}-bin.zip**找到编译完成的二进制版本(包括服务器和客户端)
146+
通过添加 `-P compile-cpp` 可以进行c++客户端API的编译。
147+
148+
执行完成之后,可以在**distribution/target/apache-iotdb-{project.version}-all-bin.zip**找到编译完成的二进制版本(包括服务器和客户端)
132149

133150
> 注意:"thrift/target/generated-sources/thrift" 和 "antlr/target/generated-sources/antlr4" 目录需要添加到源代码根中,以免在 IDE 中产生编译错误。
151+
> IDEA的操作方法:在上述maven命令编译好后,右键项目名称,选择"Maven->Reload project",即可。
134152
135153
### 配置
136154

RELEASE_NOTES.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,155 @@
1919
2020
-->
2121

22+
# Apache IoTDB 0.12.0
23+
24+
## New Features
25+
* [IOTDB-68] New shared-nothing cluster
26+
* [IOTDB-507] Add zeppelin-interpreter module
27+
* [IOTDB-825] Aggregation by natural month
28+
* [IOTDB-890] support SDT lossy compression
29+
* [IOTDB-944] Support UDTF (User-defined Timeseries Generating Function)
30+
* [IOTDB-965] Add timeout parameter for query
31+
* [IOTDB-1077] Add insertOneDeviceRecords API in java session
32+
* [IOTDB-1055] Support data compression type GZIP
33+
* [IOTDB-1024] Support multiple aggregated measurements for group by level statement
34+
* [IOTDB-1276] Add explain sql support and remove debug_state parameter
35+
* [IOTDB-1197] Add iotdb-client-go as a git submodule of IoTDB repo
36+
* [IOTDB-1230] Support spans multi time partitions when loading one TsFile
37+
* [IOTDB-1273] Feature/restrucutre python module as well as supporting pandas dataframe
38+
* [IOTDB-1277] support IoTDB as Flink's data source
39+
* [PR-2605] Add level merge to "merge" command
40+
41+
## Incompatible changes
42+
* [IOTDB-1081] New TsFile Format
43+
* [ISSUE-2730] Add the number of unseq merge times in TsFile name.
44+
45+
46+
## Miscellaneous changes
47+
* [IOTDB-868] Change mlog from txt to bin
48+
* [IOTDB-1069] Restrict the flushing memtable number to avoid OOM when mem_control is disabled
49+
* [IOTDB-1104] Refactor the error handling process of query exceptions
50+
* [IOTDB-1108] Add error log to print file name while error happened
51+
* [IOTDB-1152] Optimize regular data size in traversing
52+
* [IOTDB-1180] Reset the system log file names and maximal disk-space size
53+
* [ISSUE-2515] Set fetchsize through JDBC and Session
54+
* [ISSUE-2598] Throw explicit exception when time series is unknown in where clause
55+
* [PR-2944] Throw exception when device to be queried is not in TsFileMetaData
56+
* [PR-2967] Log memory usage information in SystemInfo for better diagnosis
57+
58+
## Bug Fixes
59+
* [IOTDB-1049] Fix NullpointerException and a delete bug in Last query
60+
* [IOTDB-1050] Fix Count timeserise column name is wrong
61+
* [IOTDB-1068] Fix Time series metadata cache bug
62+
* [IOTDB-1084] Fix temporary memory of flushing may cause OOM
63+
* [IOTDB-1106] Fix delete timeseries bug
64+
* [IOTDB-1126] Fix the unseq tsfile delete due to merge
65+
* [IOTDB-1135] Fix the count timeseries prefix path bug
66+
* [IOTDB-1137] Fix MNode.getLeafCount error when existing sub-device
67+
* [ISSUE-2484] Fix creating timeseries error by using "create" or "insert" statement
68+
* [ISSUE-2545, 2549] Fix unseq merge end time bug
69+
* [ISSUE-2611] An unsequence file that covers too many sequence file causes OOM query
70+
* [ISSUE-2688] LRULinkedHashMap does not work as an LRU Cache
71+
* [ISSUE-2709, 1178] Fix cache not cleared after unseq compaction bug, Fix windows 70,10 ci bug in unseq compaction ci
72+
* [ISSUE-2741] getObject method in JDBC should return an Object
73+
* [ISSUE-2746] Fix data overlapped bug after unseq compaction
74+
* [ISSUE-2758] NullPointerException in QueryTimeManager.checkQueryAlive()
75+
* [ISSUE-2905] Fix Files.deleteIfExists() doesn't work for HDFS file
76+
* [ISSUE-2919] Fix C++ client memory leak bug
77+
* [PR-2613] Fix importCSVTool import directory bug & encode bug
78+
* [PR-2409] Fix import csv which can't import time format str
79+
* [PR-2582] Fix sync bug for tsfiles's directory changed by vitural storage group
80+
* [ISSUE-2911] Fix The write stream is not closed when executing the command 'tracing off'
81+
82+
83+
# Apache IoTDB 0.11.3
84+
85+
## Bug Fixes
86+
* ISSUE-2505 ignore PathNotExistException in recover and change recover error to warn
87+
* IOTDB-1119 Fix C++ SessionDataSet bug when reading value buffer
88+
* Fix SessionPool does not recycle session and can not offer new Session due to RunTimeException
89+
* ISSUE-2588 Fix dead lock between deleting data and querying in parallel
90+
* ISSUE-2546 Fix first chunkmetadata should be consumed first
91+
* IOTDB-1126 Fix unseq tsfile is deleted due to compaction
92+
* IOTDB-1137 MNode.getLeafCount error when existing sub-device
93+
* ISSUE-2624 ISSUE-2625 Avoid OOM if user don't close Statement and Session manually
94+
* ISSUE-2639 Fix possible NPE during end query process
95+
* Alter IT for An error is reported and the system is suspended occasionally
96+
* IOTDB-1149 print error for -e param when set maxPRC<=0
97+
* IOTDB-1247 Fix the insert blocked caused the bugs in mem control module
98+
* ISSUE-2648 Last query not right when having multiple devices
99+
* Delete mods files after compaction
100+
* ISSUE-2687 fix insert NaN bug
101+
* ISSUE-2598 Throw explicit exception when time series is unknown in where clause
102+
* Fix timeseriesMetadata cache is not cleared after the TsFile is deleted by a compaction
103+
* ISSUE-2611 An unsequence file that covers too many sequence file causes OOM query
104+
* IOTDB-1135 Fix count timeseries bug when the paths are nested
105+
* ISSUE-2709 IOTDB-1178 Fix cache is not cleared after compaction
106+
* ISSUE-2746 Fix data overlapped bug after the elimination unseq compaction process
107+
* Fix getObject method in JDBC should return an Object
108+
* IOTDB-1188 Fix IoTDB 0.11 unable to delete data bug
109+
* Fix when covering a tsfile resource with HistoricalVersion = null, it’ll throw a NPE
110+
* fix the elimination unseq compaction may loss data bug after a delete operation is executed
111+
* Fix a bug of checking time partition in DeviceTimeIndex
112+
* Throw exeception when device to be queried is not in tsFileMetaData
113+
* Fix unseq compaction file selector conflicts with time partition bug
114+
* Fix high CPU usage during the compaction process
115+
116+
## Improvements
117+
* IOTDB-1140 optimize regular data encoding
118+
* Add more log for better tracing
119+
* Add backgroup exec for cli -e function
120+
* Add max direct memory size parameter to env.sh
121+
* Change last cache log to debug level
122+
123+
## New Features
124+
* Add explain sql support
125+
126+
127+
# Apache IoTDB 0.11.2
128+
129+
## Bug Fixes
130+
* IOTDB-1049 Fix Nullpointer exception and a delete bug in Last query
131+
* IOTDB-1060 Support full deletion for delete statement without where clause
132+
* IOTDB-1068 Fix Time series metadata cache bug
133+
* IOTDB-1069 restrict the flushing memtable number to avoid OOM when mem_control is disabled
134+
* IOTDB-1077 add insertOneDeviceRecords API in java session
135+
* IOTDB-1087 fix compaction block flush: flush do not return until compaction finished
136+
* IOTDB-1106 Delete timeseries statement will incorrectly delete other timeseries
137+
* Github issue-2137 fix grafana value-time position bug
138+
* Github issue-2169 GetObject returns String for all data types
139+
* Github issue-2240 fix Sync failed: Socket is closed by peer
140+
* Github issue-2387 The deleteData method exists in Session but not in SessionPool.
141+
* add thrift_max_frame_size in iotdb-engine.properties
142+
* Fix incorrect last result after deleting all data
143+
* Fix compaction recover block restart: IoTDB cannot restart until last compaction recover task finished
144+
* Fix compaction ignore modification file: delete does not work after compaction
145+
* print more insert error message in client
146+
* expose enablePartition parameter into iotdb-engines.properpties
147+
148+
# Apache IoTDB 0.11.1
149+
150+
## Bug Fixes
151+
* IOTDB-990 cli parameter maxPRC shouldn't to be set zero
152+
* IOTDB-993 Fix tlog bug
153+
* IOTDB-994 Fix can not get last_value while doing the aggregation query along with first_value
154+
* IOTDB-1000 Fix read redundant data while select with value filter with unseq data
155+
* IOTDB-1007 Fix session pool concurrency and leakage issue when pool.close is called
156+
* IOTDB-1016 overlapped data should be consumed first
157+
* IOTDB-1021 Fix NullPointerException when showing child paths of non-existent path
158+
* IOTDB-1028 add MAX\_POINT\_NUMBER format check
159+
* IOTDB-1034 Fix Show timeseries error in Chinese on Windows
160+
* IOTDB-1035 Fix bug in getDeviceTimeseriesMetadata when querying non-exist device
161+
* IOTDB-1038 Fix flink set storage group bug
162+
* ISSUE-2179 fix insert partial tablet with binary NullPointer bug
163+
* add reject status code
164+
* Update compaction level list delete
165+
* Fix query result is not correct
166+
* Fix import errors in Session.py and SessionExample.py
167+
* Fix modules can not be found when using pypi to pack client-py
168+
* Fix Count timeseries group by level bug
169+
* Fix desc batchdata count bug
170+
22171
# Apache IoTDB 0.11.0
23172

24173
## New Features

0 commit comments

Comments
 (0)