We are experiencing the same slowdown in PAX-Exam with 3.0.0, also using
TinyBundles. Pretty painful.

MavenArtifactUrlReference karafUrl = maven()
    .groupId( "org.apache.karaf" )
    .artifactId( "apache-karaf" )
    .version( "3.0.0" )
    .type( "tar.gz" );


...

karafDistributionConfiguration()
    .frameworkUrl( karafUrl )
    .unpackDirectory( new File( "target/exam" ) )
    .useDeployFolder( false ),




On 2/13/15, 6:10 AM, "koslowskyj" <[email protected]> wrote:

>Hi,
>
>I am not sure whether this belongs on the karaf or rather on the pax
>mailinglist.
>After i upgraded from karaf 2.3.3 to 3.0.3 i noticed that our integration
>tests slowed down dramatically (30 seconds to 1 minute per test).
>
>So i tried a few things, setted up a minimal test with PaxExam for
>KarafContainer and added also a Tinybundle to the Test (because most of
>our
>tests use TinyBundles). I noticed that when i was using the same Test and
>same maven settings for PaxExam with diffrent Karaf Version they were a
>lot
>slower on Karaf 3.0.3 (a ~30 second timeout during the Test with 3.0.3).
>With Karaf 2.3.3 they behaved as expected. This only seems to happen when
>using TinyBundles and Karaf 3.0.3.
>Is this a bug? Does anybody know how to fix this?
>
>Best regards
>
>
>2.3.3 result:
>
>[INFO] Total time: 24.384 s
>
>3.0.3 result:
>
>[INFO] Total time: 54.138 s
>
>
>Test:
>
>
>import static aQute.bnd.osgi.Constants.BUNDLE_SYMBOLICNAME;
>import static aQute.bnd.osgi.Constants.EXPORT_PACKAGE;
>import static aQute.bnd.osgi.Constants.IMPORT_PACKAGE;
>import static junit.framework.Assert.assertTrue;
>import static org.ops4j.pax.exam.CoreOptions.maven;
>import static org.ops4j.pax.exam.CoreOptions.streamBundle;
>import static org.ops4j.pax.tinybundles.core.TinyBundles.bundle;
>import static org.osgi.framework.Constants.DYNAMICIMPORT_PACKAGE;
>
>import java.io.File;
>
>import org.junit.Test;
>import org.junit.runner.RunWith;
>import org.ops4j.pax.exam.Configuration;
>import org.ops4j.pax.exam.CoreOptions;
>import org.ops4j.pax.exam.Option;
>import org.ops4j.pax.exam.junit.PaxExam;
>import org.ops4j.pax.exam.karaf.options.KarafDistributionOption;
>import org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel;
>import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
>import org.ops4j.pax.exam.spi.reactors.PerClass;
>import org.ops4j.pax.tinybundles.core.TinyBundle;
>
>import sample.minimal.karaf.test.second.MyClass;
>
>@RunWith(PaxExam.class)
>@ExamReactorStrategy(PerClass.class)
>public class VersionAsInProjectKarafTest
>{
>
>    @Configuration
>    public Option[] config()
>    {
>        return new Option[]{
>                KarafDistributionOption.logLevel(LogLevel.TRACE),
>               
>KarafDistributionOption.karafDistributionConfiguration().frameworkUrl(
>                  
>maven().groupId("org.apache.karaf").artifactId("apache-karaf").type("tar.g
>z").versionAsInProject())
>                        .karafVersion("2.3.3")
>                        //                        .karafVersion("3.0.3")
>                        .name("Apache
>Karaf").useDeployFolder(false).unpackDirectory(new
>File("target/paxexam")),
>               
>KarafDistributionOption.editConfigurationFileExtend("etc/config.properties
>",
>"org.apache.aries.blueprint.synchronous", "false"),
>                runtimeUtils()
>        };
>    }
>
>
>    /**
>     * Sets up and provisions a bundle packaged with the runtime utitlity
>classes and corresponding headers. This method
>     * should not be called directly as it is called from {@link
>#provisionRuntimeUtilities()}.
>     */
>    private static Option runtimeUtils()
>    {
>
>        final TinyBundle tinyBundle = bundle()
>                .add(MyClass.class)
>                .set(BUNDLE_SYMBOLICNAME,
>"sample.minimal.karaf.test.second")
>                .set(EXPORT_PACKAGE, "sample.minimal.karaf.test.second")
>                .set(IMPORT_PACKAGE, "*")
>                .set(DYNAMICIMPORT_PACKAGE, "*");
>
>        return CoreOptions.provision(streamBundle(tinyBundle.build()));
>    }
>
>
>    @Test
>    public void test() throws Exception
>    {
>        assertTrue(true);
>    }
>
>}
>
>pom.xml
>
>
><project xmlns="http://maven.apache.org/POM/4.0.0";
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>                               
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>                               <modelVersion>4.0.0</modelVersion>
>                               <groupId>some.test</groupId>
>                               
> <artifactId>sample.minimal.karaf.test.second</artifactId>
>                               <version>0.0.1-SNAPSHOT</version>
>                               <packaging>bundle</packaging>
>
>                               <dependencies>
>
>                                                               <dependency>
>                                                       *setting for karaf 3*
>                                                                        /      
> < groupId>org.apache.karaf.features</groupId>
>                                                                               
> <version>3.0.3</version>/
>                  
>                                                                               
> *setting for karaf 2*   
>/      <groupId>org.apache.karaf.assemblies.features</groupId>
>               /                                                               
>                 <artifactId>standard</artifactId>
>                                                                               
>                 /<version>2.3.3</version>/
>                                                                               
>                 <classifier>features</classifier>
>                                                                               
>                 <type>xml</type>
>                                                               </dependency>
>                                                                               
>         
>
>                                                               <dependency>
>                                                                               
>                 <groupId>org.apache.karaf</groupId>
>                                                                               
>                 <artifactId>apache-karaf</artifactId>
>                                                                               
>                 <version>2.3.3</version>
>                                                                               
>                 <type>tar.gz</type>
>                                                                               
>                 <scope>test</scope>
>                                                               </dependency>
>                                                               
>                                                               <dependency>
>                                                                               
>                 <groupId>
>                                                                               
>                                                 org.ops4j.pax.exam
>                                                                               
>                 </groupId>
>                                                                               
>                 <artifactId>
>                                                                               
>                                                 pax-exam-spi
>                                                                               
>                 </artifactId>
>                                                                               
>                 <version>4.4.0</version>
>                                                                               
>                 <scope>test</scope>
>                                                               </dependency>
>
>                                                               <dependency>
>                                                                               
>                 <groupId>org.ops4j.pax.exam</groupId>
>                                                                               
>                 <artifactId>pax-exam-container-karaf</artifactId>
>                                                                               
>                 <version>4.4.0</version>
>                                                                               
>                 <scope>test</scope>
>                                                               </dependency>
>                                                               <dependency>
>                                                                               
>                 <groupId>org.ops4j.pax.exam</groupId>
>                                                                               
>                 <artifactId>pax-exam-junit4</artifactId>
>                                                                               
>                 <version>4.4.0</version>
>                                                                               
>                 <scope>test</scope>
>                                                               </dependency>
>                                                               <dependency>
>                                                                               
>                 <groupId>org.ops4j.pax.exam</groupId>
>                                                                               
>                 <artifactId>pax-exam</artifactId>
>                                                                               
>                 <version>4.4.0</version>
>                                                                               
>                 <scope>test</scope>
>                                                               </dependency>
>                                                               <dependency>
>                                                                               
>                 <groupId>org.ops4j.pax.url</groupId>
>                                                                               
>                 <artifactId>pax-url-aether</artifactId>
>                                                                               
>                 <version>2.3.0</version>
>                                                                               
>                 <scope>test</scope>
>                                                               </dependency>
>                                                               <dependency>
>                                                                               
>                 <groupId>javax.inject</groupId>
>                                                                               
>                 <artifactId>javax.inject</artifactId>
>                                                                               
>                 <version>1</version>
>                                                                               
>                 <scope>test</scope>
>                                                               </dependency>
>                                                               <dependency>
>                                                                               
>                 <groupId>junit</groupId>
>                                                                               
>                 <artifactId>junit</artifactId>
>                                                                               
>                 <version>4.11</version>
>                                                                               
>                 <scope>test</scope>
>                                                               </dependency>
>                               </dependencies>
>
>                               <build>
>                                                               <plugins>
>
>                                                                               
>                 <plugin>
>                                                                               
>                                                 
> <artifactId>maven-compiler-plugin</artifactId>
>                                                                               
>                                                 <version>3.1</version>
>                                                                               
>                                                 <configuration>
>                                                                               
>                                                                               
>   <source>1.7</source>
>                                                                               
>                                                                               
>   <target>1.7</target>
>                                                                               
>                                                 </configuration>
>                                                                               
>                 </plugin>
>                                                                               
>                 <plugin>
>                                                                               
>                                                 
> <groupId>org.apache.felix</groupId>
>                                                                               
>                                                 
> <artifactId>maven-bundle-plugin</artifactId>
>                                                                               
>                                                 <extensions>true</extensions>
>                                                                               
>                                                 <version>2.3.7</version>
>
>                                                                               
>                 </plugin>
>                                                                               
>                 <plugin>
>                                                                               
>                                                 
> <groupId>org.apache.servicemix.tooling</groupId>
>                                                                               
>                                                 
> <artifactId>depends-maven-plugin</artifactId>
>                                                                               
>                                                 <version>1.2</version>
>                                                                               
>                                         
>                                                                               
>                                                 <executions>
>                                                                               
>                                                                               
>   <execution>
>                                                                               
>                                                                               
>                                   <id>generate-depends-file</id>
>                                                                               
>                                                                               
>                                   <goals>
>                                                                               
>                                                                               
>                                                                   
> <goal>generate-depends-file</goal>
>                                                                               
>                                                                               
>                                   </goals>
>                                                                               
>                                                                               
>   </execution>
>                                                                               
>                                                 </executions>
>                                                                               
>                 </plugin>
>                                                                               
>                 <plugin>
>                                                                               
>                                                 
> <artifactId>maven-surefire-plugin</artifactId>
>                                                                               
>                                                 <configuration>
>                                                                               
>                                                                               
>   <systemPropertyVariables>
>                                                                               
>                                                                               
>                           
><pax.exam.karaf.version>2.3.3</pax.exam.karaf.version>
>                                                                               
>                                                                               
>   </systemPropertyVariables>
>                                                                               
>                                                 </configuration>
>                                                                               
>                 </plugin>
>                                                               </plugins>
>                               </build>
></project>
>
>
>
>
>
>--
>View this message in context:
>http://karaf.922171.n3.nabble.com/Integration-Tests-hang-for-approx-30-sec
>onds-after-Karaf-2-3-3-upgrade-to-3-0-3-tp4038517.html
>Sent from the Karaf - User mailing list archive at Nabble.com.

Reply via email to