I apologize in advance if this is a known issue.  I did some searching but
did not see it reported.

Last night  I used the 4.0.0 binary
distribution phoenix-4.0.0-incubating-client.jar from the hadoop-2
directory in the binary distribution.

I was trying to connect to HBase 0.98.1 + Hadoop 2.2.0 using Squirrel SQL
but getting the error message:

java.util.concurrent.ExecutionException: java.lang.RuntimeException:
java.lang.RuntimeException: hbase-default.xml file seems to be for and old
version of HBase (0.98.1-hadoop1), this version is 0.98.1-hadoop2

So, I built phoenix-4.0.0-incubating-client.jar from source using the
directions in BUILDING in the root of the 4.0.0 distribution tarball.

I am able to use Squirrel SQL to connect now.

I unzippped the binary phoenix-4.0.0-incubating-client.jar and took a look
in hbase-defaults.xml.  I noticed base.defaults.for.version.skip is set to
false in this file:

 <property>
    <name>hbase.defaults.for.version.skip</name>
    <value>false</value>
    <description>Set to true to skip the 'hbase.defaults.for.version' check.
    Setting this to true can be useful in contexts other than
    the other side of a maven generation; i.e. running in an
    ide.  You'll want to set this boolean to true to avoid
    seeing the RuntimException complaint: "hbase-default.xml file
    seems to be for and old version of HBase (\${hbase.version}), this
    version is X.X.X-SNAPSHOT"</description>
  </property>

I tried changing this value, then using jar to re-create
phoenix-4.0.0-incubating-client.jar but still got the error reported above
when I tried to use it with Squirrel SQL.

However, I notice that the same property has a different value in the
source distribution:

  <property>
    <name>hbase.defaults.for.version.skip</name>
    <value>true</value>
    <description>
    Set to true to skip the 'hbase.defaults.for.version' check.
    Setting this to true can be useful in contexts other than
    the other side of a maven generation; i.e. running in an
    ide.  You'll want to set this boolean to true to avoid
    seeing the RuntimException complaint: "hbase-default.xml file
    seems to be for and old version of HBase (@@@VERSION@@@), this
    version is X.X.X-SNAPSHOT"
    </description>
  </property>

In fact, it seems to me this is the only property  that is assigned a value
in hbase-default.xml in the source distribution.

I'm fine with building phoenix from source.

Is the version of phoenix-4.0.0-incubating-client.jar in hadoop-2 the wrong
file?  The md5sum I get is: e6f9e34e3c69dffa68875be701bb3a1f

-John

Reply via email to