It's not a system resource/ swapping issue because while the program is half way through the machine has about 1GB free memory...
No errors in ThriftBroker.log, I've just run it again and got the following stacktrace 1,300 seconds into its run. One of the SELECT's must of failed but the exception was caught and on the next loop (still same open connection) everything continued as normal... There is no pattern I've been able to identify with these errors. What is the common cause of this exception?
I am doing approx 1000 queries (SELECT by ROW ID) a second... As I got this at 1300 seconds, only 1 SELECT failed out of 1000x13000 = 1,300,000
org.apache.thrift.transport.TTransportException: java.net.SocketTimeoutException: Read timed out
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:129)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129)
at org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204)
at org.hypertable.thriftgen.HqlService$Client.recv_hql_query(HqlService.java:184)
at org.hypertable.thriftgen.HqlService$Client.hql_query(HqlService.java:168)
at dataindexer.IndexQueue.hypertableObject(IndexQueue.java:42)
at dataindexer.IndexQueue.processUniques(IndexQueue.java:107)
at dataindexer.IndexQueue.doIndex(IndexQueue.java:122)
at dataindexer.Main.main(Main.java:11)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:146)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127)
... 13 more
at dataindexer.IndexQueue.hypertableObject(IndexQueue.java:42)
at dataindexer.IndexQueue.processUniques(IndexQueue.java:107)
at dataindexer.IndexQueue.doIndex(IndexQueue.java:122)
at dataindexer.Main.main(Main.java:11)