For Oracle databases exporting raw metrics fails because of if (!rs.isLast()) in org.rhq.enterprise.server.rest.MetricHandlerBean.RawNumericStreamingOutput#write as Oracle needs a special open mode for this cursor to use. A working solution is changing ps = connection.prepareStatement( sb.toString() ); to be ps = connection.prepareStatement( sb.toString(), ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY ); It is not yet clear though if that has any performance impact and if there is a better solution. We could run a count-query first and then loop, but effectively this means double work on the database too.
One could probably defer writing the ',' to the start of the inner loop when rs.next() is true. boolean needsComma = false; while (rs.next()) { if (needsComma) pw.write(","); needsComma = true; pw.write("{"); ... }
master bbf48d7
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.