public RowSet getUDTs(ServiceMetaDataArgs metadataArgs, List<GFXDType> types)
throws GFXDException {
HostConnection source = this.currentHostConnection;
if (SanityManager.TraceClientStatement) {
final long ns = System.nanoTime();
SanityManager.DEBUG_PRINT_COMPACT("getUDTs_S", null, source.connId,
source.token, ns, true, null);
}
Set<HostAddress> failedServers = null;
while (true) {
super.lock();
try {
source = this.currentHostConnection;
metadataArgs.setConnId(source.connId).setToken(source.token);
RowSet rs = this.clientService.getUDTs(metadataArgs, types);
setSourceConnection(rs);
if (SanityManager.TraceClientStatement) {
final long ns = System.nanoTime();
SanityManager.DEBUG_PRINT_COMPACT("getUDTs_E", null, source.connId,
source.token, ns, false, null);
}
return rs;
} catch (Throwable t) {
failedServers = handleException(t, failedServers, true, true,
"getUDTs");
} finally {
super.unlock();
}
}
}