[Seaside] [ANN] Seaside 3.0.7 release

Sven Van Caekenberghe sven at beta9.be
Wed Apr 4 08:07:27 UTC 2012


Nick,

On 04 Apr 2012, at 08:52, Nick Ager wrote:

> Hi Sven,
> 
> ---
> Name: Zinc-HTTP-SvenVanCaekenberghe.248
> Author: SvenVanCaekenberghe
> Time: 4 March 2012, 8:25:19 pm
> UUID: aaab5645-ed48-4174-bdb5-53037fb297db
> Ancestors: Zinc-HTTP-SvenVanCaekenberghe.247
> 
> Switched ZnServer class>>#defaultServerClass to ZnManagingMultiThreadedServer;
> […]
> ---
> 
> ZnManagingMultiThreadedServer differs from its superclass ZnMultiThreadedServer in that it keeps explicit track of each (kept-alive) client connection. Tracking open client connections is important to correctly handle the case where people save an image with a running server. Before, that sometimes resulted in crashes of all kinds because even though the server (socket) itself came back up correctly, it happened that client worker process kept reading or writing to (now) stale socket streams. Now, when the server shuts down (#stop's) it closes all client connections explicitly.
> 
> Currently the 3.0.7 one-click and developer images use ZnMultiThreadedServer rather than ZnManagingMultiThreadedServer and ConfigurationOfSeaside30 loads the stable configuration of Zinc which doesn't incorporate the change to #defaultServerClass to move from ZnMultiThreadedServer to ZnManagingMultiThreadedServer. 
> 
> From your description above it sounds as though images uses ZnMultiThreadedServer could experience crashes. Is is worth updating the #stable version in ConfigurationOfZincHTTPComponents and the 3.0.7 one-click and developer images as Zinc is now used as the default server adaptor?
> 
> Cheers
> 
> Nick

Thanks a lot for taking care and pushing this.

Yes it would be a good idea to use a later version with the new default. 

Pharo 1.3/1/4 need another Zn update as well (the latest integrated version was Zinc-HTTP-SvenVanCaekenberghe.242). I will create a new issue for that.

It is (and has been) possible to explicitely use ZnManagingMultiThreadedServer, like this:

	ZnZincServerAdaptor new
		port: 8080;
		serverClass: ZnManagingMultiThreadedServer;
		start

Or we could change ZnZincServerAdaptor to use that class by default.

I would prefer the full Zn update, I guess, but that is the most work.

Sven


--
Sven Van Caekenberghe
http://stfx.eu
Smalltalk is the Red Pill




-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4334 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/seaside/attachments/20120404/863cfc66/smime-0001.bin


More information about the seaside mailing list