{"action":"opened","issue":{"url":"https://api.github.com/repos/apache/trafficserver/issues/4182","repository_url":"https://api.github.com/repos/apache/trafficserver","labels_url":"https://api.github.com/repos/apache/trafficserver/issues/4182/labels{/name}","comments_url":"https://api.github.com/repos/apache/trafficserver/issues/4182/comments","events_url":"https://api.github.com/repos/apache/trafficserver/issues/4182/events","html_url":"https://github.com/apache/trafficserver/issues/4182","id":355863214,"node_id":"MDU6SXNzdWUzNTU4NjMyMTQ=","number":4182,"title":"QUICLocalFlowController doesn't create MAX(_STREM)_DATA frame","user":{"login":"masaori335","id":741391,"node_id":"MDQ6VXNlcjc0MTM5MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/741391?v=4","gravatar_id":"","url":"https://api.github.com/users/masaori335","html_url":"https://github.com/masaori335","followers_url":"https://api.github.com/users/masaori335/followers","following_url":"https://api.github.com/users/masaori335/following{/other_user}","gists_url":"https://api.github.com/users/masaori335/gists{/gist_id}","starred_url":"https://api.github.com/users/masaori335/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/masaori335/subscriptions","organizations_url":"https://api.github.com/users/masaori335/orgs","repos_url":"https://api.github.com/users/masaori335/repos","events_url":"https://api.github.com/users/masaori335/events{/privacy}","received_events_url":"https://api.github.com/users/masaori335/received_events","type":"User","site_admin":false},"labels":[{"id":616547375,"node_id":"MDU6TGFiZWw2MTY1NDczNzU=","url":"https://api.github.com/repos/apache/trafficserver/labels/QUIC","name":"QUIC","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/apache/trafficserver/milestones/17","html_url":"https://github.com/apache/trafficserver/milestone/17","labels_url":"https://api.github.com/repos/apache/trafficserver/milestones/17/labels","id":3173087,"node_id":"MDk6TWlsZXN0b25lMzE3MzA4Nw==","number":17,"title":"QUIC","description":"","creator":{"login":"zwoop","id":202131,"node_id":"MDQ6VXNlcjIwMjEzMQ==","avatar_url":"https://avatars1.githubusercontent.com/u/202131?v=4","gravatar_id":"","url":"https://api.github.com/users/zwoop","html_url":"https://github.com/zwoop","followers_url":"https://api.github.com/users/zwoop/followers","following_url":"https://api.github.com/users/zwoop/following{/other_user}","gists_url":"https://api.github.com/users/zwoop/gists{/gist_id}","starred_url":"https://api.github.com/users/zwoop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zwoop/subscriptions","organizations_url":"https://api.github.com/users/zwoop/orgs","repos_url":"https://api.github.com/users/zwoop/repos","events_url":"https://api.github.com/users/zwoop/events{/privacy}","received_events_url":"https://api.github.com/users/zwoop/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":77,"state":"open","created_at":"2018-03-09T01:29:14Z","updated_at":"2018-08-31T07:03:40Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2018-08-31T07:03:40Z","updated_at":"2018-08-31T07:03:40Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Connection level local Flow Controller doesn't create MAX_DATA frame.\r\n\r\n- Server Side\r\n```\r\n[Aug 31 15:31:49.677] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1472 (_init_flow_c> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 0/8192\r\n[Aug 31 15:31:49.741] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 1142/8192\r\n[Aug 31 15:31:49.741] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 2284/8192\r\n[Aug 31 15:31:49.741] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 3426/8192\r\n[Aug 31 15:31:49.742] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 4568/8192\r\n[Aug 31 15:31:49.742] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 5710/8192\r\n[Aug 31 15:31:49.742] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 6852/8192\r\n[Aug 31 15:31:49.742] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 7898/8192\r\n[Aug 31 15:31:49.742] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 7988/8192\r\n[Aug 31 15:31:49.743] {0xb000c000} DEBUG: <QUICNetVConnection.cc:1284 (_packetize_f> (quic_flow_ctrl)                 [b7c75d8d-4d307134] [REMOTE] 8192/8192\r\n```\r\n\r\n- Client Side\r\n`QUICFlowController::_threshold` is added in the debug log. Format is `offset`/`threshold`/`limit`.\r\n```\r\n[Aug 31 15:31:49.610] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1470 (_init_flow_c> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 0/8192\r\n[Aug 31 15:31:49.819] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1388 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 1142/1024/8192\r\n[Aug 31 15:31:49.820] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1396 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 1142/807/9334\r\n[Aug 31 15:31:49.825] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1388 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 2284/807/9334\r\n[Aug 31 15:31:49.825] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1396 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 2284/1615/10476\r\n[Aug 31 15:31:49.826] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1388 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 3426/1615/10476\r\n[Aug 31 15:31:49.826] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1396 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 3426/2422/11618\r\n[Aug 31 15:31:49.827] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1388 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 4568/2422/11618\r\n[Aug 31 15:31:49.827] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1396 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 4568/3230/12760\r\n[Aug 31 15:31:49.827] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1388 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 5710/3230/12760\r\n[Aug 31 15:31:49.827] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1396 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 5710/4038/13902\r\n[Aug 31 15:31:49.828] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1388 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 6852/4038/13902\r\n[Aug 31 15:31:49.828] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1396 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 6852/4845/15044\r\n[Aug 31 15:31:49.829] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1388 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 7988/4845/15044\r\n[Aug 31 15:31:49.829] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1396 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 7988/5649/16180\r\n[Aug 31 15:31:49.829] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1388 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 8192/5649/16180\r\n[Aug 31 15:31:49.829] {0x10aa13000} DEBUG: <QUICNetVConnection.cc:1396 (_recv_and_ac> (quic_flow_ctrl)                 [4d307134-b7c75d8d] [LOCAL] 8192/5793/16384\r\n```\r\n\r\n`offset` + `threshold` is always smaller than `limit`. Which means MAX_DATA is never created.\r\nhttps://github.com/apache/trafficserver/blob/01030555a4cfe8e421886673e8dfdc592e13c53a/iocore/net/quic/QUICFlowController.cc#L165-L167\r\n\r\nOn stream level, I haven't seen this. But this could be happen when the `QUICRateAnalyzer::_rate` get low. \r\n"}}
{"actor":{"display_login":"masaori335"}}