[ 
https://issues.apache.org/jira/browse/KARAF-6345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17029366#comment-17029366
 ] 

Robert Varga edited comment on KARAF-6345 at 2/3/20 11:34 PM:
--------------------------------------------------------------

Sorry this took so long, attached is a minimal reproducer (Java 11, just my 
mental default). Once built, repo-adding 
odl-karaf6345-0.1.0-SNAPSHOT-features.xml enables everything needed.

Loading it into karaf-4.2.8, with a fresh install, this does not work:
{code:java}
karaf@root()> feature:install odl-karaf6345 {code}
while doing the same through two steps does:
{noformat}
karaf@root()> feature:install odl-akka-persistence-2.5
karaf@root()> feature:install odl-karaf6345      {noformat}
Examining karaf.log, the second feature:install is doing a bundle refresh which 
it should have resolved during the first feature:install:
{noformat}
2020-02-04T00:33:46,600 | INFO  | pipe-feature:install odl-karaf6345 | 
FeaturesServiceImpl              | 11 - org.apache.karaf.features.core - 4.2.8 
| Adding features: odl-karaf6345/[0.1.0.SNAPSHOT,0.1.0.SNAPSHOT]
2020-02-04T00:33:46,738 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 | Changes to perform:
2020-02-04T00:33:46,739 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |   Region: root
2020-02-04T00:33:46,739 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |     Bundles to install:
2020-02-04T00:33:46,739 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |       
mvn:karaf6345/karaf6345/0.1.0-SNAPSHOT
2020-02-04T00:33:46,740 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 | Stopping bundles:
2020-02-04T00:33:46,740 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |   
wrap_file__home_nite_.m2_repository_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar/0.0.0
2020-02-04T00:33:46,741 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |   
com.typesafe.akka.persistence/2.5.26
2020-02-04T00:33:46,742 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 | Installing bundles:
2020-02-04T00:33:46,742 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |   
mvn:karaf6345/karaf6345/0.1.0-SNAPSHOT
2020-02-04T00:33:46,744 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 | Refreshing bundles:
2020-02-04T00:33:46,745 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |     
com.typesafe.akka.persistence/2.5.26 (Should be wired to: 
org.opendaylight.odlparent.leveldbjni-
all/1.8.0 (through [com.typesafe.akka.persistence/2.5.26] osgi.wiring.package; 
resolution:=optional; 
filter:="(&(osgi.wiring.package=org.fusesource.leveldbjni)(version>=1.8.0)(!(version>=2.0.0)))"))
2020-02-04T00:33:46,745 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |     
wrap_file__home_nite_.m2_repository_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar/0.0.0
 (Should
 be wired to: org.opendaylight.odlparent.leveldbjni-all/1.8.0 (through 
[wrap_file__home_nite_.m2_repository_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar/0.0.0]
 osgi.wiring.package; resolution:=optional; filter:="(osgi.wiring.package=or
g.iq80.leveldb)"))
2020-02-04T00:33:46,759 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 | Starting bundles:
2020-02-04T00:33:46,760 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |   
wrap_file__home_nite_.m2_repository_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar/0.0.0
2020-02-04T00:33:46,760 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |   
com.typesafe.akka.persistence/2.5.26
2020-02-04T00:33:46,761 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.8 |   
karaf6345/0.1.0.SNAPSHOT

{noformat}


was (Author: nite):
Sorry this took so long, attached is a minimal reproducer (Java 11, just my 
mental default). Once built, repo-adding 
odl-karaf6345-0.1.0-SNAPSHOT-features.xml enables everything needed.

Loading it into karaf-4.2.8, with a fresh install, this does not work:
{code:java}
karaf@root()> feature:install odl-karaf6345 {code}
while doing the same through two steps does:
{noformat}
karaf@root()> feature:install odl-akka-persistence-2.5
karaf@root()> feature:install odl-karaf6345      {noformat}
Examining karaf.log, the second feature:install is doing a bundle refresh which 
it should have resolved during the first feature:install:
{noformat}
2020-02-04T00:19:42,046 | INFO  | pipe-feature:install odl-karaf6345 | 
FeaturesServiceImpl              | 11 - org.apache.karaf.features.core - 4.2.5 
| Adding features: odl-karaf6345/[0.1.0.SNAPSHOT,0.1.0.SNAPSHOT]
2020-02-04T00:19:42,182 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 | Changes to perform:
2020-02-04T00:19:42,183 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |   Region: root
2020-02-04T00:19:42,183 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |     Bundles to install:
2020-02-04T00:19:42,183 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |       
mvn:karaf6345/karaf6345/0.1.0-SNAPSHOT
2020-02-04T00:19:42,184 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 | Stopping bundles:
2020-02-04T00:19:42,184 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |   
wrap_file__home_nite_.m2_repository_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar/0.0.0
2020-02-04T00:19:42,185 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |   
com.typesafe.akka.persistence/2.5.26
2020-02-04T00:19:42,187 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 | Installing bundles:
2020-02-04T00:19:42,187 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |   
mvn:karaf6345/karaf6345/0.1.0-SNAPSHOT
2020-02-04T00:19:42,191 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 | Refreshing bundles:
2020-02-04T00:19:42,192 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |     
com.typesafe.akka.persistence/2.5.26 (Should be wired to: 
org.opendaylight.odlparent.leveldbjni-
all/1.8.0 (through [com.typesafe.akka.persistence/2.5.26] osgi.wiring.package; 
resolution:=optional; 
filter:="(&(osgi.wiring.package=org.fusesource.leveldbjni)(version>=1.8.0)(!(version>=2.0.0)))"))
2020-02-04T00:19:42,192 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |     
wrap_file__home_nite_.m2_repository_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar/0.0.0
 (Should
 be wired to: org.opendaylight.odlparent.leveldbjni-all/1.8.0 (through 
[wrap_file__home_nite_.m2_repository_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar/0.0.0]
 osgi.wiring.package; resolution:=optional; filter:="(osgi.wiring.package=or
g.iq80.leveldb)"))
2020-02-04T00:19:42,208 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 | Starting bundles:
2020-02-04T00:19:42,209 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |   
wrap_file__home_nite_.m2_repository_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar/0.0.0
2020-02-04T00:19:42,210 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |   
com.typesafe.akka.persistence/2.5.26
2020-02-04T00:19:42,210 | INFO  | features-3-thread-1 | FeaturesServiceImpl     
         | 11 - org.apache.karaf.features.core - 4.2.5 |   
karaf6345/0.1.0.SNAPSHOT
{noformat}

> Optional imports do not propagate to OSGi framework
> ---------------------------------------------------
>
>                 Key: KARAF-6345
>                 URL: https://issues.apache.org/jira/browse/KARAF-6345
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.2.6, 4.2.7
>            Reporter: Robert Varga
>            Assignee: Jean-Baptiste Onofré
>            Priority: Critical
>             Fix For: 4.3.0, 4.2.9
>
>         Attachments: karaf6345.tgz
>
>
> Based on 
> [https://lists.apache.org/thread.html/bf9e724cc9715b2a568bac7537a7be4a8df85867a2126bbd14e4e79d@%3Cdev.karaf.apache.org%3E]
> The problem is that:
> {noformat}
> java.lang.NoClassDefFoundError: org/iq80/leveldb/DBFactory
>         at java.lang.Class.getDeclaredConstructors0(Native Method)
>         at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
>         at java.lang.Class.getDeclaredConstructors(Class.java:2020)
>         at akka.util.Reflect$.findConstructor(Reflect.scala:92)
>         at 
> akka.persistence.Persistence.akka$persistence$Persistence$$createPlugin(Persistence.scala:408)
> [snip]
> Caused by: java.lang.ClassNotFoundException: org.iq80.leveldb.DBFactory 
> cannot be found by com.typesafe.akka.persistence_2.5.23
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
>         at 
> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>         ... 32 more{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to