[
https://issues.apache.org/jira/browse/PHOENIX-1184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated PHOENIX-1184:
------------------------------------
Attachment: PHOENIX-1184.patch
CDH-18860 as a distro private change reverted HBASE-10012. See their patch
cloudera/patches/0015-CDH-18860-This-commit-reverts-HBASE-10012-to-ensure-.patch
. All forms of ServerName#valueOf were removed.
{code}
@@ -159,18 +159,6 @@ public class ServerName implements Comparable<ServerName>,
Serializable {
return Long.parseLong(serverName.substring(index + 1));
}
- public static ServerName valueOf(final String hostname, final int port,
final long startcode) {
- return new ServerName(hostname, port, startcode);
- }
-
- public static ServerName valueOf(final String serverName) {
- return new ServerName(serverName);
- }
-
- public static ServerName valueOf(final String hostAndPort, final long
startCode) {
- return new ServerName(hostAndPort, startCode);
- }
-
@Override
public String toString() {
return getServerName();
{code}
Unfortunately in all Apache HBase 0.98 releases the ServerName constructors,
including the three argument form, are private. We can't use valueOf on the one
hand nor use constructors on the other, the only way out is reflection.
Tested with HBase 0.98.1 and a hacked POM specifying CDH 5.1 dependencies. I
can build artifacts and successfully run unit tests.
> Phoenix 4.0 is NOT compatible with CDH HBase 5.1
> ------------------------------------------------
>
> Key: PHOENIX-1184
> URL: https://issues.apache.org/jira/browse/PHOENIX-1184
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.0.0
> Environment: CDH 5.1, CentOS 6.4
> Reporter: Russell Jurney
> Assignee: Andrew Purtell
> Priority: Critical
> Labels: 5.1, cdh, cloudera, hbase, phoenix, pig
> Attachments: PHOENIX-1184.patch
>
>
> Despite the docs saying Phoenix 4.0 is compatible with HBase 0.98.1, this is
> not the case. Phoenix 4.0 will not build against CDH 5.1 HBase 0.98.1.
> Edited pom.xml (why do I have to edit pom.xml myself just to build against
> the most popular Hadoop platform?):
> <repository>
> <id>cloudera</id>
> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
> </repository>
> <!-- Hadoop Versions -->
> <hbase-hadoop1.version>0.98.1-cdh5.1.0</hbase-hadoop1.version>
> <hbase-hadoop2.version>0.98.1-cdh5.1.0</hbase-hadoop2.version>
> <hadoop-one.version>2.3.0-mr1-cdh5.1.0</hadoop-one.version>
> <hadoop-two.version>2.3.0-cdh5.1.0</hadoop-two.version>
> I get this error:
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile)
> on project phoenix-core: Compilation failure
> [ERROR]
> /Users/rjurney/Software/phoenix4/phoenix-4.0.0-incubating-src/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java:[143,27]
> cannot find symbol
> [ERROR] symbol: method valueOf(java.lang.String,int,int)
> [ERROR] location: class org.apache.hadoop.hbase.ServerName
> [ERROR] -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile
> (default-compile) on project phoenix-core: Compilation failure
> /Users/rjurney/Software/phoenix4/phoenix-4.0.0-incubating-src/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java:[143,27]
> cannot find symbol
> symbol: method valueOf(java.lang.String,int,int)
> location: class org.apache.hadoop.hbase.ServerName
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
> Caused by: org.apache.maven.plugin.compiler.CompilationFailureException:
> Compilation failure
> /Users/rjurney/Software/phoenix4/phoenix-4.0.0-incubating-src/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java:[143,27]
> cannot find symbol
> symbol: method valueOf(java.lang.String,int,int)
> location: class org.apache.hadoop.hbase.ServerName
> at
> org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:745)
> at
> org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:118)
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
> ... 19 more
--
This message was sent by Atlassian JIRA
(v6.2#6252)