Zaqar/specs/api/v1/marconi-config
Marconi API Limits
Config Options & Default Values:
The following limits can be changed in marconi.conf, under the [limits:transport] section.
- queue_paging_uplimit – 20
- message_paging_uplimit – 20
- message_ttl_max – 1209600 (seconds, 14 days)
- claim_ttl_max – 43200 (seconds, 12 hours)
- claim_grace_max – 43200 (seconds, 12 hours)
- metadata_size_uplimit – 65536 (bytes, 64 KiB)
- message_size_uplimit – 262144 (bytes, 256 KiB)
Description
queue_paging_uplimit
This variable controls:
- The max integral value of the URI parameter
limita client can use in a Marconi/specs/api/v1#List Queues request URI, thus, the maximum number of queues a client can list one time. The default value is 20, which means, a request like the following:
GET /v1/queues?limit=30
will result in a 400 Bad Request response.
message_paging_uplimit
This variable controls the following API limits:
- The maximum items a client can put in a Marconi/specs/api/v1#Post Message(s) request's JSON array, thus, the maximum number of messages a client can post one time. The default value is 20, which means, a request like the following:
POST /v1/queues/noein/messages HTTP/1.1
Host: marconi.example.com
...
[
{ "ttl": 300, "body": "msg1" },
{ "ttl": 300, "body": "msg2" },
...
{ "ttl": 300, "body": "msg21" }
]
will result in a 400 Bad Request response without any message to be posted.
- The max integral value of the URI parameter
limitin a Marconi/specs/api/v1#List Messages request URI, thus, the maximum number of messages a client can list one time. The default value is 20, which means, a request like the following:
GET /v1/queues/noein/messages?limit=21
will result in a 400 Bad Request response.
- The max integral value of the URI parameter
limitin a Marconi/specs/api/v1#Claim Messages request URI, thus, the maximum number of messages a client can claim one time. The default value is 20, which means, a request like the following:
POST /v1/queues/noein/claims?limit=22 Content-Type: application/json ...
will result in a 400 Bad Request response.
- The maximum number of message IDs allowed for the URI parameter
idsin a Marconi/specs/api/v1#Get a Set of Messages by ID request URI, thus, the maximum number of messages a client can fetch one time in a bulk getting. Note that although this is not a paging API, the URI is usually returned in a message posting's "Location" header. The default value is 20, which means, a request like the following:
GET /v1/queues/{queue_name}/messages?ids=msg1,msg2,...,msg21
will result in a 400 Bad Request response.
- The maximum number of message IDs allowed for the URI parameter
idsin a Marconi/specs/api/v1#Delete a Set of Messages by ID request URI, thus, the maximum number of messages a client can delete one time in a bulk deletion. Note that although this is not a paging API, the URI is usually returned in a message posting's "Location" header. The default value is 20, which means, a request like the following:
DELETE /v1/queues/{queue_name}/messages?ids=msg1,msg2,...,msg21
will result in a 400 Bad Request response.
message_ttl_max
This variable controls:
- The maximum integral value of the
ttlfields allowed for each message in a Marconi/specs/api/v1#Post Message(s) request, thus, the longest time (in seconds) a message can possibly live without being claimed. Note that the minimum TTL is 60s. The default maximum is 1209600s, 14 days. Which means, a request like the following:
POST /v1/queues/noein/messages HTTP/1.1
Host: marconi.example.com
...
[
{ "ttl": 300, "body": "msg1" },
{ "ttl": 1300000, "body": "msg2" },
...
{ "ttl": 300, "body": "msg10" }
]
will result in a 400 Bad Request response without any message to be posted.
claim_ttl_max
This variable controls the following API limits:
- The maximum integral value of the
ttlfields allowed in a Marconi/specs/api/v1#Claim Messages request, thus, the longest time (in seconds) a claim can possibly live. Note that the minimum TTL is 60s. The default maximum is 43200s, 12 hours. A request like the following:
POST /v1/queues/noein/claims
Content-Type: application/json
...
{ "ttl": 50, "grace": 60 }
will result in a 400 Bad Request response.
- The maximum integral value of the
ttlfields allowed in a Marconi/specs/api/v1#Update Claim request, thus, the new longest time (in seconds) a claim can possibly have. Note that the minimum TTL is 60s. The default maximum is 43200s, 12 hours. A request like the following:
PATCH /v1/queues/noein/claims
Content-Type: application/json
...
{ "ttl": 50000 }
will result in a 400 Bad Request response.
claim_grace_max
This variable controls:
- The maximum integral value of the
gracefields allowed in a Marconi/specs/api/v1#Claim Messages request, thus, the extra time (in seconds) a claim may add to its claimed message. Note that the minimum grace period is 60s. The default maximum is 43200s, 12 hours. A request like the following:
POST /v1/queues/noein/claims
Content-Type: application/json
...
{ "ttl": 60, "grace": 44000 }
will result in a 400 Bad Request response.
metadata_size_uplimit
This variable controls:
- The maximum size (in bytes) a JSON dict allowed in a Marconi/specs/api/v1#Set Queue Metadata request, thus, the max size of a queue metadata. Note that the Marconi's understanding of "size of JSON" is the size of the compact representation of a JSON (UTF-8 encoded, without extra whitespaces). The default maximum is 64KiB. A request like the following:
PUT /v1/queues/noein/metadata HTTP/1.1
Host: marconi.example.com
...
{
"key1" : { ... },
"key2" : ...
}
where a JSON in the form of {"key1":{...},"key2":...} is longer than 64KiB, will result in a 400 Bad Request response.
message_size_uplimit
This variable controls:
- The maximum size (in bytes) of the value allowed in each
bodyfield in a Marconi/specs/api/v1#Post Message(s) request, thus, the max size of a message content. Note that the Marconi's understanding of "size of JSON" is the size of the compact representation of a JSON (UTF-8 encoded, without extra whitespaces). The default maximum is 256KiB. A request like the following:
POST /v1/queues/noein/messages HTTP/1.1
Host: marconi.example.com
...
[
{ "ttl": 60, "body": "msg1" },
{ "ttl": 60, "body": [...] },
...
{ "ttl": 60, "body": "msg10" }
]
where the second entry has a JSON value of the body key, and the JSON is longer than 256KiB, will result in a 400 Bad Request response without any message to be posted.