D:\Users\crolke\git\amqpnetlite\TransactionTestProgram\bin\Debug>TransactionTestProgram.exe amqp://builtin-test-broker q1 Test: TransactedRetiring nMsgs= 10 Pretest - draining target queue... [11:48:49.668] SEND AMQP 0 1.0.0 [11:48:49.678] SEND (ch=0) open(container-id:a168a48b-9858-4ff8-8e32-1f4427bcee4e,host-name:builtin-test-broker,max-frame-size:262144,channel-max:256) [11:48:49.682] RECV AMQP 0 1 0 0 [11:48:49.683] SEND (ch=0) begin(next-outgoing-id:4294967293,incoming-window:2048,outgoing-window:2048,handle-max:4294967295) [11:48:49.688] SEND (ch=0) attach(name:DrainTarget,handle:0,role:True,source:source(address:q1),target:target()) [11:48:49.689] RECV (ch=0) open(container-id:TestAmqpBroker:99a96783,host-name:localhost,max-frame-size:65536,channel-max:999) [11:48:49.691] RECV (ch=0) begin(remote-channel:0,next-outgoing-id:0,incoming-window:2048,outgoing-window:2048,handle-max:63) [11:48:49.692] SEND (ch=0) flow(next-in-id:0,in-window:2048,next-out-id:4294967293,out-window:2048,handle:0,delivery-count:0,link-credit:200,drain:False) [11:48:49.694] RECV (ch=0) attach(name:DrainTarget,handle:0,role:False,source:source(address:q1),target:target(),initial-delivery-count:0) [11:48:50.695] SEND (ch=0) detach(handle:0,closed:True) [11:48:50.695] RECV (ch=0) detach(handle:0,closed:True) [11:48:50.698] SEND (ch=0) end() [11:48:50.699] RECV (ch=0) end() [11:48:50.701] SEND (ch=0) close() [11:48:50.701] RECV (ch=0) close() [11:48:50.704] SEND AMQP 0 1.0.0 [11:48:50.704] SEND (ch=0) open(container-id:5cb0c1df-6cf5-4c9e-a19a-671901490eb7,host-name:builtin-test-broker,max-frame-size:262144,channel-max:256) [11:48:50.704] SEND (ch=0) begin(next-outgoing-id:4294967293,incoming-window:2048,outgoing-window:2048,handle-max:4294967295) [11:48:50.705] SEND (ch=0) attach(name:sender-TransactedRetiring,handle:0,role:False,source:source(),target:target(address:q1),initial-delivery-count:0) Send N+1 with no transaction scope Sending message with Id msg0 [11:48:50.706] RECV AMQP 0 1 0 0 [11:48:50.706] RECV (ch=0) open(container-id:TestAmqpBroker:99a96783,host-name:localhost,max-frame-size:65536,channel-max:999) [11:48:50.706] RECV (ch=0) begin(remote-channel:0,next-outgoing-id:0,incoming-window:2048,outgoing-window:2048,handle-max:63) [11:48:50.707] RECV (ch=0) attach(name:sender-TransactedRetiring,handle:0,role:True,source:source(),target:target(address:q1),initial-delivery-count:0) [11:48:50.707] RECV (ch=0) flow(next-in-id:4294967293,in-window:2048,next-out-id:0,out-window:2048,handle:0,delivery-count:0,link-credit:200,drain:False) [11:48:50.729] SEND (ch=0) transfer(handle:0,delivery-id:0,delivery-tag:00000000,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.729] RECV (ch=0) disposition(role:True,first:0,settled:True,state:accepted()) Sending message with Id msg1 [11:48:50.733] SEND (ch=0) transfer(handle:0,delivery-id:1,delivery-tag:00000001,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.734] RECV (ch=0) disposition(role:True,first:1,settled:True,state:accepted()) Sending message with Id msg2 [11:48:50.750] SEND (ch=0) transfer(handle:0,delivery-id:2,delivery-tag:00000002,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.751] RECV (ch=0) disposition(role:True,first:2,settled:True,state:accepted()) Sending message with Id msg3 [11:48:50.782] SEND (ch=0) transfer(handle:0,delivery-id:3,delivery-tag:00000003,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.782] RECV (ch=0) disposition(role:True,first:3,settled:True,state:accepted()) Sending message with Id msg4 [11:48:50.814] SEND (ch=0) transfer(handle:0,delivery-id:4,delivery-tag:00000004,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.815] RECV (ch=0) disposition(role:True,first:4,settled:True,state:accepted()) Sending message with Id msg5 [11:48:50.855] SEND (ch=0) transfer(handle:0,delivery-id:5,delivery-tag:00000005,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.856] RECV (ch=0) disposition(role:True,first:5,settled:True,state:accepted()) Sending message with Id msg6 [11:48:50.872] SEND (ch=0) transfer(handle:0,delivery-id:6,delivery-tag:00000006,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.873] RECV (ch=0) disposition(role:True,first:6,settled:True,state:accepted()) Sending message with Id msg7 [11:48:50.884] SEND (ch=0) transfer(handle:0,delivery-id:7,delivery-tag:00000007,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.884] RECV (ch=0) disposition(role:True,first:7,settled:True,state:accepted()) Sending message with Id msg8 [11:48:50.897] SEND (ch=0) transfer(handle:0,delivery-id:8,delivery-tag:00000008,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.897] RECV (ch=0) disposition(role:True,first:8,settled:True,state:accepted()) Sending message with Id msg9 [11:48:50.913] SEND (ch=0) transfer(handle:0,delivery-id:9,delivery-tag:00000009,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.914] RECV (ch=0) disposition(role:True,first:9,settled:True,state:accepted()) Sending message with Id msg10 [11:48:50.932] SEND (ch=0) transfer(handle:0,delivery-id:10,delivery-tag:0000000A,message-format:0,settled:False,batchable:True) payload 51 [11:48:50.933] RECV (ch=0) disposition(role:True,first:10,settled:True,state:accepted()) [11:48:50.941] SEND (ch=0) attach(name:receiver-TransactedRetiring,handle:1,role:True,source:source(address:q1),target:target()) [11:48:50.941] RECV (ch=0) attach(name:receiver-TransactedRetiring,handle:1,role:False,source:source(address:q1),target:target(),initial-delivery-count:0) Receive N messages but don't accept any [11:48:50.961] SEND (ch=0) flow(next-in-id:0,in-window:2048,next-out-id:8,out-window:2037,handle:1,delivery-count:0,link-credit:200,drain:False) [11:48:50.962] RECV (ch=0) transfer(handle:1,delivery-id:0,delivery-tag:00000000,message-format:0,settled:False,batchable:True) payload 50 Received: msg0 [11:48:50.975] RECV (ch=0) transfer(handle:1,delivery-id:1,delivery-tag:00000001,message-format:0,settled:False,batchable:True) payload 50 Received: msg1 [11:48:50.977] RECV (ch=0) transfer(handle:1,delivery-id:2,delivery-tag:00000002,message-format:0,settled:False,batchable:True) payload 50 [11:48:50.986] RECV (ch=0) transfer(handle:1,delivery-id:3,delivery-tag:00000003,message-format:0,settled:False,batchable:True) payload 50 Received: msg2 [11:48:50.991] RECV (ch=0) transfer(handle:1,delivery-id:4,delivery-tag:00000004,message-format:0,settled:False,batchable:True) payload 50 Received: msg3 Received: msg4 [11:48:50.999] RECV (ch=0) transfer(handle:1,delivery-id:5,delivery-tag:00000005,message-format:0,settled:False,batchable:True) payload 50 Received: msg5 [11:48:51.009] RECV (ch=0) transfer(handle:1,delivery-id:6,delivery-tag:00000006,message-format:0,settled:False,batchable:True) payload 50 Received: msg6 [11:48:51.019] RECV (ch=0) transfer(handle:1,delivery-id:7,delivery-tag:00000007,message-format:0,settled:False,batchable:True) payload 50 [11:48:51.030] RECV (ch=0) transfer(handle:1,delivery-id:8,delivery-tag:00000008,message-format:0,settled:False,batchable:True) payload 50 Received: msg7 [11:48:51.037] RECV (ch=0) transfer(handle:1,delivery-id:9,delivery-tag:00000009,message-format:0,settled:False,batchable:True) payload 50 [11:48:51.047] RECV (ch=0) transfer(handle:1,delivery-id:10,delivery-tag:0000000A,message-format:0,settled:False,batchable:True) payload 51 Received: msg8 Received: msg9 Create txn scope and accept half the messages Accepting to-be-committed messageId: msg0 [11:48:51.082] SEND (ch=1) begin(next-outgoing-id:4294967293,incoming-window:2048,outgoing-window:2048,handle-max:4294967295) [11:48:51.082] RECV (ch=1) begin(remote-channel:1,next-outgoing-id:0,incoming-window:2048,outgoing-window:2048,handle-max:63) [11:48:51.083] SEND (ch=1) attach(name:controller-link-333d1,handle:0,role:False,source:source(),target:coordinator(),initial-delivery-count:0) [11:48:51.084] RECV (ch=1) attach(name:controller-link-333d1,handle:0,role:True,source:source(),target:coordinator(),initial-delivery-count:0) [11:48:51.100] RECV (ch=1) flow(next-in-id:4294967293,in-window:2048,next-out-id:0,out-window:2048,handle:0,delivery-count:0,link-credit:100,drain:False) [11:48:51.102] SEND (ch=1) transfer(handle:0,delivery-id:0,delivery-tag:00000000,message-format:0,settled:False,batchable:True) payload 7 [11:48:51.103] RECV (ch=1) disposition(role:True,first:0,settled:True,state:declared(txn-id:10000000)) [11:48:51.113] SEND (ch=0) disposition(role:True,first:0,settled:False,state:txn-state(txn-id:10000000,outcome:accepted())) Accepting to-be-committed messageId: msg1 [11:48:51.116] SEND (ch=0) disposition(role:True,first:1,settled:False,state:txn-state(txn-id:10000000,outcome:accepted())) Accepting to-be-committed messageId: msg2 [11:48:51.125] SEND (ch=0) disposition(role:True,first:2,settled:False,state:txn-state(txn-id:10000000,outcome:accepted())) Accepting to-be-committed messageId: msg3 [11:48:51.136] SEND (ch=0) disposition(role:True,first:3,settled:False,state:txn-state(txn-id:10000000,outcome:accepted())) Accepting to-be-committed messageId: msg4 [11:48:51.145] SEND (ch=0) disposition(role:True,first:4,settled:False,state:txn-state(txn-id:10000000,outcome:accepted())) Txn scope complete [11:48:51.155] SEND (ch=1) transfer(handle:0,delivery-id:1,delivery-tag:00000001,message-format:0,settled:False,batchable:True) payload 16 [11:48:51.156] RECV (ch=1) disposition(role:True,first:1,settled:True,state:accepted()) Create txn scope and accept other half BUT do that in a failed txn scope that should roll back. Accepting to-be-rolled-back messageId: msg5 [11:48:51.190] SEND (ch=1) transfer(handle:0,delivery-id:2,delivery-tag:00000002,message-format:0,settled:False,batchable:True) payload 7 [11:48:51.191] RECV (ch=1) disposition(role:True,first:2,settled:True,state:declared(txn-id:11000000)) [11:48:51.199] SEND (ch=0) disposition(role:True,first:5,settled:False,state:txn-state(txn-id:11000000,outcome:accepted())) Accepting to-be-rolled-back messageId: msg6 [11:48:51.201] SEND (ch=0) disposition(role:True,first:6,settled:False,state:txn-state(txn-id:11000000,outcome:accepted())) Accepting to-be-rolled-back messageId: msg7 [11:48:51.210] SEND (ch=0) disposition(role:True,first:7,settled:False,state:txn-state(txn-id:11000000,outcome:accepted())) Accepting to-be-rolled-back messageId: msg8 [11:48:51.214] SEND (ch=0) disposition(role:True,first:8,settled:False,state:txn-state(txn-id:11000000,outcome:accepted())) Accepting to-be-rolled-back messageId: msg9 [11:48:51.229] SEND (ch=0) disposition(role:True,first:9,settled:False,state:txn-state(txn-id:11000000,outcome:accepted())) Close txn scope without calling complete [11:48:51.233] SEND (ch=1) transfer(handle:0,delivery-id:3,delivery-tag:00000003,message-format:0,settled:False,batchable:True) payload 16 [11:48:51.233] RECV (ch=1) disposition(role:True,first:3,settled:True,state:accepted()) after rollback, messages should be still acquired Receiving a single message Releasing last message received, the extra one [11:48:51.261] SEND (ch=0) disposition(role:True,first:10,settled:True,state:released()) [11:48:51.261] RECV (ch=0) transfer(handle:1,delivery-id:11,delivery-tag:0000000B,message-format:0,settled:False,batchable:True) payload 51 Creating txn scope to accept 2nd half for real this time Accepting to-be-committed messageId msg5 [11:48:51.290] SEND (ch=1) transfer(handle:0,delivery-id:4,delivery-tag:00000004,message-format:0,settled:False,batchable:True) payload 7 [11:48:51.290] RECV (ch=1) disposition(role:True,first:4,settled:True,state:declared(txn-id:12000000)) [11:48:51.299] SEND (ch=0) disposition(role:True,first:5,settled:False,state:txn-state(txn-id:12000000,outcome:accepted())) Accepting to-be-committed messageId msg6 [11:48:51.308] SEND (ch=0) disposition(role:True,first:6,settled:False,state:txn-state(txn-id:12000000,outcome:accepted())) Accepting to-be-committed messageId msg7 [11:48:51.317] SEND (ch=0) disposition(role:True,first:7,settled:False,state:txn-state(txn-id:12000000,outcome:accepted())) Accepting to-be-committed messageId msg8 [11:48:51.330] SEND (ch=0) disposition(role:True,first:8,settled:False,state:txn-state(txn-id:12000000,outcome:accepted())) Accepting to-be-committed messageId msg9 [11:48:51.338] SEND (ch=0) disposition(role:True,first:9,settled:False,state:txn-state(txn-id:12000000,outcome:accepted())) Txn scope Complete() [11:48:51.348] SEND (ch=1) transfer(handle:0,delivery-id:5,delivery-tag:00000005,message-format:0,settled:False,batchable:True) payload 16 [11:48:51.348] RECV (ch=1) disposition(role:True,first:5,settled:True,state:accepted()) Receive last message again Acccept last message [11:48:51.370] SEND (ch=0) disposition(role:True,first:11,settled:True,state:accepted()) [11:48:51.371] SEND (ch=0) detach(handle:1,closed:True) [11:48:51.371] RECV (ch=0) detach(handle:1,closed:True) [11:48:51.381] SEND (ch=0) detach(handle:0,closed:True) [11:48:51.381] RECV (ch=0) detach(handle:0,closed:True) [11:48:51.389] SEND (ch=0) end() [11:48:51.389] RECV (ch=0) end() [11:48:51.391] SEND (ch=0) close() [11:48:51.392] RECV (ch=0) close() [11:48:51.395] SEND AMQP 0 1.0.0 [11:48:51.396] SEND (ch=0) open(container-id:85c793bb-2c16-4c85-9540-055576ef384c,host-name:builtin-test-broker,max-frame-size:262144,channel-max:256) [11:48:51.407] RECV AMQP 0 1 0 0 [11:48:51.407] SEND (ch=0) begin(next-outgoing-id:4294967293,incoming-window:2048,outgoing-window:2048,handle-max:4294967295) [11:48:51.410] SEND (ch=0) attach(name:DrainTarget,handle:0,role:True,source:source(address:q1),target:target()) [11:48:51.412] SEND (ch=0) flow(next-in-id:0,in-window:2048,next-out-id:4294967293,out-window:2048,handle:0,delivery-count:0,link-credit:200,drain:False) [11:48:51.409] RECV (ch=0) open(container-id:TestAmqpBroker:99a96783,host-name:localhost,max-frame-size:65536,channel-max:999) [11:48:51.414] RECV (ch=0) begin(remote-channel:0,next-outgoing-id:0,incoming-window:2048,outgoing-window:2048,handle-max:63) [11:48:51.415] RECV (ch=0) attach(name:DrainTarget,handle:0,role:False,source:source(address:q1),target:target(),initial-delivery-count:0) [11:48:52.413] SEND (ch=0) detach(handle:0,closed:True) [11:48:52.414] RECV (ch=0) detach(handle:0,closed:True) [11:48:52.415] SEND (ch=0) end() [11:48:52.417] RECV (ch=0) end() [11:48:52.418] SEND (ch=0) close() [11:48:52.420] RECV (ch=0) close() TransactedRetiring exiting with status PASS D:\Users\crolke\git\amqpnetlite\TransactionTestProgram\bin\Debug>