[ https://issues.apache.org/jira/browse/PHOENIX-2025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Geoffrey Jacoby updated PHOENIX-2025: ------------------------------------- Description: 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. was: 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. > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)