Thank you Stefan, Johann, and the community for making the switch from mod_Webobjects.so adaptor to the built-in Apache mod_proxy module.
It helped us out this week to dig up Stefan’s 2015 video presentation on this topic, utilize the ERXApplication cookie generation, and the migration tab in Java Monitor. The reason for us to make the switch was because Apache had become unstable. It was having numerous segmentation faults. We were using the latest available Apache 2.4.x for Amazon Linux along with freshly compiled from source WO Adaptor taken from latest WOnder repo. Whenever httpd wet-the-bed, we’d lose communication with an app instance. It seems there was no rhyme or reason to what was causing it to crash. It did seem that when we downloaded user files (passed from disk to web browser through fileInputStreams) that we’d be more likely to see a segmentation fault anywhere from 5 to 7 request-response loops later (navigating the app, clicking links). File sizes ranged from somewhat small like 4 megs up to about 250 megs. It was almost as if the WO adaptor was getting corrupted. Apache would give errors about unreadable headers that looked like a stream of binary data and then shortly after segmentation fault. Tonight we’re going live with mod_proxy. A bit worried but also happy. It’s amazing how much faster file uploads and downloads are. The compiled WebObjects adaptor must have had a small packet size that slowed things down. One thing to note, I believe the ProxyPass key-value pair of "nofailover=On” actually should be set to “Off” — I read the Apache documentation of what it’s supposed to do and I think the documentation is wrong. When we cut-and-pasted the migration from the last tab in JavaMonitor it said “On” which seemed right until we tested it. When app instances go down you won’t get re-routed to another good instance with “On” it must be “Off.” To round-robin, I needed to clear the cookie completely before refreshing the browser. I guess there’s no way around that. Users will have semi-permanent affinity with a particular app instance. New users get a true round-robin instance. Actually we go through phased deployments every week so people will have semi-permanent instance affinity for one week :-) This is a smart solution. Feels good to drop the mod_WebObjects.so and probably can drop wotaskd too. Less is more. And what’s left is better tested and easy to upgrade to Apache 2.6 (whenever that is). Hugs and chest bumps all around. Thank you all, — Aaron _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com