[jira] [Updated] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.
[ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christoph Gritschenberger updated ARIES-851: Attachment: ARIES-851-regression-fix.patch BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event. --- Key: ARIES-851 URL: https://issues.apache.org/jira/browse/ARIES-851 Project: Aries Issue Type: Bug Components: JPA, Util Environment: Linux-3.0.0, Karaf-3.0.0-SNAPSHOT with Felix, openjdk-6 Reporter: Christoph Gritschenberger Assignee: Guillaume Nodet Fix For: 1.0 Attachments: ARIES-851-regression-fix.patch, ARIES-851-stacktrace.TXT, BundleHookBundleTracker-solution1.patch, BundleHookBundleTracker-solution2.patch, bundletracker-test-src.zip, jpa-test-bundle-src.zip, persistence-feature.xml, test.bundletracker.bundle-0.1.0-SNAPSHOT.jar, test.jpa.bundle-0.1.0-SNAPSHOT.jar Steps to reproduce * Compile or get a karaf-3.0.0-SNAPSHOT and unpack it * Install openjpa-2.2.0 (using the attached feature-file) * Deploy a bundle containing a persistence-unit (attached jar for example) get the following Exception 4 times: {code} ERROR: Bundle org.apache.aries.jpa.container [78] EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: Unable to create persistence units for the bundle test.jpa.test.jpa.bundle/0.1.0.SNAPSHOT as previous persistence units already exist.) java.lang.IllegalStateException: Unable to create persistence units for the bundle test.jpa.test.jpa.bundle/0.1.0.SNAPSHOT as previous persistence units already exist. {code} See attachment for full stacktrace In subsequent startups the Exception is still thrown but the stacktrace does not show in the console or the log. Also when using equinox the Stacktrace does not appear in either the console or the log ever, but it's still thrown. The problem is that the PersistenceBundleManager#addingBundle is called multiple times for the newly installed bundle. The PersistenceBundleManager is passed as a BundleTrackerCustomizer to a BundleHookBundleTracker. The BundleHookBundleTracker stores it in it's own private attribute and also passes it to it's super-constructor. So the customizer is stored in the instance twice. It's called by both BundleTracker$Tracked.customizerAdding and BundleHookBundleTracker$Tracked.customizerAdding. Both Tracked recognize the bundle as untracked and call the addingBundle-method. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.
[ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christoph Gritschenberger updated ARIES-851: Attachment: (was: bundletracker-test.zip) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event. --- Key: ARIES-851 URL: https://issues.apache.org/jira/browse/ARIES-851 Project: Aries Issue Type: Bug Components: JPA, Util Environment: Linux-3.0.0, Karaf-3.0.0-SNAPSHOT with Felix, openjdk-6 Reporter: Christoph Gritschenberger Attachments: ARIES-851-stacktrace.TXT, BundleHookBundleTracker-solution1.patch, BundleHookBundleTracker-solution2.patch, jpa-test-bundle-src.zip, persistence-feature.xml, test.jpa.bundle-0.1.0-SNAPSHOT.jar Steps to reproduce * Compile or get a karaf-3.0.0-SNAPSHOT and unpack it * Install openjpa-2.2.0 (using the attached feature-file) * Deploy a bundle containing a persistence-unit (attached jar for example) get the following Exception 4 times: {code} ERROR: Bundle org.apache.aries.jpa.container [78] EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: Unable to create persistence units for the bundle test.jpa.test.jpa.bundle/0.1.0.SNAPSHOT as previous persistence units already exist.) java.lang.IllegalStateException: Unable to create persistence units for the bundle test.jpa.test.jpa.bundle/0.1.0.SNAPSHOT as previous persistence units already exist. {code} See attachment for full stacktrace In subsequent startups the Exception is still thrown but the stacktrace does not show in the console or the log. Also when using equinox the Stacktrace does not appear in either the console or the log ever, but it's still thrown. The problem is that the PersistenceBundleManager#addingBundle is called multiple times for the newly installed bundle. The PersistenceBundleManager is passed as a BundleTrackerCustomizer to a BundleHookBundleTracker. The BundleHookBundleTracker stores it in it's own private attribute and also passes it to it's super-constructor. So the customizer is stored in the instance twice. It's called by both BundleTracker$Tracked.customizerAdding and BundleHookBundleTracker$Tracked.customizerAdding. Both Tracked recognize the bundle as untracked and call the addingBundle-method. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.
[ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christoph Gritschenberger updated ARIES-851: Attachment: bundletracker-test.zip BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event. --- Key: ARIES-851 URL: https://issues.apache.org/jira/browse/ARIES-851 Project: Aries Issue Type: Bug Components: JPA, Util Environment: Linux-3.0.0, Karaf-3.0.0-SNAPSHOT with Felix, openjdk-6 Reporter: Christoph Gritschenberger Attachments: ARIES-851-stacktrace.TXT, BundleHookBundleTracker-solution1.patch, BundleHookBundleTracker-solution2.patch, jpa-test-bundle-src.zip, persistence-feature.xml, test.jpa.bundle-0.1.0-SNAPSHOT.jar Steps to reproduce * Compile or get a karaf-3.0.0-SNAPSHOT and unpack it * Install openjpa-2.2.0 (using the attached feature-file) * Deploy a bundle containing a persistence-unit (attached jar for example) get the following Exception 4 times: {code} ERROR: Bundle org.apache.aries.jpa.container [78] EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: Unable to create persistence units for the bundle test.jpa.test.jpa.bundle/0.1.0.SNAPSHOT as previous persistence units already exist.) java.lang.IllegalStateException: Unable to create persistence units for the bundle test.jpa.test.jpa.bundle/0.1.0.SNAPSHOT as previous persistence units already exist. {code} See attachment for full stacktrace In subsequent startups the Exception is still thrown but the stacktrace does not show in the console or the log. Also when using equinox the Stacktrace does not appear in either the console or the log ever, but it's still thrown. The problem is that the PersistenceBundleManager#addingBundle is called multiple times for the newly installed bundle. The PersistenceBundleManager is passed as a BundleTrackerCustomizer to a BundleHookBundleTracker. The BundleHookBundleTracker stores it in it's own private attribute and also passes it to it's super-constructor. So the customizer is stored in the instance twice. It's called by both BundleTracker$Tracked.customizerAdding and BundleHookBundleTracker$Tracked.customizerAdding. Both Tracked recognize the bundle as untracked and call the addingBundle-method. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.
[ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christoph Gritschenberger updated ARIES-851: Attachment: test.bundletracker.bundle-0.1.0-SNAPSHOT.jar bundletracker-test-src.zip I also found a way to illustriate the behaviour with plain felix. Download and start felix-4.0.2 felix:install file:/path/to/org.apache.aries.util-1.0.0-SNAPSHOT.jar start id felix:install file:/path/to/test.bundletracker.bundle-0.1.0-SNAPSHOT.jar start id then install any bundle (e.g. commons-collections) and watch how often the bundletracker prints the event felix:install file:/path/to/commons-collections-3.2.1.jar {code} g! felix:lb START LEVEL 1 ID|State |Level|Name 0|Active |0|System Bundle (4.0.2) 1|Active |1|Apache Felix Bundle Repository (1.6.6) 2|Active |1|Apache Felix Gogo Command (0.12.0) 3|Active |1|Apache Felix Gogo Runtime (0.10.0) 4|Active |1|Apache Felix Gogo Shell (0.10.0) 5|Active |1|Test :: BundleTracker :: Bundle (0.1.0.SNAPSHOT) 7|Active |1|Apache Aries Util (1.0.0.SNAPSHOT) 9|Installed |1|Commons Collections (3.2.1) g! felix:start 9 Event: org.osgi.framework.BundleEvent[source=org.apache.commons.collections [9]] modified bundleorg.apache.commons.collections Event: org.osgi.framework.BundleEvent[source=org.apache.commons.collections [9]] modified bundleorg.apache.commons.collections Event: org.osgi.framework.BundleEvent[source=org.apache.commons.collections [9]] modified bundleorg.apache.commons.collections Event: org.osgi.framework.BundleEvent[source=org.apache.commons.collections [9]] modified bundleorg.apache.commons.collections Event: org.osgi.framework.BundleEvent[source=org.apache.commons.collections [9]] modified bundleorg.apache.commons.collections Event: org.osgi.framework.BundleEvent[source=org.apache.commons.collections [9]] modified bundleorg.apache.commons.collections {code} BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event. --- Key: ARIES-851 URL: https://issues.apache.org/jira/browse/ARIES-851 Project: Aries Issue Type: Bug Components: JPA, Util Environment: Linux-3.0.0, Karaf-3.0.0-SNAPSHOT with Felix, openjdk-6 Reporter: Christoph Gritschenberger Attachments: ARIES-851-stacktrace.TXT, BundleHookBundleTracker-solution1.patch, BundleHookBundleTracker-solution2.patch, bundletracker-test-src.zip, jpa-test-bundle-src.zip, persistence-feature.xml, test.bundletracker.bundle-0.1.0-SNAPSHOT.jar, test.jpa.bundle-0.1.0-SNAPSHOT.jar Steps to reproduce * Compile or get a karaf-3.0.0-SNAPSHOT and unpack it * Install openjpa-2.2.0 (using the attached feature-file) * Deploy a bundle containing a persistence-unit (attached jar for example) get the following Exception 4 times: {code} ERROR: Bundle org.apache.aries.jpa.container [78] EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: Unable to create persistence units for the bundle test.jpa.test.jpa.bundle/0.1.0.SNAPSHOT as previous persistence units already exist.) java.lang.IllegalStateException: Unable to create persistence units for the bundle test.jpa.test.jpa.bundle/0.1.0.SNAPSHOT as previous persistence units already exist. {code} See attachment for full stacktrace In subsequent startups the Exception is still thrown but the stacktrace does not show in the console or the log. Also when using equinox the Stacktrace does not appear in either the console or the log ever, but it's still thrown. The problem is that the PersistenceBundleManager#addingBundle is called multiple times for the newly installed bundle. The PersistenceBundleManager is passed as a BundleTrackerCustomizer to a BundleHookBundleTracker. The BundleHookBundleTracker stores it in it's own private attribute and also passes it to it's super-constructor. So the customizer is stored in the instance twice. It's called by both BundleTracker$Tracked.customizerAdding and BundleHookBundleTracker$Tracked.customizerAdding. Both Tracked recognize the bundle as untracked and call the addingBundle-method. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira