maskit commented on issue #8199: URL: https://github.com/apache/trafficserver/issues/8199#issuecomment-908939092
> If I understand your proposal correctly, as a new stream is created, new setting frames would need to be sent to the existing stream frames to adjust down their stream windows. Similarly as a stream is closed, the remaining streams would need setting frames to increase their stream windows. SETTINGS frame is allowed only on stream 0. One SETTING frame affects all existing and future streams. SETTINGS frame would still need to be sent again and again on stream 0, but it doesn't necessarily need to be done on every stream count change. I'd say once every a few seconds would be enough for many cases. > Also, with an automatic scheme, it would be quite easy to run into a scenario where each stream gets a tiny amount of window. That depends on your configuration. The minimum stream window size would be `initial_window_size_in / max_concurrent_streams_in`. You shouldn't accept too many streams. > I think an explicit session window gives us something simple to test various scenarios. If the session window is not set, nothing is changed. As we move to outbound, the values could be adjusted via remap rules. We could also adjust inbound window sizes based on SNI values. I'm not sure here. Session window size is explicit on my proposal too. Adding a switch to enable/disable the auto sizing should be easy if someone want to keep current behavior. Overriding session window size based on remap rules and SNI values should be possible with either. > Once we gain some experience, we could later add an automatic mode to reallocate a global session window across the streams existing at the moment. That still doesn't solve the issue that a stream cannot fully utilize a connection. Since my proposal (variable stream window size) would not conflict with your proposal (separate setting for session window size), I can live with your proposal. However, having the both would complicate window size settings and I think we should avoid it if possible. I'd say my proposal would work for the stall issue and we don't need a new setting for session window size, but I don't have time to implement it right now. So maybe I should approve your PR for now to move forward. What do you think, @shinrich, @bryancall ? Do you think we should have either of our proposals for simplicity, or accept the complexity for flexibility? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
