---
title: "Special upgrade to Database 5.0.0"
description: "Guide for upgrading Aerospike Database to 5.0.0, covering required versions, XDR changes, and obsolete parameters."
---

# Special upgrade to Database 5.0.0

> For the complete documentation index see: [llms.txt](https://aerospike.com/docs/llms.txt)
> 
> All documentation pages available in markdown.

This page describes the major improvements and changes in Aerospike Database 5.0.0.

## Database 4.9.0 is required

Before upgrading to Aerospike Database 5.0.0, you must first upgrade to Database 4.9.0, which is a required step-version upgrade that makes important changes in preparation for upgrading to 5.0.0.

For more information about version 4.9.0, see the [Release Notes](https://aerospike.com/docs/archived/aerospike-release-notes.html#4.9.0.37).

## Cross-Datacenter Replication (XDR) improvements

The XDR feature has been redesigned for improvements in speed and simplicity.

See the following for complete details on XDR for version 5.0.0:

-   [XDR Architecture](https://aerospike.com/docs/database/8.1.2/learn/architecture/xdr)
-   [Configure XDR](https://aerospike.com/docs/database/8.1.2/manage/xdr/dynamic-xdr)

### Change in XDR configuration

An important syntactical change in the XDR configuration in version 5.0.0 is that the `xdr` section is now simpler and more logical, with parameters in a hierarchy that is clearer than before.

The basic XDR configurations for versions prior to 5.0.0 and for version 5.0.0 are compared below. Only the basic structure is described, without any optional parameters.

-   `enable-xdr` is not needed.
-   XDR no longer relies on a digest log.
-   IP address and port can be followed by an optional variable reference of a TLS certificate, instead of the `tls-node` parameter.
-   `namespace` is nested under `dc`, instead of referring to the main `namespace` section that used to include the XDR-related configuration.

XDR configuration structure prior to version 5.0.0

```text
xdr {

  enable-xdr true

   xdr-digestlog-path /opt/aerospike/xdr/digestlog 100G

   datacenter DC1 {

      dc-node-address-port xx.xx.xx.xx 3000

      tls-node yy.yy.yy.yy tlsname.remote.domain 3010

   }

}

namespace test {

   enable-xdr true

   xdr-remote-datacenter DC1

     ...

}
```

XDR configuration structure in version 5.0.0

```text
xdr {

   dc dataCenter1 {

    node-address-port someIpAdress1 somePort1 someTlsNameDefinition1

    namespace someNamespace {

       ...

    }

  }

 ...

}
```

### Changes in XDR configuration parameters and metrics

For the list of changes, refer to the [parameters and metrics](https://aerospike.com/docs/database/8.1.2/manage/xdr/parameters) page.

## Configuration parameters that must be removed

As of Aerospike Database 5.0.0, the following configuration parameters must be removed from the configuration file.

::: caution
Aerospike Database 5.0.0 will not start if any of the following configuration parameters remain in the configuration file.
:::

Service:

-   `auto-dun`
-   `auto-undun`
-   `batch-priority`
-   `batch-retransmit`
-   `batch-threads`
-   `clib-library`
-   `defrag-queue-escape`
-   `defrag-queue-hwm`
-   `defrag-queue-lwm`
-   `defrag-queue-priority`
-   `dump-message-above-size`
-   `enable-benchmarks-svc`
-   `fabric-workers`
-   `fb-health-bad-pct`
-   `fb-health-good-pct`
-   `fb-health-msg-per-burst`
-   `fb-health-msg-timeout`
-   `generation-disable`
-   `max-msgs-per-type`
-   `migrate-read-priority`
-   `migrate-read-sleep`
-   `migrate-rx-lifetime-ms`
-   `migrate-xmit-hwm`
-   `migrate-xmit-lwm`
-   `migrate-priority`
-   `migrate-xmit-priority`
-   `migrate-xmit-sleep`
-   `nsup-auto-hwm`
-   `nsup-auto-hwm-pct`
-   `nsup-delete-sleep`
-   `nsup-max-deletes`
-   `nsup-queue-escape`
-   `nsup-queue-hwm`
-   `nsup-queue-lwm`
-   `nsup-reduce-priority`
-   `nsup-reduce-sleep`
-   `nsup-startup-evict`
-   `nsup-threads`
-   `paxos-max-cluster-size`
-   `paxos-protocol`
-   `paxos-recovery-policy`
-   `paxos-retransmit-period`
-   `prole-extra-ttl`
-   `replication-fire-and-forget`
-   `scan-max-active`
-   `scan-memory`
-   `scan-priority`
-   `scan-retransmit`
-   `scheduler-priority`
-   `scheduler-type`
-   `transaction-duplicate-threads`
-   `trial-account-key`
-   `udf-runtime-max-gmemory`
-   `udf-runtime-max-memory`
-   `use-queue-per-device`
-   `write-duplicate-resolution-disable`

Network service:

-   `reuse-address`

Network info:

-   `enable-fastpath`

Namespace:

-   `limit-size`
-   `allow-versions`
-   `cold-start-evict-ttl`
-   `demo-read-multiplier`
-   `demo-write-multiplier`
-   `high-water-pct`
-   `low-water-pct`
-   `max-ttl`
-   `obj-size-hist-max`
-   `partition-tree-locks`
-   `si`

Storage:

-   `ssd`
-   `memory-all`
-   `defrag-max-blocks`
-   `defrag-period`
-   `enable-osync`
-   `load-at-startup`
-   `persist`
-   `readonly`
-   `signature`
-   `write-smoothing-period`
-   `write-threads`

Set:

-   `set-evict-hwm-count`
-   `set-evict-hwm-pct`
-   `set-stop-write-count`
-   `set-stop-write-pct`

Sindex:

-   `si-gc-period`
-   `si-gc-max-units`
-   `si-histogram`
-   `si-ignore-not-sync`

Lua:

-   `system-path`