<div dir="ltr">So, I'm not sure if this resolves the issue.  The python websockets library supports fragmented messages but I think that is separate from the maximum message size that it's enforcing.  I think that maximum is for the final payload, which would be the entire AllWatcher JSON response.  If the controller doesn't break that in to multiple AllWatcher updates, then I think we'll still hit the maximum message size.<div><br></div><div>I can increase the max size pretty easily, or even remove it entirely, as mentioned in the issue, but I'm a little bit leery of having no upper bound at all.  Do we know if there's a reasonable upper bound that even large models would fall within for the initial AllWatcher response?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 14, 2017 at 12:08 PM, Tim Penhey <span dir="ltr"><<a href="mailto:tim.penhey@canonical.com" target="_blank">tim.penhey@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It is configured in juju<br>
<br>
<br>
// Use a 64k frame size for the websockets while we need to deal<br>
// with x/net/websocket connections that don't deal with recieving<br>
// fragmented messages.<br>
const websocketFrameSize = 65536<br>
<span class=""><br>
<br>
On 14/06/17 12:00, Cory Johns wrote:<br>
> Do we know what size the gorilla/websocket library uses for automatic<br>
> chunking?<br>
><br>
> On Wed, Jun 14, 2017 at 11:35 AM, John Meinel <<a href="mailto:john@arbash-meinel.com">john@arbash-meinel.com</a><br>
</span><span class="">> <mailto:<a href="mailto:john@arbash-meinel.com">john@arbash-meinel.com</a><wbr>>> wrote:<br>
><br>
>  Â  Â In 2.1 we did not chunk, in 2.2 we switch to gorilla/websocket which<br>
>  Â  Â does support chunking into frames. I don't think we do any internal<br>
>  Â  Â "well that would be too much information so we wont send it all".<br>
><br>
>  Â  Â John<br>
>  Â  Â =:-><br>
><br>
><br>
>  Â  Â On Wed, Jun 14, 2017 at 7:11 PM, Cory Johns<br>
</span>>  Â  Â <<a href="mailto:cory.johns@canonical.com">cory.johns@canonical.com</a> <mailto:<a href="mailto:cory.johns@canonical.com">cory.johns@canonical.<wbr>com</a>>> wrote:<br>
><br>
>  Â  Â  Â  Â <a href="https://github.com/juju/python-libjuju/issues/136" rel="noreferrer" target="_blank">https://github.com/juju/<wbr>python-libjuju/issues/136</a><br>
<span class="">>  Â  Â  Â  Â <<a href="https://github.com/juju/python-libjuju/issues/136" rel="noreferrer" target="_blank">https://github.com/juju/<wbr>python-libjuju/issues/136</a>> raises the<br>
>  Â  Â  Â  Â issue that, for large models, the initial AllWatcher response<br>
>  Â  Â  Â  Â frame can be large enough that it overruns the default maximum<br>
>  Â  Â  Â  Â frame size of the websocket library (1MB).  We can increase this<br>
>  Â  Â  Â  Â limit fairly easily, but I wanted to find out whether there is<br>
>  Â  Â  Â  Â any maximum size from the Juju size and if large enough frames<br>
>  Â  Â  Â  Â could get chunked into multiple frames?<br>
><br>
>  Â  Â  Â  Â --<br>
>  Â  Â  Â  Â Juju-dev mailing list<br>
</span>>  Â  Â  Â  Â <a href="mailto:Juju-dev@lists.ubuntu.com">Juju-dev@lists.ubuntu.com</a> <mailto:<a href="mailto:Juju-dev@lists.ubuntu.com">Juju-dev@lists.ubuntu.<wbr>com</a>><br>
<span class="">>  Â  Â  Â  Â Modify settings or unsubscribe at:<br>
>  Â  Â  Â  Â <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" rel="noreferrer" target="_blank">https://lists.ubuntu.com/<wbr>mailman/listinfo/juju-dev</a><br>
</span>>  Â  Â  Â  Â <<a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" rel="noreferrer" target="_blank">https://lists.ubuntu.com/<wbr>mailman/listinfo/juju-dev</a>><br>
><br>
><br>
><br>
><br>
><br>
</blockquote></div><br></div>