While troubleshooting performance problems, we wanted to test disabling Nagle’s algorithm in JBOSS with an Oracle XA datasource. We found that property was not configurable in the regular Oracle XA class. We ended up extending the Oracle class to set…
Category: Development
High latch free waits on Oracle XA transactions
We experienced large waits as well as the associated CPU spikes, when using distributed XA transactions in an ATG/JBOSS application server to Oracle database environment. Oracle “support” was, per usual, of absolutely no help is diagnosing the situation. I honestly…
Which threads are talking to the database?
Often while troubleshooting, I will want to know where the bottleneck is. If I think the database may be the culprit, I will run the following to print those threads that are making database calls… -bash-4.1$ jstack 20711 | awk…
Determining the source of high java CPU
This post is related to a situtation in which you find yourself with high CPU utilization, but can’t determine the source. This will gather thread dumps and the CPU used by each thread. For the threads that use a large…
Tying a linux socket file descriptor to a port and IP
While troubleshooting a java thread that appeared to be hung, but not blocked, we used the following troubleshooting process. You can use what is below if you have a thread “stuck” waiting to receive data from another socket. We see…
ATG RepeatingRequestMonitor
During a recent period of high traffic level on our site, we found we had several threads blocked on a particular component. We found that the component contained a synchronized block of code, which means only one request can be…
Inserting full objects into a database column
I have never seen the need for this, but I like to understand things in case I ever run across them “in the wild”. I did see it in a commercial ecommerce application in which the designers serialized an “Order”…
Cloudera Impala simple command line test
I am a big believer in simple command line examples. Connecting the dots is so much easier when you do this. There will be much more on this, but this should get you started. CLASSPATH is shown below. The absolute…
Querying Hive from Tomcat
Below is a very simple example to get started on how Hive can be queried from a web front end. The idea behind this would be to present the user with a csv file mime type that would be opened…
Querying Hadoop from Tomcat
Below is a very simple example for how to print in Tomcat the contents of a file stored in HDFS. I am not entirely sure where this would be useful, for the following reasons: * Unless you have a list…