[ https://issues.apache.org/jira/browse/PHOENIX-971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14481640#comment-14481640 ]
Nick Dimiduk commented on PHOENIX-971: -------------------------------------- Thanks for looking [~gabriel.reid], [~jamestaylor]. bq. the python scripts should probably exit with the status code of the java command (the other scripts were recently updated to do this as well) Will do. bq. I think that the environment variable used for finding the HBase configuration is typically HBASE_CONF_DIR, and not HBASE_CONF_PATH HBASE_CONF_PATH is the env var apparently used by Phoenix already. I agree I think it's incorrect and should be adjusted (I think BigTop uses HBASE_HOME and HBASE_CONF_DIR). Separate ticket. bq. I saw that sqlline is a dependency in the driver module, with a TODO about the bin scripts being the issue. Am I correct in assuming that this can be fully resolved just within one of the python scripts? IIRC, we need sqlline as a dependency in order for it to be packaged up into the uberjar; bin scripts don't know how to access dependencies resolved by maven. After I made that comment, I was reminded that Phoenix structure looks pretty different from HBase and Hadoop -- there isn't a lib directory, for instance. Probably the sqlline dep should be marked as runtime but remaining in place (so long as it's packaged by the assembly plugin correctly). bq. maybe the naming of the driver and it's module should include the word "thin", it might make things a bit more clear in the future I don't know what JDBC vendors usually do. Maybe [~jamestaylor], [~lhofhansl], [~apurtell], or [~julianhyde] have experience and opinions in this area. bq. One question about the URL for the remote driver: What's the typical JDBC way of differentiating a remote/thin driver from a thick driver ([~julianhyde] may know)? You've used jdbc:phoenix:remote, but I'm worried that this may not co-exist with our existing URL As as Gabriel's question, mostly. I don't have an answer to this question. I think the IT test has both drivers in its class path and it's able to resolve the correct one, though I've not looked into is specifically. bq. Second question (and maybe a dumb one), but do we need a dependency on jruby for this, as I noticed that in the pom. You mean the exclusion? No, we don't explicitly use jruby anywhere here. Did I pull it in unintentionally? bq. One final question: is the client/server protocol stable, as once this gets rolled out, changing that will be difficult. Is there a version number embedded in the protocol? How does it help to maintain b/w compat? In my opinion, the protocol is still very young. The server right now only speaks JSON and is not resilient against missing or extraneous methods or parameters. It's never really been released in a feature-ful way, so it has no b/w compat story at the moment. A more robust protocol should be coming in the future. I would recommend Phoenix project make no guarantees about this query server for a couple releases, give time for Avatica to mature. > Query server > ------------ > > Key: PHOENIX-971 > URL: https://issues.apache.org/jira/browse/PHOENIX-971 > Project: Phoenix > Issue Type: New Feature > Reporter: Andrew Purtell > Assignee: Nick Dimiduk > Fix For: 5.0.0 > > Attachments: PHOENIX-971.00.patch, image-2.png > > > Host the JDBC driver in a query server process that can be deployed as a > middle tier between lighter weight clients and Phoenix+HBase. This would > serve a similar optional role in Phoenix deployments as the > [HiveServer2|https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2] > does in Hive deploys. -- This message was sent by Atlassian JIRA (v6.3.4#6332)