Looks like I hit issue https://issues.apache.org/jira/browse/PHOENIX-5231 
<https://issues.apache.org/jira/browse/PHOENIX-5231>
My scala application builds without any problem agains phoenix 4.13.x and 
4.14.x.
But got run-time problem with 4.15.0:

Caused by: org.apache.phoenix.exception.PhoenixNonRetryableRuntimeException: 
Could not load/instantiate class 
org.apache.phoenix.query.DefaultGuidePostsCacheFactory
        at 
org.apache.phoenix.query.GuidePostsCacheProvider.loadAndGetGuidePostsCacheFactory(GuidePostsCacheProvider.java:57)
        at 
org.apache.phoenix.query.GuidePostsCacheProvider.getGuidePostsCache(GuidePostsCacheProvider.java:73)
        at 
org.apache.phoenix.query.ConnectionQueryServicesImpl.<init>(ConnectionQueryServicesImpl.java:433)
        at org.apache.phoenix.jdbc.PhoenixDriver$3.call(PhoenixDriver.java:248)
        at org.apache.phoenix.jdbc.PhoenixDriver$3.call(PhoenixDriver.java:241)
        at 
com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4796)
        at 
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
        at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
        at 
com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4793)
        at 
org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:241)
        at 
org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:142)
        at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:221)
        at java.sql.DriverManager.getConnection(DriverManager.java:664)
        at java.sql.DriverManager.getConnection(DriverManager.java:208)
        at PhoenixWriter.<init>(PhoenixWriter.scala:29)

Any ideas how to build scala application with phoenix-4.15.0?

My build dependency for Scala application is:

libraryDependencies ++= Seq(
  "org.apache.logging.log4j"    %% "log4j-api-scala"        % "11.0",
  "org.apache.logging.log4j"    % "log4j-api"               % "2.8.2",
  "org.apache.logging.log4j"    % "log4j-core"              % "2.8.2" % Runtime,
  "org.apache.hadoop"           % "hadoop-common"           % "2.9.0",
  "org.apache.hadoop"           % "hadoop-client"           % "2.9.0",
  "org.apache.hbase"            % "hbase"                   % "1.4.12",
  "org.apache.hbase"            % "hbase-client"            % "1.4.12",
  "org.apache.hbase"            % "hbase-common"            % "1.4.12",
  "org.apache.hbase"            % "hbase-server"            % "1.4.12",

  "org.apache.phoenix"          % "phoenix"                 % 
"4.15.0-HBase-1.4",
  "org.apache.phoenix"          % "phoenix-core"            % 
"4.15.0-HBase-1.4",
)

assemblyMergeStrategy in assembly := {
  case PathList("META-INF", xs @ _*) => MergeStrategy.discard
  case x => MergeStrategy.first
}

Reply via email to