You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Christoph Gritschenberger (JIRA)" <ji...@apache.org> on 2012/05/16 10:33:02 UTC

[jira] [Created] (ARIES-851) Multiple IllegalStateException when deploying a new PersistenceUnit

Christoph Gritschenberger created ARIES-851:
-----------------------------------------------

             Summary: Multiple IllegalStateException when deploying a new PersistenceUnit
                 Key: ARIES-851
                 URL: https://issues.apache.org/jira/browse/ARIES-851
             Project: Aries
          Issue Type: Bug
          Components: JPA
         Environment: Linux-3.0.0, Karaf-3.0.0-SNAPSHOT with Felix, openjdk-6
            Reporter: Christoph Gritschenberger
         Attachments: 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) Multiple IllegalStateException when deploying a new PersistenceUnit

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christoph Gritschenberger updated ARIES-851:
--------------------------------------------

    Attachment: BundleHookBundleTracker-solution2.patch
                BundleHookBundleTracker-solution1.patch

Two solutions that prevent, that addingBundle is called too often.
                
> Multiple IllegalStateException when deploying a new PersistenceUnit
> -------------------------------------------------------------------
>
>                 Key: ARIES-851
>                 URL: https://issues.apache.org/jira/browse/ARIES-851
>             Project: Aries
>          Issue Type: Bug
>          Components: JPA
>         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.

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ 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.

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christoph Gritschenberger updated ARIES-851:
--------------------------------------------

    Summary: BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.  (was: Multiple IllegalStateException when deploying a new PersistenceUnit)
    
> 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] [Resolved] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet resolved ARIES-851.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.0
         Assignee: Guillaume Nodet

Fixed by removing calls to super.open() and super.close()
                
> 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-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] [Commented] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13281042#comment-13281042 ] 

Guillaume Nodet commented on ARIES-851:
---------------------------------------

I think we should go the first way as the whole purpose of this class is to use EventHook and the second way just ignore all that stuff which makes this class useless.
I actually don't see why this class inherit the BundleTracker.
What if we just remove that parent class ?
                
> 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

        

[jira] [Updated] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ 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] [Commented] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.

Posted by "Andreas Pieber (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13280847#comment-13280847 ] 

Andreas Pieber commented on ARIES-851:
--------------------------------------

I get nagged on by exactly the same problem. I can confirm that both of the attached patches fix the problem for me (although I think solution2 is the way to go). Can any commiter pls give this problem a shot? Maybe before the 1.0.0 release? :-)

many thanks in advance and kind regards
                
> 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] [Resolved] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet resolved ARIES-851.
-----------------------------------

    Resolution: Fixed
    
> 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) Multiple IllegalStateException when deploying a new PersistenceUnit

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ 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-stacktrace.TXT
    
> Multiple IllegalStateException when deploying a new PersistenceUnit
> -------------------------------------------------------------------
>
>                 Key: ARIES-851
>                 URL: https://issues.apache.org/jira/browse/ARIES-851
>             Project: Aries
>          Issue Type: Bug
>          Components: JPA
>         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.

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ 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

        

[jira] [Updated] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ 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) Multiple IllegalStateException when deploying a new PersistenceUnit

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christoph Gritschenberger updated ARIES-851:
--------------------------------------------

    Component/s: Util
    
> Multiple IllegalStateException when deploying a new PersistenceUnit
> -------------------------------------------------------------------
>
>                 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] [Reopened] (ARIES-851) BundleTrackerCustomizer in BundleHookBundleTracker is called multiple times for the same event.

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christoph Gritschenberger reopened ARIES-851:
---------------------------------------------


The initial fix caused several JPA-related tests to fail
                
> 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-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) Multiple IllegalStateException when deploying a new PersistenceUnit

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christoph Gritschenberger updated ARIES-851:
--------------------------------------------

    Attachment: test.jpa.bundle-0.1.0-SNAPSHOT.jar
                jpa-test-bundle-src.zip
                persistence-feature.xml
    
> Multiple IllegalStateException when deploying a new PersistenceUnit
> -------------------------------------------------------------------
>
>                 Key: ARIES-851
>                 URL: https://issues.apache.org/jira/browse/ARIES-851
>             Project: Aries
>          Issue Type: Bug
>          Components: JPA
>         Environment: Linux-3.0.0, Karaf-3.0.0-SNAPSHOT with Felix, openjdk-6
>            Reporter: Christoph Gritschenberger
>         Attachments: 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] [Comment Edited] (ARIES-851) Multiple IllegalStateException when deploying a new PersistenceUnit

Posted by "Christoph Gritschenberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ARIES-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13276712#comment-13276712 ] 

Christoph Gritschenberger edited comment on ARIES-851 at 5/16/12 12:59 PM:
---------------------------------------------------------------------------

Attached two possible solutions that prevent, that addingBundle is called too often.

                
      was (Author: christophg):
    Two solutions that prevent, that addingBundle is called too often.
                  
> Multiple IllegalStateException when deploying a new PersistenceUnit
> -------------------------------------------------------------------
>
>                 Key: ARIES-851
>                 URL: https://issues.apache.org/jira/browse/ARIES-851
>             Project: Aries
>          Issue Type: Bug
>          Components: JPA
>         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