ack: Status from Server

The ack message returns status information from AMPS.

AMPS does not create ack messages unless an acknowledgment is specifically requested. The exact meaning and content of ack messages depends on the command the requests the message.

AMPS supports the following types of ack messages with the general semantics described below:

ack Type

Meaning

completed

An operation has completed.

For example, subscriptions that replay from the transaction log can produce a completed acknowledgment to indicate when transaction log replay has finished and further messages for the subscription are the result of new publishes.

persisted

Data has been persisted.

processed

AMPS has processed the command.

Notice that, depending on the command, AMPS may not have executed the command when this acknowledgment is produced.

received

AMPS has received the command, but has not yet processed it.

stats

Statistics for the command.

This acknowledgment is typically produced after the command has fully completed.

Header Fields

The following table contains the header fields returned in an ack message:

Field

Description

Command

Type of message. Always ack, as encoded by the protocol.

AckType

The type of acknowledgment. One of completed, persisted, processed, received or stats.

CommandId

The CommandId that this ack refers to. Clients can use this field to correlate the ack returned with the command being acknowledged. This field will not be returned for acknowledgements that are conflated (persisted acknowledgements for publish commands when AMPS has a transaction log configured).

Status

The status of the command.

Reason

The reason for a failure status.

logon Acknowledgement: Additional Fields

When the ack message is produced in response to a logon command, the following additional header fields may be set:

Field

Description

ClientName

The name of the client provided with the command.

SequenceId

The last SequenceId persisted to the transaction log for this client, as identified by the ClientName.

Bookmark

The last bookmark from this client.

UserId

UserId to use when the status is retry.

Password

Password to use when the status is retry.

Version

The version of the AMPS server.

publish / delta_publish: Additional Fields

When the ack message is produced in response to a publish or delta_publish command, the following additional header fields may be set:

Field

Description

SequenceId

The last SequenceId persisted for this client.

Bookmark

The last Bookmark persisted for this client.

delta_subscribe: Additional Fields

When the ack message is produced in response to a subscribe or delta_subscribe command, the following additional header fields may be set:

Field

Description

SubId

The SubId sent with the command, or the SubId generated by AMPS if no SubId was provided.

This field is not returned in processed acks.

Options

Returned when the command is a subscribe to a queue.

Contains the following options:

max_backlog - Indicates the effective maximum backlog that the server has assigned for this subscription.

Bookmark

For a completed acknowledgement on a bookmark subscription, this indicates the point in the transaction log where the acknowledgement message was generated.

Notice that the message that corresponds to this bookmark need not be a message matched by the subscription.

unsubscribe: Additional Fields

When the ack message is produced in response to an unsubscribe, AMPS does not provide additional header fields.

sow / sow_and_subscribe / sow_and_delta_subscribe: Additional Fields

When the ack message is produced in response to a sow, sow_and_subscribe, or sow_and_delta_subscribe, the following additional header fields may be set:

Field

Description

SubId

The SubId sent with the sow command.

QueryId

The QueryId sent with the sow command.

RecordsReturned

The number of records returned by a SOW query.

This header field is present on stats acknowledgments.

TopicMatches

The total number of records compared across all matching SOW topics.

This header field is present on stats acknowledgments.

Matches

The number of records that match the topic regular expression and content filter.

This header field is present on stats acknowledgments.

sow_delete: Additional Fields

When the ack message is produced in response to a sow_delete the following additional header fields may be set:

Field

Description

QueryId

The QueryId sent with the sow_delete command.

RecordsDeleted

The number of records deleted by the command.

This header field is present on stats acknowledgments.

TopicMatches

The total number of records compared across all matching SOW topics.

This header field is present on stats acknowledgments.

Matches

The number of records that match the topic regular expression and content filter.

This header field is present on stats acknowledgments.

Last updated

Copyright 2013-2024 60East Technologies, Inc.