reaktivity / k3po-nukleus-ext.java

K3PO Nukleus Extension
Apache License 2.0
0 stars 9 forks source link

k3po does not stop after a RESET #27

Closed StCostea closed 6 years ago

StCostea commented 6 years ago

On the server side, after the k3po script is sending a DATA frame, I am sending on throttle a RESET frame. But k3po does not stop and keeps on sending other DATA frames.

This is an extract from the command-log: [target -> http2] [0x000000000bae7675] BEGIN "target" [0x0000000000000000] [0x0000000000000001] [0x0000000000000000] [target <- http2] [0x000000000bae7675] WINDOW [65536] [0] [target -> http2] [0x000000000bae7675] DATA [27] [0x0000000000000000] [target <- http2] [0x000000000bae7675] WINDOW [60000] [0] [target -> http2] [0x000000000bae7675] DATA [9] [0x0000000000000000] [target <- http2] [0x000000000bae7675] RESET [target -> http2] [0x000000000bae7675] DATA [13] [0x0000000000000000] [target <- http2] [0x000000000bae7675] RESET [target -> http2] [0x000000000bae7675] DATA [13] [0x0000000000000000] [target <- http2] [0x000000000bae7675] RESET [target -> http2] [0x000000000bae7675] DATA [100] [0x0000000000000000] [target <- http2] [0x000000000bae7675] RESET [target -> http2] [0x000000000bae7675] DATA [9] [0x0000000000000000] [target <- http2] [0x000000000bae7675] RESET [target -> http2] [0x000000000bae7675] DATA [20000] [0x0000000000000000] [target <- http2] [0x000000000bae7675] RESET [target -> http2] [0x000000000bae7675] DATA [9] [0x0000000000000000] [target -> http2] [0x000000000bae7675] DATA [20000] [0x0000000000000000] [target -> http2] [0x000000000bae7675] DATA [9] [0x0000000000000000] [target -> http2] [0x000000000bae7675] DATA [15000] [0x0000000000000000] [target -> http2] [0x000000000bae7675] END [0x0000000000000000]

I will also attach the shared memory archive. reset_on_connectReply.zip

StCostea commented 6 years ago

Also, I think the order of the frames in the command-log is not correct. I am sending reset frames for the last 6 DATA frames, not as in the log.

StCostea commented 6 years ago

I suspect this might not be a k3po issue, but something related to nukleus functionality. K3po sends 6 DATA frames sequentially, after reading the first one I send a RESET, then the rest of the 5 DATA frames are still in the buffer of the SOURCE nukleus, that rejects them with additional RESET frames.

jfallows commented 6 years ago

You are correct @StCostea, this is not a bug, just asynchronous behavior.