Avoid generating user's wavelet for anoymous users in order to not overload wave loading.
Each time a wave is loaded from storage, a new wavelet must be loaded in memory for each user.
In public waves, there could be a lot of anonymous users, and situation can become critical
Following example shows a wave being loaded from persistence, each user wavelet takes about 30-40ms...
NFO: Snapshot loaded for demo.swellrt.org/maldivas2016/swl+root in 31ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_ka9ygml4pypg14t8or9h8no1q@demo.swellrt.org in 36ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_1db5hfzp1fez85ltf2f3ctlhz@demo.swellrt.org in 37ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_18rkog8afpo46130hnpgobxo5v@demo.swellrt.org in 37ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_4owcny8uc9451o2rll1uik08b@demo.swellrt.org in 38ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_c89a0wnxodhj88dwnuefiq5p@demo.swellrt.org in 42ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_1xse9ikqnga6a1dlwgou094sri@demo.swellrt.org in 36ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_15jiuaw5fsw5mg3o7zta45h06@demo.swellrt.org in 36ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_3ayqntv1uzvw10yv6wyo0wh0e@demo.swellrt.org in 36ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_nge5yvpvzipm1g7qle6c6cj1e@demo.swellrt.org in 40ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_qyjiumvfmaevp5lpp3zyfn02@demo.swellrt.org in 37ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_1k5xq5h41o4k31jfz47mdoxogm@demo.swellrt.org in 37ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_w2jw6zx1qv0la5trvr86uyib@demo.swellrt.org in 36ms
Oct 18, 2016 4:38:52 PM org.waveprotocol.box.server.waveserver.DeltaStoreBasedWaveletState create
INFO: Snapshot built for demo.swellrt.org/maldivas2016/user+_anonymous_pngk9ucudlsrqvz54xbfqw38@demo.swellrt.org in 36m
Avoid generating user's wavelet for anoymous users in order to not overload wave loading. Each time a wave is loaded from storage, a new wavelet must be loaded in memory for each user. In public waves, there could be a lot of anonymous users, and situation can become critical
Following example shows a wave being loaded from persistence, each user wavelet takes about 30-40ms...