phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geoffrey Jacoby (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-2025) Phoenix-core's hbase-default.xml prevents HBaseTestingUtility from starting up in client apps
Date Wed, 01 Jul 2015 20:16:04 GMT


Geoffrey Jacoby commented on PHOENIX-2025:

Renaming src/it/resources/hbase-site.xml to hbase-default.xml, which effectively backs out
this change, does allow IndexToolIT to pass. The larger effect of doing that is the same as
in the original problem description: downstream projects which need to import phoenix-core-tests
wouldn't be able to use the HBaseTestingUtility because phoenix's stub hbase-default.xml will
cover the real one in hbase-common (at least not without setting a bunch of config options

If this change needs to be temporarily reverted because we're running up against a deadline,
I've no objection, but the test failing means that there's something about one or more of
HBase's default settings that breaks the test, which seems like the sort of thing that would
be good to know about so it can be fixed. :-) 

Is the test doing something differently from the many other integration tests which I assume
are passing? For example, I see that it doesn't inherit from BaseTest or any similar base
integration test class, but is manually calling one of BaseTest's config setup methods as
a static import. 

> Phoenix-core's hbase-default.xml prevents HBaseTestingUtility from starting up in client
> ---------------------------------------------------------------------------------------------
>                 Key: PHOENIX-2025
>                 URL:
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.3.0
>            Reporter: Geoffrey Jacoby
>            Assignee: Geoffrey Jacoby
>             Fix For: 5.0.0, 4.5.0, 4.4.1
>         Attachments: PHOENIX-2025.patch, PHOENIX-2025_v2.patch
> 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

View raw message