Re: What is the phoenix-queryserver-client-4.14.2-HBase-1.4.jar?

2019-09-19 Thread jesse
Josh, in your sample project pom.xml file, the following build dependence
is not needed:


org.apache.phoenix
phoenix-server-client
4.7.0-HBase-1.1-SNAPSHOT


On Thu, Sep 19, 2019, 10:53 AM jesse  wrote:

> A) phoenix-4.14.2-HBase-1.4-thin-client.jar
>
> Just A) is good enough, Josh, you had a sample program here:
> https://github.com/joshelser/phoenix-queryserver-jdbc-client
>
> And the phoenix-4.14.2-HBase-1.4-thin-client.jar already contains the
> org.apache.phoenix.queryserver.client.Driver
>
>
>
>
>
>
> On Thu, Sep 19, 2019, 8:54 AM jesse  wrote:
>
>> You confused me more, if I write a Java program with http endpoint to PQS
>> for Phoenix read/write functions, should I depend on
>>
>> A) phoenix-4.14.2-HBase-1.4-thin-client.jar
>>
>> B) phoenix-queryserver-client-4.14.2-HBase-1.4.jar
>>
>> C) both
>>
>>
>>
>> On Thu, Sep 19, 2019, 4:12 AM Josh Elser  wrote:
>>
>>> "phoenix-queryserver-client" is the name of the Maven module which holds
>>> the required code for the "JDBC thin client", aka PQS client, aka
>>> "queryserver client".
>>>
>>> Maven convention is that a jar with the name of the Maven module is
>>> created.
>>>
>>> However, the majority of the code for the thin client is pulled from
>>> another Apache project. In fact, we only have one piece of code that we
>>> maintain client-side to connect to PQS.
>>>
>>> That third party code _does_ need to be included on the classpath for
>>> you to use the client. Thus, a shaded jar is created, with the
>>> human-readable name "thin-client" to make it very clear to you that this
>>> is the jar the use.
>>>
>>> The Maven build shows how all of this work.
>>>
>>> On 9/18/19 8:04 PM, jesse wrote:
>>> > It seems it is just the sqllinewrapper client, so confusing name...
>>> >
>>> >
>>> >
>>> > On Wed, Sep 18, 2019, 4:46 PM jesse >> > > wrote:
>>> >
>>> > For query via PQS, we are using
>>> phoenix-4.14.2-HBase-1.4-thin-client.jar
>>> >
>>> > Then what is purpose and usage
>>> > of phoenix-queryserver-client-4.14.2-HBase-1.4.jar?
>>> >
>>> > Thanks
>>> >
>>>
>>


Re: Performance degradation on query analysis

2019-09-19 Thread Ankit Singhal
Please schedule compaction on SYSTEM.STATS table to clear the old entries.

On Thu, Sep 19, 2019 at 1:48 PM Stepan Migunov <
stepan.migu...@firstlinesoftware.com> wrote:

> Thanks, Josh. The problem was really related to reading the SYSTEM.STATS
> table.
> There were only 8,000 rows in the table, but COUNT took more than 10
> minutes. I noticed that the storage files (34) had a total size of 10 GB.
>
> DELETE FROM SYSTEM.STATS did not help - the storage files are still 10 GB,
> and COUNT took a long time.
> Then I truncated the table from the hbase shell. And this fixed the
> problem - after UPDATE STATS for each table, everything works fine.
>
> Are there any known issues with SYSTEM.STATS table? Apache Phoenix 4.13.1
> with 15 Region Servers.
>
> -Original Message-
> From: Josh Elser [mailto:els...@apache.org]
> Sent: Tuesday, September 17, 2019 5:16 PM
> To: user@phoenix.apache.org
> Subject: Re: Performance degradation on query analysis
>
> Can you share the output you see from the EXPLAIN? Does it differ between
> times it's "fast" and times it's "slow"?
>
> Sharing the table(s) DDL statements would also help, along with the shape
> and version of your cluster (e.g. Apache Phoenix 4.14.2 with 8
> RegionServers).
>
> Spit-balling ideas:
>
> Could be reads over the SYSTEM.CATALOG table or the SYSTEM.STATS table.
>
> Have you looked more coarsely at the RegionServer logs/metrics? Any obvious
> saturation issues (e.g. handlers consumed, JVM GC pauses, host CPU
> saturation)?
>
> Turn on DEBUG log4j client side (beware of chatty ZK logging) and see if
> there's something obvious from when the EXPLAIN is slow.
>
> On 9/17/19 3:58 AM, Stepan Migunov wrote:
> > Hi
> > We have an issue with our production environment - from time to time we
> > notice a significant performance degradation for some queries. The
> strange
> > thing is that the EXPLAIN operator for these queries takes the same time
> > as queries execution (5 minutes or more). So, I guess, the issue is
> > related to query's analysis but not data extraction. Is it possible that
> > issue is related to SYSTEM.STATS access problem? Any other ideas?
> >
>


RE: Performance degradation on query analysis

2019-09-19 Thread Stepan Migunov
Thanks, Josh. The problem was really related to reading the SYSTEM.STATS
table.
There were only 8,000 rows in the table, but COUNT took more than 10
minutes. I noticed that the storage files (34) had a total size of 10 GB.

DELETE FROM SYSTEM.STATS did not help - the storage files are still 10 GB,
and COUNT took a long time.
Then I truncated the table from the hbase shell. And this fixed the
problem - after UPDATE STATS for each table, everything works fine.

Are there any known issues with SYSTEM.STATS table? Apache Phoenix 4.13.1
with 15 Region Servers.

-Original Message-
From: Josh Elser [mailto:els...@apache.org]
Sent: Tuesday, September 17, 2019 5:16 PM
To: user@phoenix.apache.org
Subject: Re: Performance degradation on query analysis

Can you share the output you see from the EXPLAIN? Does it differ between
times it's "fast" and times it's "slow"?

Sharing the table(s) DDL statements would also help, along with the shape
and version of your cluster (e.g. Apache Phoenix 4.14.2 with 8
RegionServers).

Spit-balling ideas:

Could be reads over the SYSTEM.CATALOG table or the SYSTEM.STATS table.

Have you looked more coarsely at the RegionServer logs/metrics? Any obvious
saturation issues (e.g. handlers consumed, JVM GC pauses, host CPU
saturation)?

Turn on DEBUG log4j client side (beware of chatty ZK logging) and see if
there's something obvious from when the EXPLAIN is slow.

On 9/17/19 3:58 AM, Stepan Migunov wrote:
> Hi
> We have an issue with our production environment - from time to time we
> notice a significant performance degradation for some queries. The strange
> thing is that the EXPLAIN operator for these queries takes the same time
> as queries execution (5 minutes or more). So, I guess, the issue is
> related to query's analysis but not data extraction. Is it possible that
> issue is related to SYSTEM.STATS access problem? Any other ideas?
>


Re: What is the phoenix-queryserver-client-4.14.2-HBase-1.4.jar?

2019-09-19 Thread jesse
A) phoenix-4.14.2-HBase-1.4-thin-client.jar

Just A) is good enough, Josh, you had a sample program here:
https://github.com/joshelser/phoenix-queryserver-jdbc-client

And the phoenix-4.14.2-HBase-1.4-thin-client.jar already contains the
org.apache.phoenix.queryserver.client.Driver






On Thu, Sep 19, 2019, 8:54 AM jesse  wrote:

> You confused me more, if I write a Java program with http endpoint to PQS
> for Phoenix read/write functions, should I depend on
>
> A) phoenix-4.14.2-HBase-1.4-thin-client.jar
>
> B) phoenix-queryserver-client-4.14.2-HBase-1.4.jar
>
> C) both
>
>
>
> On Thu, Sep 19, 2019, 4:12 AM Josh Elser  wrote:
>
>> "phoenix-queryserver-client" is the name of the Maven module which holds
>> the required code for the "JDBC thin client", aka PQS client, aka
>> "queryserver client".
>>
>> Maven convention is that a jar with the name of the Maven module is
>> created.
>>
>> However, the majority of the code for the thin client is pulled from
>> another Apache project. In fact, we only have one piece of code that we
>> maintain client-side to connect to PQS.
>>
>> That third party code _does_ need to be included on the classpath for
>> you to use the client. Thus, a shaded jar is created, with the
>> human-readable name "thin-client" to make it very clear to you that this
>> is the jar the use.
>>
>> The Maven build shows how all of this work.
>>
>> On 9/18/19 8:04 PM, jesse wrote:
>> > It seems it is just the sqllinewrapper client, so confusing name...
>> >
>> >
>> >
>> > On Wed, Sep 18, 2019, 4:46 PM jesse > > > wrote:
>> >
>> > For query via PQS, we are using
>> phoenix-4.14.2-HBase-1.4-thin-client.jar
>> >
>> > Then what is purpose and usage
>> > of phoenix-queryserver-client-4.14.2-HBase-1.4.jar?
>> >
>> > Thanks
>> >
>>
>


Re: What is the phoenix-queryserver-client-4.14.2-HBase-1.4.jar?

2019-09-19 Thread jesse
You confused me more, if I write a Java program with http endpoint to PQS
for Phoenix read/write functions, should I depend on

A) phoenix-4.14.2-HBase-1.4-thin-client.jar

B) phoenix-queryserver-client-4.14.2-HBase-1.4.jar

C) both



On Thu, Sep 19, 2019, 4:12 AM Josh Elser  wrote:

> "phoenix-queryserver-client" is the name of the Maven module which holds
> the required code for the "JDBC thin client", aka PQS client, aka
> "queryserver client".
>
> Maven convention is that a jar with the name of the Maven module is
> created.
>
> However, the majority of the code for the thin client is pulled from
> another Apache project. In fact, we only have one piece of code that we
> maintain client-side to connect to PQS.
>
> That third party code _does_ need to be included on the classpath for
> you to use the client. Thus, a shaded jar is created, with the
> human-readable name "thin-client" to make it very clear to you that this
> is the jar the use.
>
> The Maven build shows how all of this work.
>
> On 9/18/19 8:04 PM, jesse wrote:
> > It seems it is just the sqllinewrapper client, so confusing name...
> >
> >
> >
> > On Wed, Sep 18, 2019, 4:46 PM jesse  > > wrote:
> >
> > For query via PQS, we are using
> phoenix-4.14.2-HBase-1.4-thin-client.jar
> >
> > Then what is purpose and usage
> > of phoenix-queryserver-client-4.14.2-HBase-1.4.jar?
> >
> > Thanks
> >
>


Re: What is the phoenix-queryserver-client-4.14.2-HBase-1.4.jar?

2019-09-19 Thread Josh Elser
"phoenix-queryserver-client" is the name of the Maven module which holds 
the required code for the "JDBC thin client", aka PQS client, aka 
"queryserver client".


Maven convention is that a jar with the name of the Maven module is created.

However, the majority of the code for the thin client is pulled from 
another Apache project. In fact, we only have one piece of code that we 
maintain client-side to connect to PQS.


That third party code _does_ need to be included on the classpath for 
you to use the client. Thus, a shaded jar is created, with the 
human-readable name "thin-client" to make it very clear to you that this 
is the jar the use.


The Maven build shows how all of this work.

On 9/18/19 8:04 PM, jesse wrote:

It seems it is just the sqllinewrapper client, so confusing name...



On Wed, Sep 18, 2019, 4:46 PM jesse > wrote:


For query via PQS, we are using phoenix-4.14.2-HBase-1.4-thin-client.jar

Then what is purpose and usage
of phoenix-queryserver-client-4.14.2-HBase-1.4.jar?

Thanks