[ https://issues.apache.org/jira/browse/PHOENIX-6523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17417682#comment-17417682 ]
ASF GitHub Bot commented on PHOENIX-6523: ----------------------------------------- stoty commented on a change in pull request #1280: URL: https://github.com/apache/phoenix/pull/1280#discussion_r712236140 ########## File path: phoenix-core/src/main/java/org/apache/phoenix/jdbc/bootstrapz/HRpcHBaseRegistryBootstrap.java ########## @@ -0,0 +1,44 @@ +package org.apache.phoenix.jdbc.bootstrapz; Review comment: I don't want to hold up the patch, but the current solution feels like the worst of both worlds, as it adds a lots of complexity without removing any. Classic OO principles say that you should encapsulate your code and data in a class. The current stateless solution is not worth it. It relies on the fact the state for the ZK and HRpp connections are named similarly, and can be stored in the same variables, but is a bad abstraction. IMO either just fold back the code into the main class, and save the hassle of using registries, or use stateful registry classes with proper data encapsulation as I suggested above. @joshelser @yanxinyi what's your take on this ? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@phoenix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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 > Priority: Major > > 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.3.4#803005)