QPIDD(1)

πŸ“¦ version 1.39.0, in nixos 26.05, nixpkgs unstable

🌸 NAME 🌸

okay bestie, welcome to qpidd(1) β€” the manual page for qpidd, aka the Qpid AMQP Message Broker Daemon. She stores, routes, and forwards messages, and honestly? main character energy. πŸ’…

✨ SYNOPSIS ✨

qpidd [OPTIONS]

πŸ¦‹ DESCRIPTION πŸ¦‹

qpidd is an AMQP message broker daemon. It stores, routes, and forwards messages using the Advanced Message Queueing Protocol (AMQP). It’s giving β€œbackbone of your messaging setup” realness, fr fr.

πŸŽ€ OPTIONS πŸŽ€

okay so these options are built-in to qpidd. If you install add-on modules, you get extra options on top. Wanna see the full set? Type qpidd --help.

Options can come from the command line, an environment variable, or a configuration file. Check FILES and ENVIRONMENT below for the details, iykyk.

  • -h, --help β€” displays the help message.
  • -v, --version β€” displays version information.
  • --config FILE β€” (default: /etc/qpid/qpidd.conf) reads configuration from FILE.
  • --client-config FILE β€” (default: /etc/qpid/qpidc.conf) reads client configuration from FILE, for cluster interconnect.

🧩 Module options

  • --module-dir DIR β€” (default: /usr/lib64/qpid/daemon) loads all shareable modules in this directory.
  • --load-module FILE β€” specifies additional module(s) to be loaded.
  • --no-module-dir β€” don’t load modules from the module directory.

πŸ”₯ Broker Options

  • --data-dir DIR β€” (default: $HOME/.qpidd) directory to contain persistent data generated by the broker.
  • --no-data-dir β€” don’t use a data directory. No persistent configuration will be loaded or stored.
  • --paging-dir DIR β€” directory in which paging files will be created for paged queues.
  • -p, --port PORT β€” (default: 5672) tells the broker to listen on PORT.
  • --interface <interface name>|<interface address> β€” which network interfaces to use to listen for incoming connections.
  • --listen-disable <transport name> β€” transports to disable listening.
  • --protocols <protocol name+version> β€” which protocol versions to allow.
  • --worker-threads N β€” (default: 9) sets the broker thread pool size.
  • --connection-backlog N β€” (default: 10) sets the connection backlog limit for the server socket.
  • -m, --mgmt-enable yes|no β€” (default: 1) enable Management.
  • --mgmt-publish yes|no β€” (default: 1) enable Publish of Management Data (no implies query-only).
  • --mgmt-qmf2 yes|no β€” (default: 1) enable broadcast of management information over QMF v2.
  • --mgmt-qmf1 yes|no β€” (default: 0) enable broadcast of management information over QMF v1.
  • --mgmt-pub-interval SECONDS β€” (default: 10s) Management Publish Interval.
  • --queue-purge-interval SECONDS β€” (default: 600s) interval between attempts to purge any expired messages from queues.
  • --auth yes|no β€” (default: 1) enable authentication. If disabled, all incoming connections will be trusted. πŸ‘€
  • --realm REALM β€” (default: QPID) use the given realm when performing authentication.
  • --sasl-service-name NAME β€” the service name to specify for SASL.
  • --default-queue-limit BYTES β€” (default: 104857600) default maximum size for queues, in bytes.
  • --tcp-nodelay β€” set TCP_NODELAY on TCP connections.
  • --require-encryption β€” only accept connections that are encrypted.
  • --known-hosts-url URL or 'none' β€” (default: none) URL to send as known-hosts to clients (none implies empty list).
  • --sasl-config DIR β€” allows SASL config path, if supported by platform, to be overridden. For the default location on Linux, see Cyrus SASL documentation. There is no SASL config dir on Windows.
  • --default-flow-stop-threshold PERCENT β€” (default: 80) percent of queue’s maximum capacity at which flow control is activated.
  • --default-flow-resume-threshold PERCENT β€” (default: 70) percent of queue’s maximum capacity at which flow control is de-activated.
  • --default-event-threshold-ratio %age of limit β€” (default: 80) the ratio of any specified queue limit at which an event will be raised.
  • --default-message-group GROUP-IDENTIFER β€” (default: qpid.no-group) group identifier to assign to messages delivered to a message group queue that do not contain an identifier.
  • --enable-timestamp yes|no β€” (default: 0) add current time to each received message.
  • --link-maintenance-interval SECONDS β€” (default: 2s) interval to check federation link health and re-connect if need be.
  • --link-heartbeat-interval SECONDS β€” (default: 120s) heartbeat interval for a federation link.
  • --dtx-default-timeout SECONDS β€” (default: 60) default timeout for DTX transaction before aborting it.
  • --dtx-max-timeout SECONDS β€” (default: 3600) maximum allowed timeout for DTX transaction. A value of zero disables maximum timeout limit checks and allows arbitrarily large timeout settings.
  • --max-negotiate-time MILLISECONDS β€” (default: 10000) maximum time a connection can take to send the initial protocol negotiation.
  • --federation-tag NAME β€” override the federation tag.
  • --session-max-unacked DELIVERIES β€” (default: 5000) maximum number of un-acknowledged outgoing messages per session.

πŸ“ Logging options

  • -t, --trace β€” enables all logging.
  • --log-enable RULE β€” (default: notice+) enables logging for selected levels and components. RULE is in the form LEVEL[+-][:PATTERN]. LEVEL is one of: trace, debug, info, notice, warning, error, critical. PATTERN is a logging category name, or a namespace-qualified function name, or a name fragment. Logging category names: Security, Broker, Management, Protocol, System, HA, Messaging, Store, Network, Test, Client, Application, Model, Unspecified. For example: --log-enable warning+ logs all warning, error and critical messages. --log-enable trace+:Broker logs all category Broker messages. --log-enable debug:framing logs debug messages from all functions with framing in the namespace or function name. This option can be used multiple times.
  • --log-disable RULE β€” disables logging for selected levels and components. RULE is in the form LEVEL[+-][:PATTERN]. LEVEL is one of: trace, debug, info, notice, warning, error, critical. PATTERN is a logging category name, or a namespace-qualified function name, or a name fragment. Logging category names: Security, Broker, Management, Protocol, System, HA, Messaging, Store, Network, Test, Client, Application, Model, Unspecified. For example: --log-disable warning- disables logging all warning, notice, info, debug, and trace messages. --log-disable trace:Broker disables all category Broker trace messages. --log-disable debug-:qmf:: disables logging debug and trace messages from all functions with qmf:: in the namespace. This option can be used multiple times.
  • --log-time yes|no β€” (default: 1) include time in log messages.
  • --log-level yes|no β€” (default: 1) include severity level in log messages.
  • --log-source yes|no β€” (default: 0) include source file:line in log messages.
  • --log-thread yes|no β€” (default: 0) include thread ID in log messages.
  • --log-function yes|no β€” (default: 0) include function signature in log messages.
  • --log-hires-timestamp yes|no β€” (default: 0) use hi-resolution timestamps in log messages.
  • --log-category yes|no β€” (default: 1) include category in log messages.
  • --log-prefix STRING β€” prefix to prepend to all log messages.

🧚 Logging sink options

  • --log-to-stderr yes|no β€” (default: 1) send logging output to stderr.
  • --log-to-stdout yes|no β€” (default: 0) send logging output to stdout.
  • --log-to-file FILE β€” send log output to FILE.
  • --log-to-syslog yes|no β€” (default: 0) send logging output to syslog; customize using --syslog-name and --syslog-facility.
  • --syslog-name NAME β€” (default: qpidd) name to use in syslog messages.
  • --syslog-facility LOG_XXX β€” (default: LOG_DAEMON) facility to use in syslog messages.

πŸ‘‘ Daemon options

  • -d, --daemon β€” run as a daemon. Logs to syslog by default in this mode.
  • --transport TRANSPORT β€” (default: tcp) the transport for which to return the port.
  • --pid-dir DIR β€” (default: $HOME/.qpidd) directory where port-specific PID file is stored.
  • --pidfile FILE β€” file name to store the PID in daemon mode. Used as-is, no directory or suffixes added.
  • --close-fd FD β€” file descriptors that the daemon should close.
  • -w, --wait SECONDS β€” (default: 600) sets the maximum wait time to initialize or shutdown the daemon. If the daemon fails to initialize/shutdown, prints an error and returns 1.
  • -c, --check β€” prints the daemon’s process ID to stdout and returns 0 if the daemon is running, otherwise returns 1.
  • -q, --quit β€” tells the daemon to shut down with an INT signal.
  • -k, --kill β€” kill the daemon with a KILL signal.
  • --socket-fd FD β€” file descriptor for tcp listening socket.

πŸ”’ ACL Options

  • --acl-file FILE β€” the policy file to load from, loaded from data dir.
  • --connection-limit-per-user N β€” (default: 0) the maximum number of connections allowed per user. 0 implies no limit.
  • --max-connections N β€” (default: 500) the maximum combined number of connections allowed. 0 implies no limit.
  • --connection-limit-per-ip N β€” (default: 0) the maximum number of connections allowed per host IP address. 0 implies no limit.
  • --max-queues-per-user N β€” (default: 0) the maximum number of queues allowed per user. 0 implies no limit.

🌈 SSL Settings

  • --ssl-use-export-policy β€” use NSS export policy.
  • --ssl-cert-password-file PATH β€” file containing password to use for accessing certificate database.
  • --ssl-cert-db PATH β€” path to directory containing certificate database.
  • --ssl-cert-name NAME β€” (default: localhost.localdomain) name of the certificate to use.
  • --ssl-port PORT β€” (default: 5671) port on which to listen for SSL connections.
  • --ssl-require-client-authentication β€” forces clients to authenticate in order to establish an SSL connection.
  • --ssl-sasl-no-dict β€” disables SASL mechanisms that are vulnerable to passive dictionary-based password attacks.

πŸ¦„ AMQP 1.0 Options

  • --domain DOMAIN β€” domain of this broker.
  • --queue-patterns PATTERN β€” pattern for on-demand queues.
  • --topic-patterns PATTERN β€” pattern for on-demand topics.

πŸ’œ HA Options

  • --ha-cluster yes|no β€” (default: 0) join a HA active/passive cluster.
  • --ha-queue-replication yes|no β€” (default: 0) enable replication of specific queues without joining a cluster.
  • --ha-brokers-url URL β€” URL with address of each broker in the cluster.
  • --ha-public-url URL β€” URL advertized to clients to connect to the cluster.
  • --ha-replicate LEVEL (default: none) β€” sets the replication level used when creating queues and exchanges, but only if nobody handed in a qpid.replicate argument. LEVEL is one of 'none', 'configuration' or 'all' ✨
  • --ha-username USER β€” the username for connections between HA brokers 🫢
  • --ha-password PASS β€” the password for those same broker-to-broker HA connections πŸ”
  • --ha-mechanism MECH β€” the authentication mechanism for connections between HA brokers, bestie πŸŽ€
  • --ha-backup-timeout SECONDS (default: 10s) β€” the absolute maximum time to sit there waiting for an expected backup to connect and become ready. like, the patience limit ⏳
  • --ha-flow-messages N (default: 1000) β€” flow control message count limit for replication. 0 means no limit at all, go feral πŸ’€
  • --ha-flow-bytes N (default: 0) β€” flow control byte limit for replication. 0 means no limit πŸ¦‹

🌸 Linear Store Options 🌸

okay this whole little cluster is about the linear store, and every one of these details matters so stay with me πŸ’…

  • --store-dir DIR β€” where the store directory lives for persistence, used instead of the --data-dir value. Required if --no-data-dir is also used β€” no cap, it's mandatory in that case πŸ“
  • --truncate yes|no (default: 0) β€” if it's yes|true|1, it truncates the store, which means it discards any existing records 😭. If it's no|false|0, it preserves the existing store files for recovery. choose wisely bestie 🫢
  • --wcache-page-size N (default: 16) β€” the size of the pages in the write page cache, measured in KiB. Allowable values are powers of 2 starting at 4 (4, 8, 16, 32...). Lower values decrease latency at the expense of throughput β€” so like, snappier but less volume ⚑
  • --wcache-num-pages N (default: 16) β€” how many pages are in the write page cache. Minimum value: 4 πŸ”’
  • --tpl-wcache-page-size N (default: 4) β€” size of the pages in the transaction prepared list write page cache, in KiB. Allowable values: powers of 2 starting at 4 (4, 8, 16, 32...). Lower values decrease latency at the expense of throughput, same deal 🌈
  • --tpl-wcache-num-pages N (default: 16) β€” number of pages in the transaction prepared list write page cache. Minimum value: 4 ✨
  • --efp-partition N (default: 1) β€” the Empty File Pool partition to use when it's out here finding empty journal files πŸ—‚οΈ
  • --efp-file-size N (default: 2048) β€” the Empty File Pool file size in KiB to use for journal files. Must be a multiple of 4 KiB β€” non-negotiable πŸ’…
  • --overwrite-before-return yes|no (default: 0) β€” if yes|true|1, it overwrites each store file with zeros before returning it to the Empty File Pool. When it's not in use (which is the default), old message data stays in the file, but gets overwritten on next use. 🚨 This option should only be used where security considerations justify it, because it makes the store somewhat slower. so: secure but sluggish, pick your fighter βš–οΈ
  • --journal-flush-timeout SECONDS (default: 500ms) β€” maximum time to wait to flush the journal. For small time values use the ms and us units (like 10ms) β€” no space between the value and the unit, periodt πŸ•

πŸ’œ Store Options πŸ’œ

  • --storage-provider PROVIDER β€” the name of the storage provider to use. that's it, that's the whole vibe πŸŽ€

🌈 ENVIRONMENT 🌈

  • QPID_<option> β€” bestie, there is an environment variable for each option. every single one πŸ‘‘

The environment variable is the option name in uppercase, prefixed with QPID_, and any . or - gets replaced with _. Environment settings get over-ridden by command line settings (command line is the main character here). For example:

export QPID_PORT=6000
export QPID_MAX_CONNECTIONS=10
export QPID_LOG_TO_FILE=/tmp/qpidd.log

πŸ¦‹ FILES πŸ¦‹

  • /etc/qpidd.conf β€” the default configuration file πŸ“„

Configuration file settings get over-ridden by command line or environment variable settings. And you can point at a different file with --config <file> or export QPID_CONFIG=<file> ✨

Each line is a name=value pair. Blank lines and lines beginning with # are ignored. For example:

# My qpidd configuration file.
port=6000
max-connections=10
log-to-file=/tmp/qpidd.log

πŸ‘‘ AUTHOR πŸ‘‘

The Apache Qpid Project, dev@qpid.apache.org πŸ’–


🩷 REPORTING BUGS 🩷

Please report bugs to users@qpid.apache.org β€” they genuinely wanna hear it, fr fr πŸ™ˆ


and that's the whole page, bestie!! this one's qpidd from qpid-cpp, version 1.39.0, dated 2018, and it's QPIDD(1) β€” go forth and slay your message broker πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from