IoTDB/RELEASE_NOTES.md

12 KiB

Apache IoTDB (incubating) 0.9.0

New Features

  • IOTDB-143 Compaction of data file
  • IOTDB-151 Support number format in timeseries path
  • IOTDB-158 Add metrics web service
  • IOTDB-173 Add batch write interface in session
  • IoTDB-174 Add interfaces for querying device or timeseries number
  • IOTDB-187 Enable to choose storage in local file system or HDFS
  • IOTDB-188 Delete storage group
  • IOTDB-193 Create schema automatically when inserting
  • IOTDB-198 Add sync module (Sync TsFiles between IoTDB instances)
  • IOTDB-199 Add a log visualization tool
  • IOTDB-203 Add "group by device" function for narrow table display
  • IOTDB-205 Support storage-group-level Time To Live (TTL)
  • IOTDB-208 Add Bloom filter in TsFile
  • IOTDB-223 Add a TsFile sketch tool
  • IoTDB-226 Hive-TsFile connector
  • IOTDB-239 Add interface for showing devices
  • IOTDB-241 Add query and non query interface in session
  • IOTDB-249 Enable lowercase in create_timeseries sql
  • IOTDB-253 Support time expression
  • IOTDB-259 Level query of path
  • IOTDB-282 Add "show version"
  • IOTDB-294 Online upgrade from 0.8.0 to 0.9.0
  • Spark-iotdb-connector
  • Support quoted measurement name
  • Generate cpp, go, and python thrift files under service-rpc
  • Display cache hit rate through jconsole
  • Support inserting data that time < 0
  • Add interface (Delete timeseries) in session
  • Add a tool to print tsfileResources (each device's start and end time)
  • Support watermark feature
  • Add micro and nano timestamp precision

Incompatible changes

  • RPC is incompatible, you can not use client-0.8.0 to connect with server-0.9.0 or use client-0.9.0 to connect with server-0.8.0.
  • Server is backward compatible, server-0.9.0 could run on data folder of 0.8.0. The data file will be upgraded background.
  • Change map key in TsDigest from String to enum data type

Miscellaneous changes

  • IOTDB-144 Meta data cache for query
  • IOTDB-153 Further limit fetchSize to speed up LIMIT&OFFSET query
  • IOTDB-160 External sort
  • IOTDB-161 Add ErrorCode of different response errors
  • IOTDB-180 Get rid of JSON format in "show timeseries"
  • IOTDB-192 Improvement for LRUCache
  • IOTDB-210 One else if branch will never be reached in the method optimize of ExpressionOptimizer
  • IOTDB-215 Update TsFile sketch tool and TsFile docs for v0.9.0
  • IOTDB-221 Add a python client example
  • IOTDB-233 keep metadata plan clear
  • IOTDB-251 Improve TSQueryDataSet structure in RPC
  • IOTDB-257 Makes the client stop fetch when dataSize equals maxPrintRowCount and change client fetchSize less than maxPrintRowCount
  • IOTDB-258 Add documents for Query History Visualization Tool and Shared Storage Architecture
  • IOTDB-265 Re-adjust the threshold size of memtable
  • IOTDB-267 Reduce IO operations in deserializing chunk header
  • IOTDB-273 Parallel recovery
  • IOTDB-276 Fix inconsistent ways of judging whether a Field is null
  • IOTDB-285 Duplicate fields in EngineDataSetWithoutValueFilter.java
  • IOTDB-287 Restrict users to only use domain names and IP addresses.
  • IOTDB-293 Variable naming convention
  • IOTDB-295 Refactor db.exception
  • Reconstruct Antlr3 grammar to improve performance
  • Tooling for release
  • Modified Decoder and SequenceReader to support old version of TsFile
  • Remove jdk constrain of jdk8 and 11
  • Modify print function in AbstractClient
  • Avoid second execution of parseSQLToPhysicalPlan in executeStatement

Known Issues

  • IOTDB-20 Need to support UPDATE

Bug Fixes

  • IOTDB-168&169 Fix a bug in export-csv tool and fix compatibility of timestamp formats in exportCsv, client display and sql
  • IOTDB-174 Fix querying timeseries interface cannot make a query by the specified path prefix
  • IOTDB-195 Using String.getBytes(utf-9).length to replace string.length() in ChunkGroupMetadata for supporting Chinese
  • IOTDB-211 Use "%IOTDB_HOME%\lib*" to refers to all .jar files in the directory in start-server.bat
  • IOTDB-240 Fix unknown time series in where clause
  • IOTDB-244 Fix bug when querying with duplicated columns
  • IOTDB-252 Add/fix shell and bat for TsFileSketchTool/TsFileResourcePrinter
  • IOTDB-266 NullPoint exception when reading not existed devices using ReadOnlyTsFile
  • IOTDB-264 Restart failure due to WAL replay error
  • IOTDB-290 Bug about threadlocal field in TSServiceImpl.java
  • IOTDB-291 Statement close operation may cause the whole connection's resource to be released
  • IOTDB-296 Fix error when skip page data in sequence reader
  • IOTDB-301 Bug Fix: executing "count nodes root" in client gets "Msg:3"
  • Fix Dynamic Config when Creating Existing SG or Time-series
  • Fix start-walchecker scripts for letting user define the wal folder
  • Fix start script to set JAVA_HOME

Apache IoTDB (incubating) 0.8.1

This is a bug-fix version of 0.8.0

  • IOTDB-172 Bug in updating startTime and endTime in TsFileResource
  • IOTDB-195 Bug about 'serializedSize' in ChunkGroupMetaData.java (for Chinese string)
  • IOTDB-202 fix tsfile example data type
  • IOTDB-242 fix mvn integration-test failed because the files in the target folder changes
  • Abnormal publishing of sequence and unsequence data folders in DirectoryManager
  • Fix a bug in TimeRange's intersects function

Apache IoTDB (incubating) 0.8.0

This is the first official release of Apache IoTDB after joining the Incubator.

New Features

  • IOTDB-1 Add Aggregation query
  • IOTDB-4 Asynchronously force sync WAL periodically
  • IOTDB-5 Support data deletion
  • IOTDB-11 Support start script for jdk 11 on Windows OS
  • IOTDB-18 Improve startup script compatible for jdk11
  • IOTDB-36 [TsFile] Enable recover data from a incomplete TsFile and continue to write
  • IOTDB-37 Add WAL check tool script
  • IOTDB-51 Update post-back module to synchronization module
  • IOTDB-59 Support GroupBy query
  • IOTDB-60 Support Fill function when query
  • IOTDB-73 Add REGULAR encoding method for data with fixed frequency
  • IOTDB-80 Support custom export file name
  • IOTDB-81 Update travis for supporting JDK11 on Windows
  • IOTDB-83 Add process bar for import script and show how many rows have been exported
  • IOTDB-91 Improve tsfile-spark-connector to support spark-2.4.3
  • IOTDB-93 IoTDB Calcite integration
  • IOTDB-109 Support appending data at the end of a completed TsFile
  • IOTDB-122 Add prepared statement in JDBC
  • IOTDB-123 Add documents in Chinese
  • IOTDB-130 Dynamic parameters adapter
  • IOTDB-134 Add default parameter for client starting script
  • Add read-only mode of IoTDB
  • New storage engine with asynchronously flush and close data file
  • Adding english documents
  • Supporting travis + window + jdk8
  • Add skipping all UTs: maven integration-test -DskipUTS=true
  • Enable users define the location of their thrift compiler
  • Add example module
  • Add a log appender: put info, warn, error log into one file and disable log_info by default
  • Recover when resource file does not exist while tsfile is complete

Incompatible changes

If you use the previous unofficial version 0.7.0. It is incompatible with 0.8.0.

Miscellaneous changes

  • IOTDB-21 Add ChunkGroup offset information in ChunkGroupMetaData
  • IOTDB-25 Add some introduction for JMX MBean Monitor in user guide
  • IOTDB-29 Multiple Exceptions when reading empty measurements from TsFileSequenceReader
  • IOTDB-39 Add auto repair functionality for RestorableTsFileIOWriter
  • IOTDB-45 Update the license in IoTDB
  • IOTDB-56 Faster getSortedTimeValuePairList() of Memtable
  • IOTDB-62 Change log level from error to debug in SQL parser
  • IoTDB-63 Use TsFileInput instead of FileChannel as the input parameter of some functions
  • IOTDB-76 Reformat MManager.getMetadataInString() in JSON format
  • IOTDB-78 Make unsequence file format more similar with TsFile
  • IOTDB-95 Keep stack trace when logging or throwing an exception
  • IOTDB-117 Add sync documents
  • Modify ASF header for each file and add related maven plugin
  • Add IoTDB env script test
  • Add sync function for jdbc server to close
  • Add cache directories for download jars and sonar plugin of maven in travis
  • Add partition start and end offset constraints when loading ChunkGroupMetaData
  • Check when creating Storage group
  • Try to release memory asap in ReadOnlyMemChunk
  • Add more physical plan serializer
  • Move all generated tsfiles for test into the target folder
  • Make TsFileWriter as AutoClosable
  • Print apache-rat violation result on console
  • Update multi dir avoid disk is full
  • Simplify Path construction
  • Separate documents into different chapter folders
  • Suppress mvn log in travis
  • Add mvn -B in travis

Known Issues

  • IOTDB-20 Need to support UPDATE
  • IOTDB-124 Lost timeseries info after restart IoTDB
  • IOTDB-125 [potential] a concurrency conflict may occur when a delete command and insertion command appears concurrently
  • IOTDB-126 IoTDB will not be closed immediately after run 'stop-server.sh' script
  • IOTDB-127 Chinese version documents problems

Bug Fixes

  • IOTDB-2 Maven Test failed before run mvn package -Dmaven.test.skip=true
  • IOTDB-7 OpenFileNumUtilTest failed
  • IOTDB-15 Fail to install IoTDB on Ubuntu 14.04
  • IOTDB-16 Invalid link on https://iotdb.apache.org/#/Documents/Quick Start
  • IOTDB-17 Need to update chapter Start of https://iotdb.apache.org/#/Documents/Quick Start
  • IOTDB-18 IoTDB startup script does not work on openjdk11
  • IOTDB-19 Fail to start start-server.sh script on Ubuntu 14.04/Ubuntu 16.04
  • IOTDB-22 BUG in TsFileSequenceReader when reading tsfile
  • IOTDB-24 DELETION error after restart a server
  • IOTDB-26 Return error when quit client
  • IOTDB-27 Delete error message
  • IOTDB-30 Flush timeseries cause select to returns "Msg:null"
  • IOTDB-31 Cannot set float number precision
  • IOTDB-34 Invalid message for show storage group
  • IOTDB-44 Error message in server log when select timeseries
  • IOTDB-49 Authorizer module outputs too many debug log info
  • IOTDB-50 DataSetWithoutTimeGenerator's initHeap behaves wrongly
  • IOTDB-52 Cli doesn't support aggregate
  • IOTDB-54 Predicates doesn't take effect
  • IOTDB-67 ValueDecoder reading new page bug
  • IOTDB-70 Disconnect from server when logging in fails
  • IOTDB-71 Improve readPositionInfo
  • IOTDB-74 THe damaged log will be skipped if it is the only log
  • IOTDB-79 Long term test failed because of the version control of deletion function
  • IOTDB-81 Fix Windows OS environment for Travis-CI
  • IOTDB-82 File not closed in PageHeaderTest and cause UT on Windows fails
  • IOTDB-84 Out-of-memory bug
  • IOTDB-94 IoTDB failed to start client since the required jars are not in the right folder
  • IOTDB-96 The JDBC interface throws an exception when executing the SQL statement "list user"
  • IOTDB-99 List privileges User on cannot be used properly
  • IOTDB-100 Return error message while executing sum aggregation query
  • IOTDB-103 Does not give a hint when encountering unsupported data types
  • IOTDB-104 MManager is incorrectly recovered when system reboots
  • IOTDB-108 Mistakes in documents
  • IOTDB-110 Cli inserts data normally even if there is no space left on the disk
  • IOTDB-118 When the disk space is full, the storage group is created successfully
  • IOTDB-121 A bug of query on value columns
  • IOTDB-128 Probably a bug in iotdb official website
  • IOTDB-129 A bug in restoring incomplete tsfile when system restart
  • IOTDB-131 IoTDB-Grafana module error when getting the timeseries list from Grafana
  • IOTDB-133 Some content is mistaken for links
  • System memory check failure in iotdb-env.sh
  • Time zone bug in different region
  • DateTimeUtilsTest UT bug
  • Problem discovered by Sonar
  • Openjdk11 + linux11 does not work on travis
  • Start JDBC service too slowly
  • JDBC cannot be closed
  • Close bug in sync thread
  • Bug in MManager to get all file names of a path
  • Version files of different storage groups are placed into the same place
  • Import/export csv script bug
  • Log level and stack print in test
  • Bug in TsFile-Spark-Connector
  • A doc bug of QuickStart.md