Summary: | JkWorkerProperties broken in mod_jk 1.2.21 | ||
---|---|---|---|
Product: | Tomcat Connectors | Reporter: | Ulf M <ulf.moeller> |
Component: | Common | Assignee: | Tomcat Developers Mailing List <dev> |
Status: | CLOSED FIXED | ||
Severity: | normal | CC: | bjorn.wiberg, bruno.haleblian |
Priority: | P2 | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All |
Description
Ulf M
2007-03-06 01:57:34 UTC
I have a running config which uses workers.properties and JkWorkerProperty. Could you please attach a test case, i.e. a small example configuration with which we can reproduce the problem. You are correct. If there is no define JkWorkersFile mo_jk on Windows shuts down the httpd. If there is a JkWorkersFile directive (even pointing to an empty file) then everything works as expected. Not sure if you reported that exactly. Aha, it's the same on the other platforms. We check for return form jk_map_read_properties() and this returns JK_FALSE, if the file name is NULL. So either we return JK_TRUE in case the file nae is NULL and the given map is non empty, or we need to use a multi value return code, which distinguishes several kinds of anomalies. Since IIS and Netscape have no JkWorkerProperty statement, a NULL file name really is an error for them. But maybe (it seems so) we already check for non-NULL filenames during config parsing of IIS and netscape? As a temporary workaround for those of you on UNIX, you may try adding: JkWorkersFile /dev/null ...in addition to your JkWorkerProperty directives (which still seem to apply). Best regards, Björn Not sure if it's related, but worker.<name>.local_worker will also now toss an error where it wouldn't in 1.2.20. Removing the local_worker directive fixed the error, but was surprising in a point release to say the least. When we introduced the new check for valid attributes, we carefully included all old obsolete attributes to not break old configs. Unfortunately if one goes back until mod_jk 1.2.6, there are two attributes that got completely removed between 1.2.8 and 1.2.9: local_worker and local_worker_only. These two slipped our attention. So if you still have them in your configuration, the validity check for the config will detect an unknown attribute and the web server will not start. We should have added those two to our deprecation list long ago, then the web server would start but log a notice, that these two properties are deprecated. As a workaround please remove these two attributes from your configuration. They don't work since 1.2.9 in early 2005. You can use the distance attribute to express proximity relations. We will add local_worker and local_worker_only to our list of deprecated attributes in the next release, so that other users upgrading from very old versions will still be able to start their servers, but might need to optimize their configurations with respect to all attributes logged as deprecated during startup. Thanks for reporting this and sorry for the inconvenience. And: yes, I think we are not far from starting a new major release. We tried to improve over a lot of dot releases and the functional break was not intentional. The startup error when no JkWorkersFile is given is fixed now. I also deleted the check for an empty init_map, because it is never empty (we add at least one entry inside mod_jk: "ServerRoot"). The most important check is during wc_open(), where we try to create the workers. The other startup error because of the old local_worker attribute is also fixed now. Both fixes will be part of 1.2.21.1 or 1.2.22. *** Bug 42002 has been marked as a duplicate of this bug. *** Move a couple of fixed JK issues from resolved to closed. |