Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
205 changes: 117 additions & 88 deletions src/Download/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,123 @@ Legacy version are available here: [https://archive.apache.org/dist/iotdb/](http
> sudo sysctl -w kern.ipc.somaxconn=65535
```

## How to Upgrade

### General Rules

- Minor version upgrades before v1.0.x (e.g., upgrading from v0.12.4 to v0.12.5)
- Minor versions under the same major version are generally compatible with each other.
- Simply download the new minor version and modify its configuration file to match the settings of the original version.
- Stop the old version process and start the new version.

- Minor version upgrades for v1.0.x and later
- **<span style="color:red">It is recommended to stop the service before performing the upgrade operation.</span>**
- Download and extract the target version.
- **<span style="color:red">Usually, you need to replace the `lib` and `sbin` folders.</span>**
- If the target version introduces new configuration items or script changes, it is recommended to synchronously check and merge the contents of directories such as `conf` and `tools` as needed.
- Start the new version instance and verify the service status.

- Cross-version upgrades
- **<span style="color:red">Before upgrading across major versions or important minor versions, it is recommended to back up data and configurations first for rollback purposes.</span>**
- Stop writing before the upgrade, and perform `flush`, shut down the old version instance and other operations as required by the target version.
- **<span style="color:red">Do not upgrade directly across multiple major versions; it is recommended to upgrade step by step according to versions.</span>**
- After the upgrade, check key configurations, data directories and service status to confirm that the version switch is successful.

### Version Upgrade Instructions

- How to upgrade from v2.0.4 and above to v2.0.8?
- **<span style="color:red">Stop writing and shut down the old version instance.</span>**
- Download and extract v2.0.8.
- **<span style="color:red">Replace the `lib` and `sbin` folders.</span>**
- Start the v2.0.8 instance and verify the service status.

- How to upgrade from versions below v2.0.4 to v2.0.8?
- **<span style="color:red">Stop writing and shut down the old version instance.</span>**
- **<span style="color:red">It is recommended to back up data, configurations and script files in advance for rollback purposes.</span>**
- Download and extract v2.0.8.
- **<span style="color:red">Replace the new version's `conf`, `lib`, `sbin` and `tools` folders.</span>**
- **<span style="color:red">`conf/iotdb-system.properties` can use the old version configuration, and other configurations are recommended to be merged item by item according to the new version content.</span>**
- Start the v2.0.8 instance and verify the service status.

- How to upgrade from v1.3.x to v2.0.8?
- **<span style="color:red">Back up data before upgrading.</span>**
- **<span style="color:red">Replace the `lib` and `sbin` folders.</span>**
- **<span style="color:red">Copy `iotdb-common.sh` from the v2.0.8 `conf` directory to the original v1.3.x `conf` directory.</span>**
- Before starting v2.0.8, it is recommended to check whether the configuration and data directories meet the requirements of the target 2.0.x version.
- Start the v2.0.8 instance and verify the service status.

- How to upgrade from lower versions to v2.0.x?
- **<span style="color:red">Do not upgrade directly across versions; it is recommended to upgrade step by step according to versions.</span>**
- For example, when upgrading from v1.1.x to v2.0.x, it is recommended to follow the order `v1.1.x -> v1.2.x -> v1.3.x -> v2.0.x`.
- It is recommended to back up data and configurations before each upgrade for rollback purposes.

- How to upgrade from v1.0.0 to v1.x.0?
- **<span style="color:red">Stop writing and shut down the old version instance.</span>**
- Download the new version files.
- **<span style="color:red">Replace all the `lib` and `sbin` folders.</span>**
- Restart the service.

- How to upgrade from v0.13.x to v1.0.x?
- The file directory structure of version 0.13 is different from that of version 1.0. **<span style="color:red">You cannot directly copy the `data` directory from version 0.13 to a version 1.0 cluster for use</span>**. If you need to import data from 0.13 to 1.0, you can use the [LOAD](../UserGuide/latest/Tools-System/Data-Import-Tool_apache) function.
- **The default RPC address for version 0.13 is `0.0.0.0`, and the default RPC address for version 1.0 is `127.0.0.1`.**

- How to upgrade from v0.12.x to v0.13.x?
- The data file formats of 0.12 and 0.13 are compatible, but formats such as write-ahead logs are not compatible, so an upgrade is required.
- **<span style="color:red">Execute the `SET SYSTEM TO READONLY` command in the 0.12 CLI and stop writing new data.</span>**
- Execute the `flush` command in the CLI to ensure all TsFile files are closed.
- We recommend backing up the entire `data` directory in advance for rollback purposes.
- Download the latest 0.13 version, extract it and modify the configuration file, especially **<span style="color:red">configuration parameters that cannot be modified after the first startup such as timestamp precision</span>**, and point all data directories to the backed up or original data directories used by v0.12.
- Stop the v0.12 instance and start the v0.13 instance.
- **<span style="color:red">After performing the above steps, please confirm that `iotdb_version` in the `data/system/schema/system.properties` file is `0.13.x`. If not, please manually modify it to `0.13.x`.</span>**
- **Note: The configuration file of 0.13 has been significantly modified, so do not directly use the 0.12 configuration file for 0.13.**
- **0.13 has made changes to SQL syntax. Identifiers not enclosed in backticks can only contain the following characters, otherwise they need to be enclosed in backticks.**
- **`[0-9 a-z A-Z _ : @ # $ { }]` (letters, numbers, some special characters)**
- **`['\u2E80'..'\u9FFF']` (Unicode Chinese characters)**
- **In 0.13, if a path node name in the `SELECT` clause is a real number, it needs to be enclosed in backticks to distinguish it from constants in expressions. For example, in the statement 'select 123 + \`123\` from root.sg', the first 123 represents a constant, and the latter \`123\` will be spliced with root.sg to represent the path root.sg.\`123\`.**

- How to upgrade from v0.11.x or v0.10.x to v0.12.x?
- The process of upgrading from 0.11 or 0.10 to 0.12 is similar to upgrading from v0.9 to v0.10, and the upgrade tool will automatically upgrade the data files.
- **<span style="color:red">Stop writing new data to the old version.</span>**
- Call `flush` using the CLI to ensure all TsFile files are closed.
- We recommend backing up data files, as well as write-ahead logs and `mlog` files in advance for rollback purposes.
- Download the latest version, extract it and modify the configuration file. Point all data directories to the backed up or original data directories used by v0.11 or v0.10, and synchronize necessary configuration changes from the old version to 0.12.
- Stop the old version IoTDB instance and start the v0.12 instance. IoTDB will automatically upgrade the data file format in the background. Data can be queried and written during the upgrade process.
- The upgrade is successful when the log shows `All files upgraded successfully!`.
- **Note 1: The configuration file of 0.12 has been significantly modified, so do not directly use the original configuration file for 0.12.**
- **Note 2: Since 0.12 does not support upgrading from 0.9 or lower versions, please upgrade to version 0.10 first if you need to upgrade.**
- **Note 3: It is best not to perform `delete` operations before the file upgrade is completed. If you delete data in a database and there are files to be upgraded in that database, the deletion will fail.**

- How to upgrade from v0.10.x to v0.11.x?
- The data file formats of 0.10 and 0.11 are compatible, but formats such as write-ahead logs are not compatible, so an upgrade is required.
- **<span style="color:red">Stop writing new data to 0.10.</span>**
- Call `flush` using the CLI to ensure all TsFile files are closed.
- We recommend backing up write-ahead logs and `mlog` files in advance for rollback purposes.
- Download the latest version, extract it and modify the configuration file. Point all data directories to the backed up or original data directories used by v0.10.
- Stop the v0.10 instance and start the v0.11 instance. IoTDB will automatically upgrade incompatible file formats.
- **Note: The configuration file of 0.11 has been significantly modified, so do not directly use the 0.10 configuration file for 0.11.**

- How to upgrade from v0.9.x to v0.10.x?
- **<span style="color:red">Stop writing new data to the old version.</span>**
- Call `flush` using the CLI to ensure all TsFile files are closed.
- We recommend backing up data files, as well as write-ahead logs and `mlog` files in advance for rollback purposes.
- Download the latest version, extract it and modify the configuration file. Point all data directories to the backed up or original data directories used by v0.9.
- Stop the v0.9 instance and start the v0.10 instance. IoTDB will automatically upgrade the data file format.

- How to upgrade from v0.8.x to v0.9.x?
- We recommend backing up data files, as well as write-ahead logs and `mlog` files in advance for rollback purposes.
- Download the latest version, extract it and modify the configuration file. Point all data directories to the backed up or original data directories used by v0.8.
- Stop the v0.8 instance and start the v0.9.x instance. IoTDB will automatically upgrade the data file format.


### All releases

Find all releases in the [Archive repository](https://archive.apache.org/dist/iotdb/).

### Verifying Hashes and Signatures

Along with our releases, we also provide sha512 hashes in `*.sha512` files and cryptographic signatures in `*.asc` files. The Apache Software Foundation has an extensive tutorial to [verify hashes and signatures](http://www.apache.org/info/verification.html)which you can follow by using any of these release-signing [KEYS](https://downloads.apache.org/iotdb/KEYS).


## About Version 1.0

**After we release version 1.0, how to upgrade from v0.13.x to v1.0.x?**
Expand Down Expand Up @@ -374,91 +491,3 @@ Query the data of root.sg.a, you can see that the string is unescaped:
+-----------------------------+---------+
```

## How to Upgrade

- How to upgrade a minor version (e.g., from v0.12.3 to v0.12.5)?

- versions which have the same major version are compatible.
- Just download and unzip the new version. Then modify the configuration files to keep consistent
with what you set in the old version.
- stop the old version instance, and start the new one.

- How to upgrade from v0.12.x to v0.13.x?

- The data format (i.e., TsFile data) of v0.12.x and v0.13.x are compatible, but the WAL file is
incompatible. So, you can follow the steps:
- **<span style="color:red"> Execute `SET SYSTEM TO READONLY` command in CLI. </span>**
- **<span style="color:red"> Stop writing new data.</span>**
- Execute `flush` command to close all TsFiles.
- We recommend to back up all data files before upgrading for rolling back.
- Just download, unzip v0.13.x.zip, and modify conf/iotdb-engine.properties, **<span style="color:red"> especially the unchangeable configurations like timestamp precision</span>**. Let all the
directories point to the data folder set in v0.12.x (or the backup folder). You can also modify
other settings if you want.
- Stop IoTDB v0.12.x instance, and then start v0.13.x.
- **<span style="color:red">After the steps above, please make sure the `iotdb_version` in `data/system/schema/system.properties` file is `0.13.x`.
If not, please change it to `0.13.x` manually.</span>**
- **NOTICE: V0.13 changes many settings in conf/iotdb-engine.properties, so do not use v0.12's
configuration file directly.**
- **In 0.13, the SQL syntax has been changed. The identifiers not enclosed in backquotes can only contain the following characters, otherwise they need to be enclosed in backquotes.**
- **\[0-9 a-z A-Z _ : @ # $ { }] (letters, digits, some special characters)**
- **\['\u2E80'..'\u9FFF'] (UNICODE Chinese characters)**
- **In 0.13, if the path node name in the `SELECT` clause consists of pure numbers, it needs to be enclosed in backquotes to distinguish it from the constant in the expression. For example, in the statement "select 123 + \`123\` from root.sg", the former 123 represents a constant, and the latter \`123\` will be spliced with root.sg, indicating the path root.sg.\`123\`.**

- How to upgrade from v0.11.x or v0.10.x to v0.12.x?

- Upgrading from v0.11 or v0.10 to v0.12 is similar as v0.9 to v0.10. The upgrade tool will rewrite the data files automatically.
- **<span style="color:red">Stop writing new data.</span>**
- Call `flush` command using sbin/start-cli.sh in original version to close all TsFiles.
- We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back.
- Just download, unzip v0.12.x.zip, and modify conf/iotdb-engine.proeprties to let all the
directories point to the folders set in previous version (or the backup folder).
You can also modify other settings if you want. Any other config changes in v0.11 should be moved to v0.12.
- Stop IoTDB v0.11 or v0.10 instance, and start v0.12.x, then the IoTDB will upgrade data file format automatically. It is ok to read and write data when the upgrading process works.
- After a log `All files upgraded successfully!` printed, the upgrading completes.
- **NOTICE 1: V0.12 changes many settings in conf/iotdb-engine.properties, so do not use previous
configuration file directly.**
- **NOTICE 2: V0.12 doesn't support upgrade from v0.9 or lower version, please upgrade to v0.10 first if needed.**
- **NOTICE 3: We don't recommend deleting data before the upgrading finished. The deletion will fail if you try to delete data in the database with upgrading files.**

- How to upgrade from v0.10.x to v0.11.x?

- The data format (i.e., TsFile data) of v0.10.x and v0.11 are compatible, but the WAL file is
incompatible. So, you can follow the steps:
- **<span style="color:red">Stop writing new data.</span>**
- Call `flush` command using `sbin/start-cli.sh` in v0.10.x to close all TsFiles.
- We recommend to backup the wal files and mlog.txt before upgrading for rolling back.
- Just download, unzip v0.11.x.zip, and modify conf/iotdb-engine.properties to let all the
directories point to the data folder set in v0.10.x (or the backup folder). You can also modify
other settings if you want.
- Stop IoTDB v0.10.x instance, and start v0.11.x, then the IoTDB will upgrade data file format
automatically.
- **NOTICE: V0.11 changes many settings in conf/iotdb-engine.properties, so do not use v0.10's
configuration file directly.**

- How to upgrade from v0.9.x to v0.10.x?

- Upgrading from v0.9 to v0.10 is more complex than v0.8 to v0.9.
- **<span style="color:red">Stop writing new data.</span>**
- Call `flush` command using sbin/start-client.sh in v0.9 to close all TsFiles.
- We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back.
- Just download, unzip v0.10.x.zip, and modify conf/iotdb-engine.proeprties to let all the
directories point to the folders set in v0.9.x (or the backup folder).
You can also modify other settings if you want.
- Stop IoTDB v0.9 instance, and start v0.10.x, then the IoTDB will upgrade data file format automatically.

- How to upgrade from 0.8.x to v0.9.x?
- We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back.
- Just download, unzip v0.9.x.zip, and modify conf/iotdb-engine.properties to let all the
directories point to the folders set in v0.8.x (or the backup folder).
You can also modify other settings if you want.
- Stop IoTDB v0.8 instance, and start v0.9.x, then the IoTDB will upgrade data file format automatically.


# All releases

Find all releases in the [Archive repository](https://archive.apache.org/dist/iotdb/).

# Verifying Hashes and Signatures

Along with our releases, we also provide sha512 hashes in `*.sha512` files and cryptographic signatures in `*.asc` files. The Apache Software Foundation has an extensive tutorial to [verify hashes and signatures](http://www.apache.org/info/verification.html)which you can follow by using any of these release-signing [KEYS](https://downloads.apache.org/iotdb/KEYS).
Loading
Loading