Re: Is ARM64 architecture officially supported ?

2020-04-17 Thread Emilio Fernandes
Hi Mark,

Thank you for the answer!

El vie., 17 abr. 2020 a las 15:13, Mark Thomas ()
escribió:

> On 17/04/2020 12:04, Emilio Fernandes wrote:
> > Hola Tomcat community!
> >
> > We consider using AWS Graviton [1] based instances which use ARM64
> > processors for our backend services.
> > I've googled around and found [2] saying that Tomcat is being tested on
> > ARM64 architecture at TravisCI! This is great!
> > Does this mean that Tomcat is officially supported on ARM64 ? I was not
> > able to find any specific documentation listing which platforms are
> > officially supported.
>
> Tomcat is supported on any certified Java runtime providing it meets the
> minimum Java version requirements for the Tomcat version you are using.
> There are no restrictions on hardware or operating system.
>
>
Right, for Java based apps it just depends whether there is a JDK/JRE for
the CPU architecture.
What about the C based code - tcnative and the connectors (mod_jk) ?


> The more exotic the platform and/or operating system, the less likely
> the developers will have access to a version for testing so platform
> specific issues may be harder to track down.
>

At the moment ARM64 is still exotic on the server side but since cloud
providers (e.g. AWS and Huawei) started promoting it we think it might
become more popular in near future.

Gracias,
Emilio


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


Is ARM64 architecture officially supported ?

2020-04-17 Thread Emilio Fernandes
Hola Tomcat community!

We consider using AWS Graviton [1] based instances which use ARM64
processors for our backend services.
I've googled around and found [2] saying that Tomcat is being tested on
ARM64 architecture at TravisCI! This is great!
Does this mean that Tomcat is officially supported on ARM64 ? I was not
able to find any specific documentation listing which platforms are
officially supported.

Does anyone from the community have any experience with Tomcat/HTTPD on
ARM64 in production ?

Gracias,
Emilio

1. https://aws.amazon.com/ec2/graviton/
2. https://tomcat.apache.org/ci.html#TravisCI


Re: Sticky session and ModJK Load Balancer

2009-07-07 Thread Emilio Recio

Rainer Jung wrote:

On 06.07.2009 20:27, Emilio Recio wrote:
  

Mark Thomas wrote:


Emilio Recio wrote:
 
  

Hi,
i have installed Apache 2.2 and two Tomcat 6 whit load balancing in
cluster mode using mod_jk module and setting sticky session in TRUE,
and memory replication. I was testing my project and work perfect.
We have a dilemma using sticky session or not using it, with my team
work.
Setting sticky-session in TRUE, it works fine, even when one tomcat
fails-over. When set to FALSE i can see that the session have some data
loss, and the project start to fail.
I was reading the book Professional Apache Tomcat 6, goggle searches and
all kind of information in the net. The recommendation is: use
sticky-session in TRUE with memory replication.
Nobody mention concrete arguments, and need that to make a report to the
system administrator, to make him understand why we need to use
sticky-session in TRUE.



I would have thought the occasional data loss you see is argument
enough. What more were you looking for?

Mark
  
  

Hi Mark,
We are developing an e-commerce app. The application store  in session a
lot of information like user data, user history data, etc.
The scenario is: 3 PC's, one with Apache 2.2, and the others have Tomcat
6. Apache has mod_jk to make load balancing, and the Tomcat 6 have
configured in memory session replication, to support fail-over.
STICKY SESSION FALSE:
   Some times: Tomcat1 after the login, has all the user info charged in
session, when load balancer try to use the Tomcat2 some info is saved
but other info is missing.
We need to know good arguments to justify to the client, why we should
use sticky session in true to avoid this missing data issue. The client
doesn't want to use sticky session in TRUE, they arguments are: We
loose performance in transactions and loose of loadbalancing (using
sticky session in TRUE). Using sticky session in FALSE the Tomcat more
idle attend the request that incoming and gain performance. One example:
You have 4 users, two in tomcat1 and the other two in tomcat2. If users
in tomcat2 logout, this stay idle when the other is attending the other
two users. So, you loose load balancing.

They arguments are partial true, using stick-session in TRUE , you have
one tomcat attending a client session during its life cycle; even if
this users are idle or has very active session. Its stable and fail-over
tolerant. Of course you loose performance.
So we need good arguments to explain why we need use, sticky session in
true.
My regards,
   Emilio  Recio



Usually you only use a custering solution like Tomcat session
replication if you really need high availability. Clustering adds some
complexity to the system, so in order to justify that you need a reason,
which should be, that your user sessions are expensive, so you do not
want to loose them under any circumstances.

If so, your primary goal is stability not performance. Adding any high
availability solution also reduces performance (but maybe only a bit).

Why use sticky sessions when doing session replication? Because without
sticky sessions, each request depends on the fact, that the replication
of the previous request to the same session was completed successfully.
So the correctness of your application depends the whole time on the
completeness of the session replication (because requests will switch
form node to node a lot without stickyness). Whenever something goes
wrong with respect to session replication, a user will fail. This seems
to be, what you actually oberve when working without stickyness. Your
application is *not* replicating completely. Stiky off is a good setting
for testing, but not for production.

With stickyness, under normal operation you don't rely on the fact, that
replication works. Only in case a node goes bad, the sessions fail over
and then you need the correctness of the previous replications. Usually
this only happens unplanned like maybe once a month or even fewer times.

It is also much easier to track what's going on and maybe wrong, when
you have stickyness, because then all requests for one session can be
usually found in the log files of only one node. You don't have to
consolidate them from multiple nodes.

Concerning performance: If you only plan 2 Tomcat nodes, then you have
to size the in order for one node to be able to carry the full load.
Otherwise when a node crashes, although you have session replication, it
could happen that the remaining node is not able to cope with the load.
So an uneven load distribution between the two nodes is not a real
problem, each one should be able to handle all requests.

Under high session load (like e.g. more than 1.000 users logged in)
usually the request load distributes good enough to not produce a very
uneven load.

In short: stability is more important then performance in
high-availability situations and a two node cluster should be designed
such that a single node can carry all the load

Sticky session and ModJK Load Balancer

2009-07-06 Thread Emilio Recio

Hi,
i have installed Apache 2.2 and two Tomcat 6 whit load balancing in 
cluster mode using mod_jk module and setting sticky session in TRUE, 
and memory replication. I was testing my project and work perfect.

We have a dilemma using sticky session or not using it, with my team work.
Setting sticky-session in TRUE, it works fine, even when one tomcat 
fails-over. When set to FALSE i can see that the session have some data 
loss, and the project start to fail.
I was reading the book Professional Apache Tomcat 6, goggle searches and 
all kind of information in the net. The recommendation is: use 
sticky-session in TRUE with memory replication.
Nobody mention concrete arguments, and need that to make a report to the 
system administrator, to make him understand why we need to use 
sticky-session in TRUE.


My best regards,
Emilio Recio

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



Re: Sticky session and ModJK Load Balancer

2009-07-06 Thread Emilio Recio

Mark Thomas wrote:

Emilio Recio wrote:
  

Hi,
i have installed Apache 2.2 and two Tomcat 6 whit load balancing in
cluster mode using mod_jk module and setting sticky session in TRUE,
and memory replication. I was testing my project and work perfect.
We have a dilemma using sticky session or not using it, with my team work.
Setting sticky-session in TRUE, it works fine, even when one tomcat
fails-over. When set to FALSE i can see that the session have some data
loss, and the project start to fail.
I was reading the book Professional Apache Tomcat 6, goggle searches and
all kind of information in the net. The recommendation is: use
sticky-session in TRUE with memory replication.
Nobody mention concrete arguments, and need that to make a report to the
system administrator, to make him understand why we need to use
sticky-session in TRUE.



I would have thought the occasional data loss you see is argument
enough. What more were you looking for?

Mark



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

  

Hi Mark,
We are developing an e-commerce app. The application store  in session a 
lot of information like user data, user history data, etc.
The scenario is: 3 PC's, one with Apache 2.2, and the others have Tomcat 
6. Apache has mod_jk to make load balancing, and the Tomcat 6 have 
configured in memory session replication, to support fail-over.

STICKY SESSION FALSE:
   Some times: Tomcat1 after the login, has all the user info charged 
in session, when load balancer try to use the Tomcat2 some info is saved 
but other info is missing.
We need to know good arguments to justify to the client, why we should 
use sticky session in true to avoid this missing data issue. The client 
doesn't want to use sticky session in TRUE, they arguments are: We 
loose performance in transactions and loose of loadbalancing (using 
sticky session in TRUE). Using sticky session in FALSE the Tomcat more 
idle attend the request that incoming and gain performance. One example: 
You have 4 users, two in tomcat1 and the other two in tomcat2. If users 
in tomcat2 logout, this stay idle when the other is attending the other 
two users. So, you loose load balancing.


They arguments are partial true, using stick-session in TRUE , you have 
one tomcat attending a client session during its life cycle; even if 
this users are idle or has very active session. Its stable and fail-over 
tolerant. Of course you loose performance.
So we need good arguments to explain why we need use, sticky session in 
true.

My regards,
   Emilio  Recio

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



Re: Session replication without Apache

2009-07-06 Thread Emilio Recio

Manu_SF wrote:

Hi,

I have a working prototype tomcat cluster with 2 worker nodes connected to
Apache webserver as the Loadbalancer with mod_jk connectors. The session
replication works like a charm with these 2 nodes.

However, my ultimate goal is to deploy it over a system that does NOT have
Apache (Instead has a Big-ip hardware loadbalancer).

My question is - Is there a way to implement session replication on tomcat
nodes without Apache?

Thanks,
Manu
  
Hi, i suggest you that read Professional Apache Tomcat 6 Author: Vivek 
Chopra, Sing Li, Jeff Genender (Chapter 11 and 17). They explain a lot 
of possibles configurations of Tomcat to Load Balancing and Replication 
Sessions. May by you can search the book in google and read only the 
chapter.

See you


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



two instances of tomcat problem

2008-10-16 Thread emilio
 

I just installed the tomcat 5.5 with two instances running in the same ip
address, but in different ports. Its works but the manager just work in one
of them. The manager for the second port show me the following error:

 


HTTP Status 500 - 

  _  


type Exception report

message 

description The server encountered an internal error () that prevented it
from fulfilling this request.

exception 

javax.servlet.ServletException: Error allocating a servlet instance
 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:524)
 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:664)
 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80)
 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
java.lang.Thread.run(Thread.java:619)

root cause 

java.lang.NoClassDefFoundError: org/apache/catalina/manager/ManagerServlet
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
 
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLo
ader.java:1815)
 
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.jav
a:869)
 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
a:1322)
 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
a:1201)
java.security.AccessController.doPrivileged(Native Method)
 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:524)
 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:664)
 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80)
 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
java.lang.Thread.run(Thread.java:619)

note The full stack trace of the root cause is available in the Apache
Tomcat/5.5 logs.

 

 

Can I help me with this problem?

 

Thanks in advance

 

Emilio Muno



Tomcat manager - Two instances problem!

2008-10-16 Thread emilio
 

 

I just installed the tomcat 5.5 with two instances running in the same ip
address, but in different ports. Its works but the manager just work in one
of them. The manager for the second port show me the following error:

 


HTTP Status 500 - 

  _  


type Exception report

message 

description The server encountered an internal error () that prevented it
from fulfilling this request.

exception 

javax.servlet.ServletException: Error allocating a servlet instance
 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:524)
 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:664)
 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80)
 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
java.lang.Thread.run(Thread.java:619)

root cause 

java.lang.NoClassDefFoundError: org/apache/catalina/manager/ManagerServlet
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
 
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLo
ader.java:1815)
 
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.jav
a:869)
 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
a:1322)
 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
a:1201)
java.security.AccessController.doPrivileged(Native Method)
 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:524)
 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:664)
 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80)
 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
java.lang.Thread.run(Thread.java:619)

note The full stack trace of the root cause is available in the Apache
Tomcat/5.5 logs.

 

 

Can someone help me with this problem?

 

Thanks in advance

 

Emilio Muno