Pid said on 30.6.2010 13:12:
On 30/06/2010 12:04, Tomislav Petrović wrote:
Tomislav Petrović said on 30.6.2010 12:59:
Pid said on 29.6.2010 23:20:
On 29/06/2010 19:29, Konstantin Kolinko wrote:
2010/6/29 Caldarale, Charles R<chuck.caldar...@unisys.com>:
From: Tomislav Petrović [mailto:t.petro...@inet.hr]
Subject: Re: Webapp reloading issue and intermittent 404 errors

org.apache.catalina.util.RequestUtil.normalize(RequestUtil.java:131)

IIRC, you are not the first person to report an exception at this
spot in the code.  (Unfortunately, I can't locate the other thread
at the moment, but it was fairly recent.)

That was
https://issues.apache.org/bugzilla/show_bug.cgi?id=49488

    The code in question has been run through many test cases,
inside and outside of Tomcat, and does not appear to contain any
errors (although it could be slightly more efficient).

Weird.  I couldn't find that in bugzilla.  Anyhow, it's Windows this
time too.


Tomislav: where is the Tomcat installation on the filing system, and
where are the webapps being deployed from, if not tomcat/webapps?

What type of filing system is it?


Also, did you manage to get hold of the config files yet?

Good news is when I put reloadable=false on context problem (both of
them, intermittent 404 too) went away, so I have workaround. Bad news
is server is going into production so no messing with it no more.

Yes, this is same bug as one in bugzilla, don't know if what triggered
is same.

Here is detailed info (my first suspect is<Resource>s in server.xml
but this is only my guess.

Tomcat is Apache Tomcat/6.0.24, running without tcnative-1.dll

Java version is: 1.6 update 18

Windows version: 2003 SP2 (32 bit)

NTFS file system is used, Tomcat is installed in "D:\Program
Files\Apache Software Foundation\Tomcat 6.0" folder, webapp is in
"D:\Program Files\Apache Software Foundation\Tomcat
6.0\webapps\some_name" folder.

This is content of server.xml, I believe that all other conf files are
at their default values (except for pwd in users file), feel free to
ask for any other conf file.

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">

    <Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
    <Listener className="org.apache.catalina.core.JasperListener" />
    <Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
    <Listener
className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />


    <GlobalNamingResources>
      <Resource name="UserDatabase" auth="Container"
                type="org.apache.catalina.UserDatabase"
                description="User database that can be updated and saved"

factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                pathname="conf/tomcat-users.xml" />
      <Resource name="jdbc/SomeDB" auth="Container"
type="javax.sql.DataSource"
           maxActive="48"
           maxIdle="10"
           maxWait="10000"
           driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
           username="auser"
           password="*********"

url="jdbc:sqlserver://**.***.*.**:1433;databaseName=SomeName;loginTimeout=5"

           removeAbandoned="true"
           removeAbandonedTimeout="60"
           logAbandoned="true"
           validationQuery="SELECT 1"/>
      <Resource name="jdbc/SomeDB2" auth="Container"
type="javax.sql.DataSource"
           maxActive="48"
           maxIdle="10"
           maxWait="10000"
           driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
           username="auser2"
           password="**********"
           url="jdbc:sqlserver://**.***.*.**:1433;databaseName=SomeName2"
           removeAbandoned="true"
           removeAbandonedTimeout="60"
           logAbandoned="true"
           validationQuery="SELECT 1"/>

    </GlobalNamingResources>

    <Service name="Catalina">

      <Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443" />
      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

      <Engine name="Catalina" defaultHost="localhost">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>

        <Host name="localhost"  appBase="webapps"
              unpackWARs="true" autoDeploy="true"
              xmlValidation="false" xmlNamespaceAware="false">

          <Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
                 prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>

     <Context path="/some_webapp" docBase="/some_webapp" debug="0"
reloadable="true" crossContext="true">
     <ResourceLink global="jdbc/SomeDB" name="jdbc/SomeDB"
type="javax.sql.DataSource" />
     <ResourceLink global="jdbc/SomeDB2" name="jdbc/SomeDB2"
type="javax.sql.DataSource" />
          </Context>
        </Host>
      </Engine>
    </Service>
</Server>

Let me know if I can provide any more info or update bugzilla (don't
have acc but can open).

Thanks to all for your quick responses and help.
--
Tomy<t.petro...@inet.hr>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org




Forgot to say:
Tomcat service is started with following parameters:

JVM: have to check whether server or client, not sure at the moment.

Server, one would hope.  Did you find out the exact version?

Classpath: D:\Program Files\Apache Software Foundation\Tomcat
6.0\bin\bootstrap.jar

JavaOptions:
-Dcatalina.home=D:\Program Files\Apache Software Foundation\Tomcat 6.0
-Dcatalina.base=D:\Program Files\Apache Software Foundation\Tomcat 6.0
-Djava.endorsed.dirs=D:\Program Files\Apache Software Foundation\Tomcat
6.0\endorsed

Do you actually have an 'endorsed' directory in your Tomcat
installation?  What's in it if you do?


No I don't, this folder doesn't exist, will have to investigate who put it in here.

-Djava.io.tmpdir=D:\Program Files\Apache Software Foundation\Tomcat
6.0\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:\Program Files\Apache Software
Foundation\Tomcat 6.0\conf\logging.properties
-XX:NewSize=16m
-XX:MaxNewSize=16m

That seems small.  Do you know why those values are set?


Have to ask guy who installed it (installation was done by customer IT, not me :(). What are acceptable values for these and what do they influence (maybe should be left to defaults?)?:

-Xms512m
-Xmx512m
-Xincgc

That's probably not the best choice of garbage collector if you have a
new JVM and multiple processors/cores.


Can you please point me in some doc documentation why it isn't ok cause we had better experience with incgc than default one on our load tests.


--
Tomy <t.petro...@inet.hr>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to