Error starting server: com.rb.util.system.a130: No info for

Posted by surferking on 22-Nov-2013 00:15

Have installed latest Rollbase onto a new server to evaluate, but getting this in the logs...

==>> host1.domain.com Server is starting
com.rb.util.system.a130: No info for component host1.domain.com
at p16.a510.createInstance(a510.java:33)
at com.rb.prod.logics.servlet.Starter.init(Starter.java:42)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)

The components file looks fine to me. I have changed the 'http' to 'https' for the ExternalRoot, as per another older Rollbase server we already have working. Otherwise, it's as per the distribution.

<!-- Sample configuration file for Progress Rollbase Private Cloud evaluation -->

<Components>

<Component name="MASTER" type="MASTER">
<DisplayName>Master Server</DisplayName>
<InternalRoot>http://localhost:8080/master/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/master/</ExternalRoot>
<Props>
<ResourcesCheck>2</ResourcesCheck>
<ExpirationDays>30</ExpirationDays>
</Props>
</Component>

<Component name="PROD1" type="PROD">
<DisplayName>Production Server 1</DisplayName>
<InternalRoot>http://localhost:8080/prod1/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/prod1/</ExternalRoot>
<Props>
<Power>1.0</Power>
</Props>
</Component>

<Component name="REST" type="REST">
<DisplayName>REST Server</DisplayName>
<InternalRoot>http://localhost:8080/rest/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/rest/</ExternalRoot>
</Component>

<Component name="RSS" type="RSS">
<DisplayName>RSS Server</DisplayName>
<InternalRoot>http://localhost:8080/rss/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/rss/</ExternalRoot>
<Props>
<MinRequestIntervalMins>60</MinRequestIntervalMins>
</Props>
</Component>

<Component name="ROUTER" type="ROUTER">
<DisplayName>Router Server</DisplayName>
<InternalRoot>http://localhost:8080/router/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/router/</ExternalRoot>
<Props>
<StatusCheckInterval>10</StatusCheckInterval>
<CustWeight>3</CustWeight>
<CleckLoginURL>true</CleckLoginURL>
</Props>
</Component>

<Component name="SEARCH" type="SEARCH">
<DisplayName>Search Server</DisplayName>
<InternalRoot>http://localhost:8080/search/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/search/</ExternalRoot>
<Props>
<CloseAfterMin>60</CloseAfterMin>
<MaxSearchResults>200</MaxSearchResults>
<LockTimeoutSec>30</LockTimeoutSec>
<RAMBufferMB>64</RAMBufferMB>
</Props>
</Component>

<Component name="STORAGE" type="STORAGE">
<DisplayName>Storage Server</DisplayName>
<InternalRoot>http://localhost:8080/storage/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/storage/</ExternalRoot>
<Props>
<LogFormat>[%d] %m%n</LogFormat>
<MaxBackupIndex>3</MaxBackupIndex>
<CloseAfterMin>30</CloseAfterMin>
<LogFileSize>300KB</LogFileSize>
<MaxSystemBackups>5</MaxSystemBackups>
</Props>
</Component>

<Component name="WORKFLOW" type="WORKFLOW">
<DisplayName>Workflow Server</DisplayName>
<InternalRoot>http://localhost:8080/workflow/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/workflow/</ExternalRoot>
<Props>
<EventCheckMins>1</EventCheckMins>
</Props>
</Component>

<Component name="WEBAPI" type="WEBAPI">
<DisplayName>SOAP Server</DisplayName>
<InternalRoot>http://localhost:8080/webapi/</InternalRoot>
<ExternalRoot>https://{!#HOST_NAME}/webapi/</ExternalRoot>
</Component>

</Components>

Any ideas what is causing this particular exception?

All Replies

Posted by Laurent on 22-Nov-2013 08:31

Do you happen to have environment variable PROD_SERVER set by any chance?

Posted by Laurent on 22-Nov-2013 08:36

P.S: the rationale behind my question is that, based on the stack trace provided, Rollbase is trying to start the Production Server with the wrong name (host1.domain.com).

To determine the Production Server name, Rollbase is first looking at environment variable PROD_SERVER and takes this value if set. If it cannot find it, it will use PROD1.

Posted by surferking on 22-Nov-2013 23:14

No, 'PROD_SERVER' isn't set. I haven't intentionally set it anywhere, and I don't recall any mention of it in the docs while I was setting it up. The tomcat7 process doesn't have it set...

tomcat7  23913  0.1 15.3 1135020 155904 ?      Sl   Nov22   2:32 /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -DROLLBASE_HOME=/data/rollbase -DSharedDir=/data/rollbase -DServerName=host.domain.com -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed -classpath /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp org.apache.catalina.startup.Bootstrap start SHLVL=1 OLDPWD=/tmp/tomcat7-tomcat7-tmp HOME=/usr/share/tomcat7 TOMCAT7_GROUP=tomcat7 TOMCAT7_USER=tomcat7 CATALINA_HOME=/usr/share/tomcat7 CATALINA_PID=/var/run/tomcat7.pid JSSE_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/ _=/usr/share/tomcat7/bin/catalina.sh TERM=xterm CATALINA_TMPDIR=/tmp/tomcat7-tomcat7-tmp PATH=/bin:/usr/bin:/sbin:/usr/sbin JAVA_OPTS=-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -DROLLBASE_HOME=/data/rollbase -DSharedDir=/data/rollbase -DServerName=host.domain.com -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager LANG=en_US.UTF-8 PWD=/var/lib/tomcat7 JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 CATALINA_BASE=/var/lib/tomcat7

There is ' ServerName' setting, which is what I understood from the docs (Ch18) was where it should be set. BTW, it's 'host.domain.com' for the purposes of this forum post, real hostname withheld.

Do I need to set a PROD_SERVER env var in the Tomcat environment (i.e. in /etc/default/tomcat7 on Ubuntu) for this to work? I haven't had to do that on our older server, which runs an older version of Rollbase, and that seems to work fine.

Thanks.

Posted by Laurent on 22-Nov-2013 23:40

The ServerName setting is also taken into account although it has been deprecated. Either way, I see two workarounds: 1) set PROD_SERVER environment to PROD1 or 2) rename your PRoduction component name to host1.domain.com.

As far as the change in behavior, what is the older version of Rollbase?

Posted by surferking on 24-Nov-2013 09:38

1) No luck setting PROD_SERVER environment variable *or* system property to either 'PROD1' or 'host1.domain.com'.

2) How do I do that?

Older version of Rollbase: under System Information it says '1.0.0.0'. System files, ID is 75225765, and there is one jar with a version - rb_util.jar 08/02/2013 233037.

Posted by Laurent on 24-Nov-2013 10:22

For 1) remember you may have to reboot your machine for the system environment variable to be taken into account.

For 2) edit the Production component in components.xml so that it says <Component name="host1.domain.com" type="PROD">

It's interesting that you didn't have the problem with Rollbase 1.0 as it seems to be using the exact same mechanism to determine the default production component.

Posted by surferking on 25-Nov-2013 08:14

Hi,

1) There's actually no need to reboot to have system environment variables take effect - unless perhaps you're running Windows :) Anyway, I must've been doing something wrong before, as I've now added the following line to the bottom of /etc/default/tomcat7 and 'sudo service tomcat7 restart' and the exception now longer comes up...

export PROD_SERVER=PROD1

2) I tried this too. It also works in that the exception no longer appears in the log on starting up. However, for now, I've gone with the environment variable method above to solve it.

I'm also curious as to why these tweaks weren't necessary for our 1.0 install, which I'm using as a reference alongside the installation instructions (which are largely the same as before, so I assume not much has changed between 1.0 and 2.0 at that level).

Anyway, this is now resolved. Thanks for your assistance.

This thread is closed