View Issue Details

IDProjectCategoryView StatusLast Update
000426910000-014: PubSubSpecpublic2018-09-25 15:10
Reportermpostol Assigned ToMatthias Damm  
PriorityhighSeveritymajorReproducibilityN/A
Status closedResolutionfixed 
PlatformAnyOSANyOS VersionAny
Summary0004269: Part 14 PubSub Section 7.3.4 it is not clear how to deal with long messages.
Description

The section "7.3.4.1 General" states:

"AMQP Brokers have an upper limit on message size. The mechanism for handling NetworkMessage that exceed the Broker limits depend on the encoding."

Unfortunately, it is not clear which one limit is referred to:

  • max-message-size: the maximum message size supported by the link endpoint;
  • max-frame-size: connection maximum frame size defined in the open performative;

Additionally, a reference to the section defining this dependence shall be provided. It seems that it is not defined at all.

The Broker role is not defined in the AMQP specification. It is only an example of the Container

How and if the more flag of the transfer performative shall be used. 2.6.14 Transferring Large Messages shall be applied. Usually, the available stack implementations use this approach, otherwise, it is hard to implement.

Typo depend => depends

It is interoperability issue - Publisher and Subscribers must use the same mechanism.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

mpostol

2018-04-30 20:38

reporter   ~0009024

7.3.4.8.2 UADP states:

If the encoded AMQP message size exceeds the Broker limits it shall be broken into multiple chunks as described in 7.2.2.2.4.

For JSON this behavior is not defined.

Matthias Damm

2018-06-05 16:00

developer   ~0009102

Discussed in Telco:
2.6.14 in AMQP spec
This should refer to ‘max-message-size’ in the AMQP spec.

mpostol

2018-06-10 14:27

reporter   ~0009134

It is very hard to be implemented because the Pub/Sub implementation is generic so it is not AMQP aware. Chunk generation should be underlying protocol responsibility. In this case, we can use native AMQP feature: more flag of the transfer performative.

Anyway, we will try to implement it.

mpostol

2018-06-10 14:53

reporter   ~0009135

max-message-size < AMQP overload + UADP chunk.

Current AMQP overload is not exposed by the AMQP implementation API ?!

How to deal with it?
Is there any implementation that can be recognized as the proof of concept.

Matthias Damm

2018-06-13 11:04

developer   ~0009147

Extended the relevant paragraph in 7.3.41 to the following text:
This specification defines two possible message mappings for the AMQP message body, the UADP message mapping defined in 7.2.2 and a JSON message mapping defined in 7.2.3. AMQP Brokers have an upper limit on message size. The limit is defined by the AMQP field max-message-size. The mechanism for handling NetworkMessage that exceed the Broker limits depends on the MessageMapping. For MessageMappings that support chunking, the NetworkMessage shall be broken into multiple chunks. The chunk size plus the AMQP header should not exceed the AMQP max-message-size. For MessageMappings that do not support chunking, the NetworkMessages exceeding the maximum size mut be skipped. Diagnostic information for such error scenarios are provided through the Events of the type PubSubTransportLimitsExceedEventType defined in 9.1.12.2 and through the FailedTransmissions counter of the PubSubDiagnosticsWriterGroupType defined in 9.1.11.9.

Paul Hunkar

2018-06-13 21:23

developer   ~0009165

Agreed to changes in UA face to face meeting - will be available in draft 1.05.02
Needs errata

Jim Luth

2018-09-25 15:10

administrator   ~0009407

Agreed to 1.04 Errata.

Issue History

Date Modified Username Field Change
2018-04-30 20:20 mpostol New Issue
2018-04-30 20:38 mpostol Note Added: 0009024
2018-06-05 15:55 Matthias Damm Assigned To => Matthias Damm
2018-06-05 15:55 Matthias Damm Status new => assigned
2018-06-05 16:00 Matthias Damm Note Added: 0009102
2018-06-10 14:27 mpostol Note Added: 0009134
2018-06-10 14:53 mpostol Note Added: 0009135
2018-06-13 11:04 Matthias Damm Note Added: 0009147
2018-06-13 11:04 Matthias Damm Status assigned => resolved
2018-06-13 11:04 Matthias Damm Resolution open => fixed
2018-06-13 21:23 Paul Hunkar Note Added: 0009165
2018-09-25 15:10 Jim Luth Note Added: 0009407
2018-09-25 15:10 Jim Luth Status resolved => closed
2018-09-25 15:10 Jim Luth Fixed in Version => 1.05