We created a diskgroup with normal redundancy, and were wasting half the space on the mirror as a result. We are completely striped and mirrored in EMC, so a mirror buys us no additional protection. We wanted to recreate the…
Gathering information from HotSpot garbage collection logs
What is below is a useful script to print actionable information from garbage collection logs. As shown by the CMS output below, this is built for the CMS collector. Anything with initial-mark or remark in the output is a “stop…
Is “Connection refused” always a network issue?
We are trained to think that if we see “java.net.ConnectException: Connection refused”, we need to talk to our friends in networking. However, below is at least one example where this is not the case. Create a very simple socket server…
Getting count of sessions created by minute
In the wake of a flood of 24,000 application server sessions created per minute at the start of Black Friday week, we wanted to share how we calculated how many sessions were created per minute. This can be obtained from…
When does the CMS collector run by default
Assuming no other flags are set, when the tenured generation heap is 90% full. We have an 7968MB heap, and a 2048MB young generation. As such, our tenured generation is approximately 5920M. Below we show the initial mark starts at…
Difference between InvalidVersionException and ConcurrentUpdateException
ATG is a very cache heavy application. Given its chatty database design, this is a good thing. One area that uses cache heavily and depends upon a proper configuration of the repository layer is the OrderRepository. Two common exceptions that…