[ 
https://issues.apache.org/jira/browse/PHOENIX-6523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17898546#comment-17898546
 ] 

Istvan Toth edited comment on PHOENIX-6523 at 11/15/24 9:55 AM:
----------------------------------------------------------------

Can you open a new ticket to track that [~lokiore]  ?

The problem seems to be that I have changed ConnctionInfo to resolve the HBase 
connection parameters earlier than the previous code.

I think that overall the new approach is better, but the pref regression must 
be solved regardless.

We could pre-load and cache the default HBaseConfiguration object in 
PhoenixDriver or ConnectionInfo.

However, looking at the code, I think that the root of the problem is that 
creating an HBaseConnection object is a very heavy operation.

The Hadoop implementation does some clever caching and default handling, so 
that creating a new Hadoop Configuration object is nearly free.
Is there any reason HBase does not do that ?


was (Author: stoty):
Can you open a new ticket to track that [~lokiore]  ?

The problem seems to be that I have changed ConnctionInfo to resolve the HBase 
connection parameters earlier than the previous code.

I think that overall the new approach is better, but the pref regression must 
be solved regardless.

We could pre-load and cache the default HBaseConfiguration object in 
PhoenixDriver or ConnectionInfo.

However, looking at the code, I think that the root if the problem is that 
creating an HBaseConnection object is a very heavy operation.

The Hadoop implementation does some clever caching and default handling, so 
that creating a new Hadoop Configuration object is nearly free.
Is there any reason HBase does not do this ?

> Support for HBase Registry Implementations through Phoenix connection URL
> -------------------------------------------------------------------------
>
>                 Key: PHOENIX-6523
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6523
>             Project: Phoenix
>          Issue Type: Improvement
>          Components: core
>            Reporter: Ramie Raufdeen
>            Assignee: Istvan Toth
>            Priority: Major
>             Fix For: 5.2.0, 5.1.4
>
>
> https://issues.apache.org/jira/browse/HBASE-23305
> https://issues.apache.org/jira/browse/HBASE-18095
>  
> HBase now supports a zookeeper-less connection strategy using a Master 
> Registry implementation. 
>  
> For this to work, the client simply needs to set a list of <host:port>s of 
> the HMaster quorum
>  
> {code:java}
> <property>
>    <name>hbase.masters</name>
>    <value>master1:16000,master2:16001,master3:16000</value>
> </property>
> {code}
>  
> To support opting into this from a Phoenix connection URL, we can introduce a 
> "connector type". We'll leverage the *+* char of [JDBC URL 
> grammar|https://docs.oracle.com/cd/E17952_01/connector-j-8.0-en/connector-j-reference-jdbc-url-format.html]
>  to specify the connection type. Connections will start to look something 
> like this:
> {code:java}
> jdbc:phoenix+zk:hostname1,2,3...:<properties> 
> jdbc:phoenix+hrpc:hostname1,2,3...:<properties>
> jdbc:phoenix+bigtable:hostname1,2,3...:<properties>{code}
> Above are examples of opting into hrpc/zk/bigtable registry implementations 
> of HBase.
>  
> If no connector is specified, the driver will default to a Zookeeper based 
> connection.
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to