On 30/06/2010 12:45, Tomislav Petrović wrote:
> 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?)?:

Acceptable isn't perhaps the right word, you can set whatever you want.

I'd let the default settings handle it and monitor the heap and garbage
collector activity to see what needs changing.

A problem I'd be concerned about, for example, is objects with a low to
medium length life migrating into a higher survivor generation when they
really don't need to, under load conditions where your app is producing
larger numbers of objects because MaxNewSize is low.  It's not
tremendously difficult to produce 16m of objects.


>>> -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.

It depends what your load tests did and which JVM level you ran them on,
I guess.  Did you have the same heap/memory settings as in the above?

As Chuck's around you'll get better advice from him on GC, if he hasn't
already corrected me ;).


p


> -- 
> Tomy <t.petro...@inet.hr>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to