[ 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)