MarkLogic 10 and Data Hub 5.0

Latest MarkLogic releases provide a smarter, simpler, and more secure way to integrate data.

Read Blog →


Stay On Top Of Everything MarkLogic

Be the first to know! News, product information, and events delivered straight to your inbox.

Sign Me Up →

What is XDMP-XDQPVER, and what should be done about it?
26 May 2015 01:46 PM


XDQP is a MarkLogic internal protocol used for communication between nodes in a cluster. This protocol version must be the same on all hosts of the cluster, and XDMP-XDQPVER message is logged if the versions are not the same.

Example message text seen in the MarkLogic ErrorLog.txt file :

Warning: XDQPServerConnection::init( XDMP-XDQPVER: XDQP version mismatch:,8000200,7000500

XDMP-XDQPVER is a'warning' level message, which indicates that two hosts involved in communication are running incompatible versions of MarkLogic server

XDQP protocol versions generally change between major versions of MarkLogic, but they can sometimes change between maintenance releases as well. Rolling upgrade is not currently supported (7.0-5 and 8.0-2 at the time of writing) in MarkLogic, and all the hosts should have the same version of the server running.


 XDMP-XDQPVER message may be logged in two upgrade scenarios:

1) Version mismatch between hosts in a cluster

When upgrading a cluster, if all the hosts in the cluster are not upgraded to the same server version, then the hosts report this message. Even though it is logged as a 'warning' level message in the server logs, sometimes the admin UI of a host that is running a different server version may not be accessed and displays an error screen with the message:

           500: Internal Server Error XDMP-XDQPVER: status-check() -- XDQP version mismatch:,7000500,8000200

A cluster in this state (mixed server version) is not tested and not supported. The behavior of a mixed version cluster is not defined and could lead to inconsistent data.

The only way to get out of this error situation is to make sure the host runs the same ML server version as the rest of the hosts in the cluster by upgrading.

2) Version mismatch between clusters with DB replication configured

When two clusters are coupled and database replication is configured between them, the XDQP protocol version must be the same on all hosts in all of the clusters being replicated. If the XDQP version is different, database replication will pause until the clusters are both upgraded to the same version.

The upgrade process is straightforward if Security database is not being replicated.

However, if the security database is replicated, it is important to follow the documented procedure for upgrade, as listed below:

  1. Upgrade the Master cluster and run the upgrade scripts. This will update the Master's Security database to indicate that it is current. It will also do any necessary configuration upgrades.
  2. Upgrade the Replica cluster.
  3. The Replica's security database will receive the update from the Master's Security database, so the upgrade code won't trigger(i.e. it thinks the upgrade has already happened.) You still need to upgrade the config files, so you must manually access the upgrade script and force it to run:        http://security-host/security-upgrade-go.xqy?force=true

The above listed steps are documented here.

Links to other related documentation:

Knowledgebase article on Upgrade procedures

Knowledgebase article on MarkLogic Cluster requirements

Knowledgebase article on partial or incomplete upgrade

Knowledgebase article on Downgrades in ML

(0 vote(s))
Not helpful

Comments (0)