<div class="gmail_quote">On Wed, Apr 4, 2012 at 2:57 AM, Simon MacMullen <span dir="ltr">&lt;<a href="mailto:simon@rabbitmq.com">simon@rabbitmq.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">This is interesting, but I have a hard time believing it I&#39;m afraid.</div>
<br>
1) basic.deliver has a &quot;redelivered&quot; field in both AMQP 0-8 and 0-9-1 (see line 2957 of the 0-8 XML).<br>
2) In both versions of the standard, redelivered is of type &quot;bit&quot;.<br></blockquote><div><br></div><div>Thank for pointing this out. I searched the 0-8 PDF and found no mention to it, but I see it in the XML now.  That will show me for not searching all of the documentation.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
3) I don&#39;t recall any of the AMQP codec code changing since 2.5.1.<br>
4) This is really basic stuff, any client that couldn&#39;t unpack basic.deliver would be so broken as to be useless.<br>
<br>
So I wonder what might really be happening?<br>
<br>
I note that Net::AMQP throws that exception in a function called unpack_field_table(). But the method fields aren&#39;t in a table.<br>
<br>
We do however create a table in the message headers that has a key &quot;redelivered&quot;. In federation. You haven&#39;t recently started using federation by any chance?<br></blockquote><div><br></div><div>Bingo.  We added a federated exchange for forward some messages from our prod env to the dev env for testing.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
And we make that field boolean, because that&#39;s what it is. But from the AMQP 0-8 spec:<br>
<br>
4.2.5.5  Field Tables<br>
<br>
Field tables are long strings that contain packed name 赳alue pairs. Each name 赳alue pair is a structure that provides a field name, a field type, and a field value.  A field can hold a tiny text string, a long string, a long signed integer, a decimal, a date and/or time, or another field table.<br>

<br>
Damn it.<br></blockquote><div><br></div><div>Yes,  that&#39;s the section I was reading in the 0-8 PDFs. </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

So I guess we need to do some field type mapping when talking to 0-8 clients. I had hoped the 0-8 clients would have gone away by now...<br></blockquote><div><br></div><div>You and me both.</div><div> </div><div>Elias</div>
<div><br></div></div>