Hello Sakai-Devs,
This is probably basic info to most of you, but I thought I'd share our experience.
Since Tomcat 8.0 will be EOL this summer (
http://tomcat.apache.org/tomcat-80-eol.html) we've been preparing to upgrade to Tomcat 8.5 for our Sakai 11.4 installation, but I have a question and a couple of observations.
1) Question: Tomcat 8.5 no longer supports the BIO connector, so we must choose NIO, NIO2, or the APR/native connector.
However, reading through this forum thread:
it sounds like there were some problems with the NIO connector and user sessions getting mixed up and users were able to see other user's sessions. One of the bug reports in that thread (https://marc.info/?l=tomcat-user&m=148153558926396&w=2) mentions using NIO2 or APR/native connectors might work around the issue (however, that bug report doesn't look like an 'official' tomcat bug report?)
Does this problem only affect Load Balanced instances? Either HW load balanced in front of sakai servers (this is what we use) or load balancing multiple tomcats on the same server with a proxy?
Is it still a problem with the latest Tomcat 8.5.28?
2) Observation: We're fronting tomcat with mod_jk, but it seems like there is a problem with mod_jk and the default NIO connector. With Tomcat 8.0 we ended up going back to the BIO connector, but since Tomcat 8.5 no longer supports BIO and we still couldn't get mod_jk to work with NIO in tomcat 8.5... using NIO2 worked! Which according to the 'unofficial' bug report above, "might" also work around the user session problem above... but I'd still be worried about it. We considered switching to mod_proxy_ajp, but since NIO2 worked, we'll probably stick with that.
3) Observation: When Tomcat 8.5 extracts war files in webapps, it no longer gives those folders o+rx access, which is good, but since we're using mod_jk to let apache serve files in /webapps/library, /webapps/portal/styles, and /webapps/portal/scripts those folders are no longer accessible by the apache user so we're probably going to give the apache user group access to the group that runs our tomcat.
Austin