You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@slider.apache.org by "ct (JIRA)" <ji...@apache.org> on 2017/09/19 18:18:00 UTC

[jira] [Created] (SLIDER-1249) Unable to build application package for Accumulo 1.8.0+

ct created SLIDER-1249:
--------------------------

             Summary: Unable to build application package for Accumulo 1.8.0+
                 Key: SLIDER-1249
                 URL: https://issues.apache.org/jira/browse/SLIDER-1249
             Project: Slider
          Issue Type: Bug
          Components: app-package
    Affects Versions: Slider 0.92
            Reporter: ct
            Priority: Minor


I’ve had a few issues trying to build and test an application package for Accumulo 1.8.0 and 1.8.1. I’ve listed them below. I’ve found potential fixes for (1), (3) and (4) but am unsure how best to deal with (2).

Compiling with:
{code}
mvn clean package -pl app-packages/accumulo/ -Paccumulo-app-package-maven -Daccumulo.version=1.8.0 -Dpkg.version=1.8.0
{code}

(1) fails with:

{code}
[ERROR] Failed to execute goal on project slider-accumulo-app-package: Could not resolve dependencies for project org.apache.slider.packages:slider-accumulo-app-package:jar:0.93.0-incubating-SNAPSHOT: Failure to find org.apache.directory.jdbm:apacheds-jdbm1:bundle:2.0.0-M2 in https://repository.apache.org/content/groups/staging/...
{code}

apacheds-jdmb1 is a transitive dependency of accumulo-test and seems to require the org.apache.felix:maven-bundle-plugin. In Accumulo 1.7.3 this dependency was limited to the ‘test’ scope, but in Accumulo 1.8.0 it was moved into the compile scope, which is why it has become an issue.

(2) After adding the bundle plugin to the pom, the build then fails with:
{code}
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project slider-accumulo-app-package: Compilation failure: Compilation failure: 
[ERROR] /home/hadoop/slider-test/app-packages/accumulo/src/test/groovy/org/apache/slider/funtest/accumulo/AccumuloProxyIT.groovy:[20,34] 1. ERROR in /home/hadoop/slider-test/app-packages/accumulo/src/test/groovy/org/apache/slider/funtest/accumulo/AccumuloProxyIT.groovy (at line 20)
[ERROR] 	import org.apache.accumulo.proxy.TestProxyClient
[ERROR] 	                                 ^^^^^^^^^^^^^^^
[ERROR] Groovy:unable to resolve class org.apache.accumulo.proxy.TestProxyClient
{code}

In Accumulo 1.8.0, TestProxyClient was relocated from the accumulo-proxy artifact to accumulo-test, and from the org.apache.accumulo.proxy package to org.apache.accumulo.test.proxy. Changing the import allows the build to complete (but will break builds for previous versions of Accumulo).

Running functional tests with something similar to:
{code}
mvn clean verify -pl app-packages/accumulo/ -Paccumulo-app-package-maven,accumulo-funtest -Daccumulo.version=1.8.0 -Dpkg.version=1.8.0 -Dslider.conf.dir=... -Dtest.app.resources.dir=...
{code}

(3) results in failed tests:
{code}
Tests in error: 
  AccumuloReadWriteIT>CommandTestBase.<clinit>:113 » java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
  AccumuloReadWriteSSLIT.org.apache.slider.funtest.accumulo.AccumuloReadWriteSSLIT » java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
  AccumuloScriptIT.org.apache.slider.funtest.accumulo.AccumuloScriptIT » java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
  AccumuloScriptSSLIT.org.apache.slider.funtest.accumulo.AccumuloScriptSSLIT » java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
  AccumuloProxyIT.org.apache.slider.funtest.accumulo.AccumuloProxyIT » java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
  AccumuloMonitorSSLIT.org.apache.slider.funtest.accumulo.AccumuloMonitorSSLIT » java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
  AccumuloBasicIT.org.apache.slider.funtest.accumulo.AccumuloBasicIT » java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
Tests run: 7, Failures: 0, Errors: 7, Skipped: 0
{code}

The version of slf4j-log4j12 used by accumulo-server-base in 1.8.0 has been bumped from 1.7.5 to 1.7.21, also bumping the version of slf4j-api used by Slider to 1.7.21 allows the tests to run.

(4) Tests then fail with:
{code}
java.lang.NoSuchMethodError: org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.sendBaseOneway(Ljava/lang/String;Lorg/apache/thrift/TBase;)
{code}

Removing the explicit libthrift dependency from the accumulo package’s pom and letting the correct version be included via accumulo-server-base allows the tests to pass.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)