phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Monil Gandhi <mgand...@gmail.com>
Subject Re: Phoenix metrics error on thin client
Date Tue, 23 Oct 2018 05:54:06 GMT
Hello,
Thanks for the earlier reply.
I am a little confused with documentation and the response from Josh. This
may be my limited knowledge with Phoenix.

Can I connect to the server with thick client instead of thin for my server
which is running thing client since thick client seems to be running on PQS?

Additionally I followed the directions on
https://phoenix.apache.org/server.html and the above linked conversation,
but I am unable to generate any kind of metrics for any queries. Please
note that in this scenario I am running my queries via the think client
installed on PQS

For a particular query, I am trying to see how many rows are being scanned
and across how many region servers. If there is an easier way, please let
me know

On Thu, Oct 18, 2018 at 7:00 PM Monil Gandhi <mgandhiw@gmail.com> wrote:

> Okay. Will take a look. Thanks
> On Wed, Oct 17, 2018 at 8:28 AM Josh Elser <elserj@apache.org> wrote:
>
>> The methods that you are invoking assume that the Phoenix JDBC driver
>> (the java class org.apache.phoenix.jdbc.PhoenixDriver) is in use. It's
>> not, so you get this error.
>>
>> The Phoenix "thick" JDBC driver is what's running inside of the Phoenix
>> Query Server, just not in your local JVM. As such, you need to look at
>> PQS for metrics.
>>
>> You probably want to look at what was done in
>> https://issues.apache.org/jira/browse/PHOENIX-3655.
>>
>> On 10/16/18 2:49 PM, Monil Gandhi wrote:
>> > Hello,
>> > I am trying to collect some metrics on certain queries. Here is the
>> code
>> > that I have
>> >
>> > Properties props =new Properties();
>> > props.setProperty(QueryServices.COLLECT_REQUEST_LEVEL_METRICS, "true");
>> > props.setProperty("phoenix.trace.frequency", "always");
>> >
>> > try (Connection conn = DriverManager.getConnection(url, props)) {
>> >      conn.setAutoCommit(true);
>> >
>> > PreparedStatement stmt = conn.prepareStatement(query);
>> >
>> > Map<org.apache.phoenix.monitoring.MetricType, Long> overAllQueryMetrics
>> =null;
>> > Map<String, Map<org.apache.phoenix.monitoring.MetricType, Long>>
>> requestReadMetrics =null;
>> > try (ResultSet rs = stmt.executeQuery()) {
>> >          rs.next();
>> > requestReadMetrics = PhoenixRuntime.getRequestReadMetricInfo(rs);
>> > // log or report metrics as needed
>> > PhoenixRuntime.resetMetrics(rs);
>> > rs.close();
>> > }
>> > }
>> >
>> >
>> > However, rs.next() throws the following error
>> > java.sql.SQLException: does not implement 'class
>> > org.apache.phoenix.jdbc.PhoenixResultSet'
>> >
>> > I am not sure why the error is happening. Are metrics not supported
>> with
>> > thin client?
>> >
>> > If not how do I get query level metrics?
>> >
>> > Thanks
>>
>

Mime
View raw message