Geoffrey Jacoby created PHOENIX-2025:
----------------------------------------

             Summary: Phoenix-core's hbase-default.xml prevents 
HBaseTestingUtility from starting up in client apps
                 Key: PHOENIX-2025
                 URL: https://issues.apache.org/jira/browse/PHOENIX-2025
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.3.0
            Reporter: Geoffrey Jacoby


Phoenix seems to have long had its own version of hbase-default.xml as a test 
resource in phoenix-core with a single setting to override 
hbase.defaults.for.version.skip to true. Sometime around Phoenix 4.3, 
phoenix-core seems to have been split into a main jar and a test jar, and the 
hbase-default.xml went into the test jar.

The odd result of this is that in client apps that include the test jar, the 
classloader in HBaseConfiguration.create() now sees Phoenix's 
hbase-default.xml, rather than HBase's, and creates a Configuration object 
without HBase's defaults. One major consequence of this is that the 
HBaseTestingUtility can't start up, because it relies on those HBase defaults 
being set. This is a huge problem in a client app that includes the 
phoenix-core test jar in order to make use of the PhoenixTestDriver and 
BaseTest classes; the upgrade to 4.3 breaks all tests using the 
HBaseTestingUtility. 

I've verified that phoenix-core's own tests don't pass if its internal 
hbase-default.xml is missing (ZK has problems starting up), and that renaming 
it to hbase-site.xml doesn't seem to fix the problem either. I looked around 
for a central point in code to manually set the hbase.defaults.for.version.skip 
flag, but couldn't find one; BaseTest didn't seem to cover all the needed test 
cases. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to