Istvan Toth created PHOENIX-5963:
------------------------------------
Summary: Enable loadbalancer for standalone PQS assembly
Key: PHOENIX-5963
URL: https://issues.apache.org/jira/browse/PHOENIX-5963
Project: Phoenix
Issue Type: Bug
Components: queryserver
Affects Versions: queryserver-1.0.0
Reporter: Istvan Toth
The load-balancer does not work with the current PQS assembly, due to
dependency (and script problems)
The proposal below would -hopefully- make it feasible to re-introduce and
support it as an optional dependecy for PQS:
As for the load-balancer, you are right that this setup doesn't allow for a
working load-balancer. However, it wouldn't work even if the load-balancer jar
was included in the classpath. The load-balancer depends on (unshaded)
zookeeper, and unshaded zookeeper is generally not available on the PQS
classpath anyway (it may have been available in some old phoenix-client
version, but currently both master and 4.x shades it).
Loading the load-balancer as an external service is nice in theory, but since
it's compiled separately from phoenix-client, the dependency conflicts that it
introduces are hard to solve.
If I were to do it, I'd:
* Refactor/Simplify loadbalancer, so that doesn't need Hadoop and Hbase deps
** Pass the Hbase Config object as in Iterable to registerServer
** Ditch the config singleton/cache, it is not useful in this context
** Preferably ditch Curator as well
* create a shaded loadbalancer jar with ZK (and curator) shaded into it
* Then prepare the PQS startup script for it, and document how to add this to
PQS as an optional dependency
--
This message was sent by Atlassian Jira
(v8.3.4#803005)