Re: GERONIMO-4229
On Dec 1, 2008, at 5:33 PM, Jarek Gawor wrote: Hi, I was looking at GERONIMO-4229 today (please see the bug and my comments for details). There is a remaining issue with the GERONIMO_BASE property and what it does. The Java system property that it sets is not used anywhere in the code and therefore that property is useless. I have a couple of ideas what we can do with it or how to fix it: 1) Totally get rid off GERONIMO_BASE in the shell scripts. It doesn't do anything right now anyway and it just confuses people. People that want to use multiple server instances will need to pass org.apache.geronimo.server.dir or org.apache.geronimo.server.name property using the GERONIMO_OPTS env. property (as it is documented today). Sounds good to me. --kevan
[jira] Resolved: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jarek Gawor resolved GERONIMO-4229. --- Resolution: Fixed I committed additional fixes to trunk (revision 723370) and branches/2.1 (revision 723380) that: 1) Got rid off the GERONIMO_BASE env. property. The Java system property that it was setting wasn't used anywhere in the code so it wasn't doing anything. 2) Modified the scripts to pass -Dorg.apache.geronimo.home.dir=$GERONIMO_HOME property instead of the -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE With these changes the two problems described should go away. clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts --- Key: GERONIMO-4229 URL: https://issues.apache.org/jira/browse/GERONIMO-4229 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Components: startup/shutdown Affects Versions: 2.1.1 Environment: ALL Reporter: Russell E Glaue Assignee: Jarek Gawor Priority: Minor Fix For: 2.1.4, 2.2 Attachments: geronimo-shell-home-base-2.patch I was not seeing consistent usage in the shell scripts of the following: - GERONIMO_HOME - GERONIMO_BASE - org.apache.geronimo.base.dir In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path. The attached patch corrects these. For more information, please see my thread on [EMAIL PROTECTED] Subject: GERONIMO_BASE vs. GERONIMO_HOME and org.apache.geronimo.base.dir And as an additional note, this patch resolves a few errors, but not these two: (1)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre 10:45:33,914 ERROR [LocalAttributeManager] Caught exception java.io.FileNotFoundException: /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties (No such file or directory) trying to open properties file /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties - Geronimo looks for the 'var/config/config-substitutions.properties' file according to 'org.apache.geronimo.server.dir' variable. However the bin/geronimo.sh script only sets -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE But I do not see how org.apache.geronimo.base.dir is used inside Geronimo. To fix we would have to set the variable -Dorg.apache.geronimo.server.dir=$GERONIMO_BASE too - but we cannot do that if we want users to be able to supply the -Dorg.apache.geronimo.server.name=relative_path variable outside of bin/geronimo.sh in $GERONIMO_OPTS env var. - So I could not figure out a good way to address this error, unless we overrided org.apache.geronimo.base.dir variable with whatever is in the org.apache.geronimo.server.dir variable, then change Geronimo to look for the configSubstitutionFile as 'org.apache.geronimo.base.dir/var/config/config-substitutions.properties' And it appears that Geronimo ignores org.apache.geronimo.base.dir in favor of org.apache.geronimo.home.dir anyway, so removing the configured org.apache.geronimo.base.dir property in bin/geronimo.sh does not seem to hurt anything - at first test, at least, it works for me. Then we just always set org.apache.geronimo.base.dir = org.apache.geronimo.server.dir - I would appreciate if someone shed light on the proper intended usage of the org.apache.geronimo.base.dir property. - (2)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre ... The java.io.tmpdir system property specifies a non-existent directory: /usr/local/geronimo-jetty6-javaee5-2.1.2/var/temp - read: /usr/local/geronimo/bin/geronimo.sh # GERONIMO_TMPDIR (Optional) Directory path location of temporary directory # the JVM should use (java.io.tmpdir). # Defaults to $GERONIMO_BASE/var/temp. if [ -z $GERONIMO_TMPDIR ] ; then # Define the java.io.tmpdir to use for Geronimo # A relative value will be resolved relative to each instance GERONIMO_TMPDIR=var/temp fi - This is incorrect documentation, as the error message illustrates. GERONIMO_TMPDIR does not default to $GERONIMO_BASE/var/temp Nor does it default to $GERONIMO_HOME/var/temp Instead: It defaults to Geronimo_install_directory/var/temp Or also org.apache.geronimo.server.dir/var/temp GERONIMO_TMPDIR should be set with $GERONIMO_BASE/var/temp Or also
Re: GERONIMO-4229
+1 to getting rid of GERONIMO_BASE Jay Jarek Gawor wrote: Hi, I was looking at GERONIMO-4229 today (please see the bug and my comments for details). There is a remaining issue with the GERONIMO_BASE property and what it does. The Java system property that it sets is not used anywhere in the code and therefore that property is useless. I have a couple of ideas what we can do with it or how to fix it: 1) Totally get rid off GERONIMO_BASE in the shell scripts. It doesn't do anything right now anyway and it just confuses people. People that want to use multiple server instances will need to pass org.apache.geronimo.server.dir or org.apache.geronimo.server.name property using the GERONIMO_OPTS env. property (as it is documented today). or 2) Keep GERONIMO_BASE but only pass org.apache.geronimo.server.dir property (to the java process) if the user has set the GERONIMO_BASE env. property explicitly. That is, do not set GERONIMO_BASE property automatically within the script as it is done now. If it would be automatically set, the org.apache.geronimo.server.name property (passed via GERONIMO_OPTS) would always be ignored. Thoughts? Jarek
[jira] Issue Comment Edited: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12652186#action_12652186 ] rglaue edited comment on GERONIMO-4229 at 12/3/08 1:58 PM: I have been using Geronimo, without my patch, successfully without problem if I perform the following: perform 1) expand geronimo-jetty6-javaee5-2.1.2 in /usr/local/ 2) cd /usr/local; ln -s geronimo-jetty6-javaee5-2.1.2 geronimo 2) create the directory /usr/local/geronimo/server1 3) move /usr/local/geronimo/var to /usr/local/geronimo/server1/var 4) start geronimo with this shell command: - cd /usr/local/geronimo export GERONIMO_HOME=/usr/local/geronimo export GERONIMO_OPTS=-Dorg.apache.geronimo.home.dir=$GERONIMO_HOME -Dorg.apache.geronimo.server.dir=$GERONIMO_HOME/server1 ${GERONIMO_HOME}/bin/startup.sh - /perform The startup.sh script will set GERONIMO_BASE = GERONIMO_HOME if GERONIMO_BASE is not defined. I cannot set -Dorg.apache.geronimo.server.name=server1 as it will look for it as /usr/local/geronimo-jetty6-javaee5-2.1.2/server1 So I have to set -Dorg.apache.geronimo.server.dir=$GERONIMO_HOME/server1 so it is found correctly. I think these variables should each receive a concrete definition as to the following: 1) What is the formal definition of this variable? 2) What, in Geronimo's run time, does this variable refer to? 3) When it is to be referenced in actual code, what should be the expected and intended use? 4) Where, in the Geronimo code, is this variable used? 5) Examples of how to use it, and how not to use it. We can put that on the Geronimo Wiki. Additionally, as I described in the thread discussion, I believe these variables are used incorrectly in a few places. It does not seem like it is hard to clean up. And documentation should prevent further confusion. I am willing to write the wiki documentation for this. I have already asked my employer to give me the permission to sign the Apache Individual Contributor License Agreement (CLA) so I can do something like this. Thanks. -RG was (Author: rglaue): I have been using Geronimo, without my patch, successfully without problem if I perform the following: perform 1) expand geronimo-jetty6-javaee5-2.1.2 in /usr/local/ 2) cd /usr/local; ln -s geronimo-jetty6-javaee5-2.1.2 geronimo 2) create the directory /usr/local/geronimo/server1 3) move /usr/local/geronimo/var to /usr/local/geronimo/server1/var 4) start geronimo with this shell command: - cd /usr/local/geronimo export GERONIMO_HOME=/usr/local/geronimo JAVA_OPTS=-Dorg.apache.geronimo.server.dir=$GERONIMO_HOME/server1 ${GERONIMO_HOME}/bin/startup.sh - /perform The startup.sh script will set GERONIMO_BASE = GERONIMO_HOME if GERONIMO_BASE is not defined. I cannot set -Dorg.apache.geronimo.server.name=server1 as it will look for it as /usr/local/geronimo-jetty6-javaee5-2.1.2/server1 So I have to set -Dorg.apache.geronimo.server.dir=$GERONIMO_HOME/server1 so it is found correctly. I think these variables should each receive a concrete definition as to the following: 1) What is the formal definition of this variable? 2) What, in Geronimo's run time, does this variable refer to? 3) When it is to be referenced in actual code, what should be the expected and intended use? 4) Where, in the Geronimo code, is this variable used? 5) Examples of how to use it, and how not to use it. We can put that on the Geronimo Wiki. Additionally, as I described in the thread discussion, I believe these variables are used incorrectly in a few places. It does not seem like it is hard to clean up. And documentation should prevent further confusion. I am willing to write the wiki documentation for this. I have already asked my employer to give me the permission to sign the Apache Individual Contributor License Agreement (CLA) so I can do something like this. Thanks. -RG clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts --- Key: GERONIMO-4229 URL: https://issues.apache.org/jira/browse/GERONIMO-4229 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Components: startup/shutdown Affects Versions: 2.1.1 Environment: ALL Reporter: Russell E Glaue Assignee: Jarek Gawor Priority: Minor Fix For: 2.1.4, 2.2 Attachments: geronimo-shell-home-base-2.patch I was not seeing consistent usage in the shell scripts of the following: - GERONIMO_HOME - GERONIMO_BASE - org.apache.geronimo.base.dir In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path
[jira] Updated: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Donald Woods updated GERONIMO-4229: --- Fix Version/s: 2.2 2.1.4 Assignee: Jarek Gawor Added fix versions and Jarek as the owner for now. We need to resolve the server instance problem before we release 2.2 and 2.1.4. clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts --- Key: GERONIMO-4229 URL: https://issues.apache.org/jira/browse/GERONIMO-4229 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Components: startup/shutdown Affects Versions: 2.1.1 Environment: ALL Reporter: Russell E Glaue Assignee: Jarek Gawor Priority: Minor Fix For: 2.1.4, 2.2 Attachments: geronimo-shell-home-base-2.patch I was not seeing consistent usage in the shell scripts of the following: - GERONIMO_HOME - GERONIMO_BASE - org.apache.geronimo.base.dir In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path. The attached patch corrects these. For more information, please see my thread on [EMAIL PROTECTED] Subject: GERONIMO_BASE vs. GERONIMO_HOME and org.apache.geronimo.base.dir And as an additional note, this patch resolves a few errors, but not these two: (1)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre 10:45:33,914 ERROR [LocalAttributeManager] Caught exception java.io.FileNotFoundException: /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties (No such file or directory) trying to open properties file /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties - Geronimo looks for the 'var/config/config-substitutions.properties' file according to 'org.apache.geronimo.server.dir' variable. However the bin/geronimo.sh script only sets -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE But I do not see how org.apache.geronimo.base.dir is used inside Geronimo. To fix we would have to set the variable -Dorg.apache.geronimo.server.dir=$GERONIMO_BASE too - but we cannot do that if we want users to be able to supply the -Dorg.apache.geronimo.server.name=relative_path variable outside of bin/geronimo.sh in $GERONIMO_OPTS env var. - So I could not figure out a good way to address this error, unless we overrided org.apache.geronimo.base.dir variable with whatever is in the org.apache.geronimo.server.dir variable, then change Geronimo to look for the configSubstitutionFile as 'org.apache.geronimo.base.dir/var/config/config-substitutions.properties' And it appears that Geronimo ignores org.apache.geronimo.base.dir in favor of org.apache.geronimo.home.dir anyway, so removing the configured org.apache.geronimo.base.dir property in bin/geronimo.sh does not seem to hurt anything - at first test, at least, it works for me. Then we just always set org.apache.geronimo.base.dir = org.apache.geronimo.server.dir - I would appreciate if someone shed light on the proper intended usage of the org.apache.geronimo.base.dir property. - (2)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre ... The java.io.tmpdir system property specifies a non-existent directory: /usr/local/geronimo-jetty6-javaee5-2.1.2/var/temp - read: /usr/local/geronimo/bin/geronimo.sh # GERONIMO_TMPDIR (Optional) Directory path location of temporary directory # the JVM should use (java.io.tmpdir). # Defaults to $GERONIMO_BASE/var/temp. if [ -z $GERONIMO_TMPDIR ] ; then # Define the java.io.tmpdir to use for Geronimo # A relative value will be resolved relative to each instance GERONIMO_TMPDIR=var/temp fi - This is incorrect documentation, as the error message illustrates. GERONIMO_TMPDIR does not default to $GERONIMO_BASE/var/temp Nor does it default to $GERONIMO_HOME/var/temp Instead: It defaults to Geronimo_install_directory/var/temp Or also org.apache.geronimo.server.dir/var/temp GERONIMO_TMPDIR should be set with $GERONIMO_BASE/var/temp Or also org.apache.geronimo.base.dir/var/temp to comply with the documentation - Setting GERONIMO_TMPDIR=$GERONIMO_BASE/var/temp in bin/geronimo.sh will actually conflict with anyone using the -Dorg.apache.geronimo.server.name=relative_path to run multiple instances as documented in the geronimo
Re: GERONIMO-4229
I agree Joe Donald Woods wrote: If it is no longer used, then #1 sounds like the right approach. -Donald Jarek Gawor wrote: Hi, I was looking at GERONIMO-4229 today (please see the bug and my comments for details). There is a remaining issue with the GERONIMO_BASE property and what it does. The Java system property that it sets is not used anywhere in the code and therefore that property is useless. I have a couple of ideas what we can do with it or how to fix it: 1) Totally get rid off GERONIMO_BASE in the shell scripts. It doesn't do anything right now anyway and it just confuses people. People that want to use multiple server instances will need to pass org.apache.geronimo.server.dir or org.apache.geronimo.server.name property using the GERONIMO_OPTS env. property (as it is documented today). or 2) Keep GERONIMO_BASE but only pass org.apache.geronimo.server.dir property (to the java process) if the user has set the GERONIMO_BASE env. property explicitly. That is, do not set GERONIMO_BASE property automatically within the script as it is done now. If it would be automatically set, the org.apache.geronimo.server.name property (passed via GERONIMO_OPTS) would always be ignored. Thoughts? Jarek
Re: GERONIMO-4229
comments inline... --- On Mon, 12/1/08, Jarek Gawor [EMAIL PROTECTED] wrote: From: Jarek Gawor [EMAIL PROTECTED] Subject: GERONIMO-4229 To: Geronimo Dev dev@geronimo.apache.org Date: Monday, December 1, 2008, 5:33 PM Hi, I was looking at GERONIMO-4229 today (please see the bug and my comments for details). There is a remaining issue with the GERONIMO_BASE property and what it does. The Java system property that it sets is not used anywhere in the code and therefore that property is useless. I have a couple of ideas what we can do with it or how to fix it: 1) Totally get rid off GERONIMO_BASE in the shell scripts. It doesn't do anything right now anyway and it just confuses people. People that want to use multiple server instances will need to pass org.apache.geronimo.server.dir or org.apache.geronimo.server.name property using the GERONIMO_OPTS env. property (as it is documented today). +1 Thanks Anita or 2) Keep GERONIMO_BASE but only pass org.apache.geronimo.server.dir property (to the java process) if the user has set the GERONIMO_BASE env. property explicitly. That is, do not set GERONIMO_BASE property automatically within the script as it is done now. If it would be automatically set, the org.apache.geronimo.server.name property (passed via GERONIMO_OPTS) would always be ignored. Thoughts? Jarek
Re: GERONIMO-4229
If it is no longer used, then #1 sounds like the right approach. -Donald Jarek Gawor wrote: Hi, I was looking at GERONIMO-4229 today (please see the bug and my comments for details). There is a remaining issue with the GERONIMO_BASE property and what it does. The Java system property that it sets is not used anywhere in the code and therefore that property is useless. I have a couple of ideas what we can do with it or how to fix it: 1) Totally get rid off GERONIMO_BASE in the shell scripts. It doesn't do anything right now anyway and it just confuses people. People that want to use multiple server instances will need to pass org.apache.geronimo.server.dir or org.apache.geronimo.server.name property using the GERONIMO_OPTS env. property (as it is documented today). or 2) Keep GERONIMO_BASE but only pass org.apache.geronimo.server.dir property (to the java process) if the user has set the GERONIMO_BASE env. property explicitly. That is, do not set GERONIMO_BASE property automatically within the script as it is done now. If it would be automatically set, the org.apache.geronimo.server.name property (passed via GERONIMO_OPTS) would always be ignored. Thoughts? Jarek
[jira] Commented: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12652165#action_12652165 ] Jarek Gawor commented on GERONIMO-4229: --- Committed your patch to trunk (revision 722243) and branches/2.1 (revision 722244). Thanks a lot! clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts --- Key: GERONIMO-4229 URL: https://issues.apache.org/jira/browse/GERONIMO-4229 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Components: startup/shutdown Affects Versions: 2.1.1 Environment: ALL Reporter: Russell E Glaue Priority: Minor Attachments: geronimo-shell-home-base-2.patch I was not seeing consistent usage in the shell scripts of the following: - GERONIMO_HOME - GERONIMO_BASE - org.apache.geronimo.base.dir In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path. The attached patch corrects these. For more information, please see my thread on [EMAIL PROTECTED] Subject: GERONIMO_BASE vs. GERONIMO_HOME and org.apache.geronimo.base.dir And as an additional note, this patch resolves a few errors, but not these two: (1)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre 10:45:33,914 ERROR [LocalAttributeManager] Caught exception java.io.FileNotFoundException: /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties (No such file or directory) trying to open properties file /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties - Geronimo looks for the 'var/config/config-substitutions.properties' file according to 'org.apache.geronimo.server.dir' variable. However the bin/geronimo.sh script only sets -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE But I do not see how org.apache.geronimo.base.dir is used inside Geronimo. To fix we would have to set the variable -Dorg.apache.geronimo.server.dir=$GERONIMO_BASE too - but we cannot do that if we want users to be able to supply the -Dorg.apache.geronimo.server.name=relative_path variable outside of bin/geronimo.sh in $GERONIMO_OPTS env var. - So I could not figure out a good way to address this error, unless we overrided org.apache.geronimo.base.dir variable with whatever is in the org.apache.geronimo.server.dir variable, then change Geronimo to look for the configSubstitutionFile as 'org.apache.geronimo.base.dir/var/config/config-substitutions.properties' And it appears that Geronimo ignores org.apache.geronimo.base.dir in favor of org.apache.geronimo.home.dir anyway, so removing the configured org.apache.geronimo.base.dir property in bin/geronimo.sh does not seem to hurt anything - at first test, at least, it works for me. Then we just always set org.apache.geronimo.base.dir = org.apache.geronimo.server.dir - I would appreciate if someone shed light on the proper intended usage of the org.apache.geronimo.base.dir property. - (2)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre ... The java.io.tmpdir system property specifies a non-existent directory: /usr/local/geronimo-jetty6-javaee5-2.1.2/var/temp - read: /usr/local/geronimo/bin/geronimo.sh # GERONIMO_TMPDIR (Optional) Directory path location of temporary directory # the JVM should use (java.io.tmpdir). # Defaults to $GERONIMO_BASE/var/temp. if [ -z $GERONIMO_TMPDIR ] ; then # Define the java.io.tmpdir to use for Geronimo # A relative value will be resolved relative to each instance GERONIMO_TMPDIR=var/temp fi - This is incorrect documentation, as the error message illustrates. GERONIMO_TMPDIR does not default to $GERONIMO_BASE/var/temp Nor does it default to $GERONIMO_HOME/var/temp Instead: It defaults to Geronimo_install_directory/var/temp Or also org.apache.geronimo.server.dir/var/temp GERONIMO_TMPDIR should be set with $GERONIMO_BASE/var/temp Or also org.apache.geronimo.base.dir/var/temp to comply with the documentation - Setting GERONIMO_TMPDIR=$GERONIMO_BASE/var/temp in bin/geronimo.sh will actually conflict with anyone using the -Dorg.apache.geronimo.server.name=relative_path to run multiple instances as documented in the geronimo wiki. The absolute path is resolved to org.apache.geronimo.server.dir/java.io.tmpdir IF java.io.tmpdir is a relative path
[jira] Commented: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12652171#action_12652171 ] Jarek Gawor commented on GERONIMO-4229: --- I looked at this a bit and this is pretty screwed up. First, the org.apache.geronimo.base.dir is not used anywhere in Geronimo code (can't find any references to it). I think the scripts should be passing -Dorg.apache.geronimo.home.dir=$GERONIMO_HOME instead. Second, the $GERONIMO_BASE property corresponds to org.apache.geronimo.server.dir property in code. But we cannot automatically set and pass this property in the scripts as the org.apache.geronimo.server.name property will be totally ignored. That is, what is documented right now in how to setup and run multiple servers will not work anymore. So, we will need to fix the code or scripts somehow. Maybe the easiest thing right now is to get rid off the GERONIMO_BASE property in scripts (it doesn't do anything right now anyway since the org.apache.geronimo.base.dir is not referenced in the code anywhere). In that case, the user either would need to pass the org.apache.geronimo.server.dir or org.apache.geronimo.server.name property via GERONIMO_OPTS env. property. clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts --- Key: GERONIMO-4229 URL: https://issues.apache.org/jira/browse/GERONIMO-4229 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Components: startup/shutdown Affects Versions: 2.1.1 Environment: ALL Reporter: Russell E Glaue Priority: Minor Attachments: geronimo-shell-home-base-2.patch I was not seeing consistent usage in the shell scripts of the following: - GERONIMO_HOME - GERONIMO_BASE - org.apache.geronimo.base.dir In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path. The attached patch corrects these. For more information, please see my thread on [EMAIL PROTECTED] Subject: GERONIMO_BASE vs. GERONIMO_HOME and org.apache.geronimo.base.dir And as an additional note, this patch resolves a few errors, but not these two: (1)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre 10:45:33,914 ERROR [LocalAttributeManager] Caught exception java.io.FileNotFoundException: /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties (No such file or directory) trying to open properties file /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties - Geronimo looks for the 'var/config/config-substitutions.properties' file according to 'org.apache.geronimo.server.dir' variable. However the bin/geronimo.sh script only sets -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE But I do not see how org.apache.geronimo.base.dir is used inside Geronimo. To fix we would have to set the variable -Dorg.apache.geronimo.server.dir=$GERONIMO_BASE too - but we cannot do that if we want users to be able to supply the -Dorg.apache.geronimo.server.name=relative_path variable outside of bin/geronimo.sh in $GERONIMO_OPTS env var. - So I could not figure out a good way to address this error, unless we overrided org.apache.geronimo.base.dir variable with whatever is in the org.apache.geronimo.server.dir variable, then change Geronimo to look for the configSubstitutionFile as 'org.apache.geronimo.base.dir/var/config/config-substitutions.properties' And it appears that Geronimo ignores org.apache.geronimo.base.dir in favor of org.apache.geronimo.home.dir anyway, so removing the configured org.apache.geronimo.base.dir property in bin/geronimo.sh does not seem to hurt anything - at first test, at least, it works for me. Then we just always set org.apache.geronimo.base.dir = org.apache.geronimo.server.dir - I would appreciate if someone shed light on the proper intended usage of the org.apache.geronimo.base.dir property. - (2)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre ... The java.io.tmpdir system property specifies a non-existent directory: /usr/local/geronimo-jetty6-javaee5-2.1.2/var/temp - read: /usr/local/geronimo/bin/geronimo.sh # GERONIMO_TMPDIR (Optional) Directory path location of temporary directory # the JVM should use (java.io.tmpdir). # Defaults to $GERONIMO_BASE/var/temp. if [ -z
GERONIMO-4229
Hi, I was looking at GERONIMO-4229 today (please see the bug and my comments for details). There is a remaining issue with the GERONIMO_BASE property and what it does. The Java system property that it sets is not used anywhere in the code and therefore that property is useless. I have a couple of ideas what we can do with it or how to fix it: 1) Totally get rid off GERONIMO_BASE in the shell scripts. It doesn't do anything right now anyway and it just confuses people. People that want to use multiple server instances will need to pass org.apache.geronimo.server.dir or org.apache.geronimo.server.name property using the GERONIMO_OPTS env. property (as it is documented today). or 2) Keep GERONIMO_BASE but only pass org.apache.geronimo.server.dir property (to the java process) if the user has set the GERONIMO_BASE env. property explicitly. That is, do not set GERONIMO_BASE property automatically within the script as it is done now. If it would be automatically set, the org.apache.geronimo.server.name property (passed via GERONIMO_OPTS) would always be ignored. Thoughts? Jarek
[jira] Commented: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12652186#action_12652186 ] Russell E Glaue commented on GERONIMO-4229: --- I have been using Geronimo, without my patch, successfully without problem if I perform the following: perform 1) expand geronimo-jetty6-javaee5-2.1.2 in /usr/local/ 2) cd /usr/local; ln -s geronimo-jetty6-javaee5-2.1.2 geronimo 2) create the directory /usr/local/geronimo/server1 3) move /usr/local/geronimo/var to /usr/local/geronimo/server1/var 4) start geronimo with this shell command: - cd /usr/local/geronimo export GERONIMO_HOME=/usr/local/geronimo JAVA_OPTS=-Dorg.apache.geronimo.server.dir=$GERONIMO_HOME/server1 ${GERONIMO_HOME}/bin/startup.sh - /perform The startup.sh script will set GERONIMO_BASE = GERONIMO_HOME if GERONIMO_BASE is not defined. I cannot set -Dorg.apache.geronimo.server.name=server1 as it will look for it as /usr/local/geronimo-jetty6-javaee5-2.1.2/server1 So I have to set -Dorg.apache.geronimo.server.dir=$GERONIMO_HOME/server1 so it is found correctly. I think these variables should each receive a concrete definition as to the following: 1) What is the formal definition of this variable? 2) What, in Geronimo's run time, does this variable refer to? 3) When it is to be referenced in actual code, what should be the expected and intended use? 4) Where, in the Geronimo code, is this variable used? 5) Examples of how to use it, and how not to use it. We can put that on the Geronimo Wiki. Additionally, as I described in the thread discussion, I believe these variables are used incorrectly in a few places. It does not seem like it is hard to clean up. And documentation should prevent further confusion. I am willing to write the wiki documentation for this. I have already asked my employer to give me the permission to sign the Apache Individual Contributor License Agreement (CLA) so I can do something like this. Thanks. -RG clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts --- Key: GERONIMO-4229 URL: https://issues.apache.org/jira/browse/GERONIMO-4229 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Components: startup/shutdown Affects Versions: 2.1.1 Environment: ALL Reporter: Russell E Glaue Priority: Minor Attachments: geronimo-shell-home-base-2.patch I was not seeing consistent usage in the shell scripts of the following: - GERONIMO_HOME - GERONIMO_BASE - org.apache.geronimo.base.dir In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path. The attached patch corrects these. For more information, please see my thread on [EMAIL PROTECTED] Subject: GERONIMO_BASE vs. GERONIMO_HOME and org.apache.geronimo.base.dir And as an additional note, this patch resolves a few errors, but not these two: (1)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre 10:45:33,914 ERROR [LocalAttributeManager] Caught exception java.io.FileNotFoundException: /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties (No such file or directory) trying to open properties file /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties - Geronimo looks for the 'var/config/config-substitutions.properties' file according to 'org.apache.geronimo.server.dir' variable. However the bin/geronimo.sh script only sets -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE But I do not see how org.apache.geronimo.base.dir is used inside Geronimo. To fix we would have to set the variable -Dorg.apache.geronimo.server.dir=$GERONIMO_BASE too - but we cannot do that if we want users to be able to supply the -Dorg.apache.geronimo.server.name=relative_path variable outside of bin/geronimo.sh in $GERONIMO_OPTS env var. - So I could not figure out a good way to address this error, unless we overrided org.apache.geronimo.base.dir variable with whatever is in the org.apache.geronimo.server.dir variable, then change Geronimo to look for the configSubstitutionFile as 'org.apache.geronimo.base.dir/var/config/config-substitutions.properties' And it appears that Geronimo ignores org.apache.geronimo.base.dir in favor of org.apache.geronimo.home.dir anyway, so removing the configured org.apache.geronimo.base.dir property in bin/geronimo.sh does not seem to hurt anything - at first test, at least, it works for me. Then we just always set
[jira] Created: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts --- Key: GERONIMO-4229 URL: https://issues.apache.org/jira/browse/GERONIMO-4229 Project: Geronimo Issue Type: Bug Security Level: public (Regular issues) Components: startup/shutdown Affects Versions: 2.1.1 Environment: ALL Reporter: Russell E Glaue Priority: Minor I was not seeing consistent usage in the shell scripts of the following: - GERONIMO_HOME - GERONIMO_BASE - org.apache.geronimo.base.dir In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path. The attached patch corrects these. For more information, please see my thread on [EMAIL PROTECTED] Subject: GERONIMO_BASE vs. GERONIMO_HOME and org.apache.geronimo.base.dir And as an additional note, this patch resolves a few errors, but not these two: (1)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre 10:45:33,914 ERROR [LocalAttributeManager] Caught exception java.io.FileNotFoundException: /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties (No such file or directory) trying to open properties file /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties - Geronimo looks for the 'var/config/config-substitutions.properties' file according to 'org.apache.geronimo.server.dir' variable. However the bin/geronimo.sh script only sets -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE But I do not see how org.apache.geronimo.base.dir is used inside Geronimo. To fix we would have to set the variable -Dorg.apache.geronimo.server.dir=$GERONIMO_BASE too - but we cannot do that if we want users to be able to supply the -Dorg.apache.geronimo.server.name=relative_path variable outside of bin/geronimo.sh in $GERONIMO_OPTS env var. - So I could not figure out a good way to address this error, unless we overrided org.apache.geronimo.base.dir variable with whatever is in the org.apache.geronimo.server.dir variable, then change Geronimo to look for the configSubstitutionFile as 'org.apache.geronimo.base.dir/var/config/config-substitutions.properties' And it appears that Geronimo ignores org.apache.geronimo.base.dir in favor of org.apache.geronimo.home.dir anyway, so removing the configured org.apache.geronimo.base.dir property in bin/geronimo.sh does not seem to hurt anything - at first test, at least, it works for me. Then we just always set org.apache.geronimo.base.dir = org.apache.geronimo.server.dir - I would appreciate if someone shed light on the proper intended usage of the org.apache.geronimo.base.dir property. - (2)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre ... The java.io.tmpdir system property specifies a non-existent directory: /usr/local/geronimo-jetty6-javaee5-2.1.2/var/temp - read: /usr/local/geronimo/bin/geronimo.sh # GERONIMO_TMPDIR (Optional) Directory path location of temporary directory # the JVM should use (java.io.tmpdir). # Defaults to $GERONIMO_BASE/var/temp. if [ -z $GERONIMO_TMPDIR ] ; then # Define the java.io.tmpdir to use for Geronimo # A relative value will be resolved relative to each instance GERONIMO_TMPDIR=var/temp fi - This is incorrect documentation, as the error message illustrates. GERONIMO_TMPDIR does not default to $GERONIMO_BASE/var/temp Nor does it default to $GERONIMO_HOME/var/temp Instead: It defaults to Geronimo_install_directory/var/temp Or also org.apache.geronimo.server.dir/var/temp GERONIMO_TMPDIR should be set with $GERONIMO_BASE/var/temp Or also org.apache.geronimo.base.dir/var/temp to comply with the documentation - Setting GERONIMO_TMPDIR=$GERONIMO_BASE/var/temp in bin/geronimo.sh will actually conflict with anyone using the -Dorg.apache.geronimo.server.name=relative_path to run multiple instances as documented in the geronimo wiki. The absolute path is resolved to org.apache.geronimo.server.dir/java.io.tmpdir IF java.io.tmpdir is a relative path. So setting the absolute path in bin/geronimo.sh would require the user to additionally specify the absolute path of $GERONIMO_TMPDIR into their geronimo instance. The change, causing the property org.apache.geronimo.base.dir to be used, would have to be completed internally in the java classes that set the properties. - How To Produce The Errors the attached patch fixes: perform 1) expand geronimo-jetty6-javaee5-2.1.2 in /usr/local/ 2) cd /usr/local; ln -s geronimo-jetty6-javaee5-2.1.2
[jira] Updated: (GERONIMO-4229) clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts
[ https://issues.apache.org/jira/browse/GERONIMO-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Russell E Glaue updated GERONIMO-4229: -- Attachment: geronimo-shell-home-base-2.patch patch to clarify use of GERONIMO_HOME vs. GERONIMO_BASE in the shell/batch scripts. clarify use of GERONIMO_HOME vs. GERONIMO_BASE in shell scripts --- Key: GERONIMO-4229 URL: https://issues.apache.org/jira/browse/GERONIMO-4229 Project: Geronimo Issue Type: Bug Security Level: public(Regular issues) Components: startup/shutdown Affects Versions: 2.1.1 Environment: ALL Reporter: Russell E Glaue Priority: Minor Attachments: geronimo-shell-home-base-2.patch I was not seeing consistent usage in the shell scripts of the following: - GERONIMO_HOME - GERONIMO_BASE - org.apache.geronimo.base.dir In 4 of the scripts, GERONIMO_BASE was used where GERONIMO_HOME should have been used, or GERONIMO_BASE should be used to complete the path to the temp file, otherwise the GeronimoInstallationPath is used to complete the temp file path. The attached patch corrects these. For more information, please see my thread on [EMAIL PROTECTED] Subject: GERONIMO_BASE vs. GERONIMO_HOME and org.apache.geronimo.base.dir And as an additional note, this patch resolves a few errors, but not these two: (1)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre 10:45:33,914 ERROR [LocalAttributeManager] Caught exception java.io.FileNotFoundException: /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties (No such file or directory) trying to open properties file /usr/local/geronimo-jetty6-javaee5-2.1.1/var/config/config-substitutions.properties - Geronimo looks for the 'var/config/config-substitutions.properties' file according to 'org.apache.geronimo.server.dir' variable. However the bin/geronimo.sh script only sets -Dorg.apache.geronimo.base.dir=$GERONIMO_BASE But I do not see how org.apache.geronimo.base.dir is used inside Geronimo. To fix we would have to set the variable -Dorg.apache.geronimo.server.dir=$GERONIMO_BASE too - but we cannot do that if we want users to be able to supply the -Dorg.apache.geronimo.server.name=relative_path variable outside of bin/geronimo.sh in $GERONIMO_OPTS env var. - So I could not figure out a good way to address this error, unless we overrided org.apache.geronimo.base.dir variable with whatever is in the org.apache.geronimo.server.dir variable, then change Geronimo to look for the configSubstitutionFile as 'org.apache.geronimo.base.dir/var/config/config-substitutions.properties' And it appears that Geronimo ignores org.apache.geronimo.base.dir in favor of org.apache.geronimo.home.dir anyway, so removing the configured org.apache.geronimo.base.dir property in bin/geronimo.sh does not seem to hurt anything - at first test, at least, it works for me. Then we just always set org.apache.geronimo.base.dir = org.apache.geronimo.server.dir - I would appreciate if someone shed light on the proper intended usage of the org.apache.geronimo.base.dir property. - (2)- Using GERONIMO_BASE: /usr/local/geronimo/server1 Using GERONIMO_HOME: /usr/local/geronimo Using GERONIMO_TMPDIR: var/temp Using JRE_HOME:/usr/jdk1.5.0_07/jre ... The java.io.tmpdir system property specifies a non-existent directory: /usr/local/geronimo-jetty6-javaee5-2.1.2/var/temp - read: /usr/local/geronimo/bin/geronimo.sh # GERONIMO_TMPDIR (Optional) Directory path location of temporary directory # the JVM should use (java.io.tmpdir). # Defaults to $GERONIMO_BASE/var/temp. if [ -z $GERONIMO_TMPDIR ] ; then # Define the java.io.tmpdir to use for Geronimo # A relative value will be resolved relative to each instance GERONIMO_TMPDIR=var/temp fi - This is incorrect documentation, as the error message illustrates. GERONIMO_TMPDIR does not default to $GERONIMO_BASE/var/temp Nor does it default to $GERONIMO_HOME/var/temp Instead: It defaults to Geronimo_install_directory/var/temp Or also org.apache.geronimo.server.dir/var/temp GERONIMO_TMPDIR should be set with $GERONIMO_BASE/var/temp Or also org.apache.geronimo.base.dir/var/temp to comply with the documentation - Setting GERONIMO_TMPDIR=$GERONIMO_BASE/var/temp in bin/geronimo.sh will actually conflict with anyone using the -Dorg.apache.geronimo.server.name=relative_path to run multiple instances as documented in the geronimo wiki. The absolute path is resolved to org.apache.geronimo.server.dir/java.io.tmpdir IF java.io.tmpdir is a relative path. So setting