3. Upgrading your QuasarDB installation

3.1. From 3.7 to 3.8

3.1.2. Licenses

  • send 

    The license format is unchanged.

3.1.3. Client and daemon

QuasarDB is now built to target Haswell architectures. It was previously built with a Westemere architecture as a target. If your CPU architecture is older than Haswell, you need to use the Core2 build. Failure to do so may results in “illegal instruction” fatal error.

This applies to client and server binaries.

3.1.4. Persistence

  • send 

    Due to a RocksDB upgrade, new database will use a new index format that cannot be read by previous QuasarDB versions.

  • send 

    A 3.8 node can load the data stored by a 3.7 node.

  • send 

    A 3.7 node cannot load the data stored by a 3.8 node.

3.1.5. Network

  • send 

    A 3.7 client cannot connect to a 3.8 cluster.

  • send 

    A 3.8 client cannot connect to a 3.7 cluster.

3.2. From 3.6 to 3.7

3.2.1. Recommended procedure

  • send 

    Backup your data

  • send 

    Shutdown all nodes in your cluster

  • send 

    Upgrade each node fom 3.6 to 3.7

  • send 

    Restart the cluster

  • send 

    Ensure each node loads up correctly and that the log displays no error

  • send 

    Upgrade clients from 3.6 to 3.7

3.2.2. Client code

By default, the API will not longer auto retry and wait for stabilization or network to become available. This means, that you may get more network timeouts and cluster stabilization errors than before.

To get the old client behavior back, you need to call `qdb_option_set_stabilization_max_wait` (or equivalent in your API) on every handle with a value equivalent to 6 minutes (360,000 ms).

This is a client-only change, the server configuration is not impacted and does not need to be modified.

3.2.3. Licenses

  • send 

    The license format is unchanged.

3.2.4. Persistence

  • send 

    Blobs and strings format has changed on disk. Only new data will be written in the new format.

  • send 

    A 3.7 node can load the data stored by a 3.6 node.

  • send 

    A 3.6 node cannot load the data stored by a 3.7 node.

3.2.5. Network

  • send 

    A 3.6 client cannot connect to a 3.7 cluster.

  • send 

    A 3.7 client cannot connect to a 3.6 cluster.

3.3. From 3.5 to 3.6

3.3.1. Recommended procedure

  • send 

    Backup your data

  • send 

    Shutdown all nodes in your cluster

  • send 

    Upgrade each node fom 3.5 to 3.6

  • send 

    Restart the cluster

  • send 

    Ensure each node loads up correctly and that the log displays no error

  • send 

    Upgrade clients from 3.5 to 3.6

3.3.2. Configuration

  • send 
    The following default values have changed
    • Client timeout has been increased from 1 minute to 5 minutes

    • Client stabilization wait interval has been increased from 5 minutes to 6 minutes

    • Client transaction retry period has been increased from 1 minute to 6 minutes

    • Server client timeout has been increased from 1 minute to 5 minutes

    • Server idle timeount has been increased from 10 minutes to 15 minutes

3.3.3. Licenses

  • send 

    The license format is unchanged.

3.3.4. Persistence

  • send 

    A 3.6 node can load the data stored by a 3.5 node.

  • send 

    A 3.5 node cannot load the data stored by a 3.6 node.

3.3.5. Network

  • send 

    A 3.5 client cannot connect to a 3.6 cluster.

  • send 

    A 3.6 client cannot connect to a 3.5 cluster.