runnable [0x000000005b29f000] java.lang.Thread.State: RUNNABLE at java.lang.String.toLowerCase(String.java:2763) at java.lang.String.toLowerCase(String.java:2847) at org.hibernate.hql.QuerySplitter.concreteQueries(QuerySplitter.java:77) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:68) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56) at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72) at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) at org.sakaiproject.sitestats.impl.StatsManagerImpl$28.doInHibernate(StatsManagerImpl.java: 3573) 1. Diagnosing a Runaway Thread cont'd
right in front of you: don't overthink it. Follow the evidence. • User received internal server error on site duplication, turned out there was an issue with a property. logs had numberFormatException errors content.upload.max=500mb
list: 'out of memory exceptions after upgrade to Sakai CLE 2.9' has a nice example. Thanks to UFL. # only create a huge JVM if the operation is 'start' if [[ "$1" == 'start' ]]; then JAVA_OPTS="$JAVA_OPTS -Xmx6144m -Xms6144m" # etc. fi
analysis to narrow down the causes. Understand the overall application architecture, then systematically look at each layer. tomcat, database, load balancer. Summary