Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-6280

Custom persistence manager no longer working under jdk14

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Not A Problem
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Configuration Admin
    • Labels:
      None
    • Environment:
      jdk14

      Description

      The project that I am working on is currently still using jdk8 but we are planning to move to jdk14 and is using a custom org.apache.felix.cm.PersistenceManager that stores the configuration information in a SQL database. I have attached the sources (see ConfigurationPersistenceManager.java)

      First thing I did was to upgrade to felix 6.0.3 (was using 5.6.1 before) and upgraded the sub projects that we use to the most recent version. We are using SCR 1.9.16.

      After the upgrade, the components did not really seem to startup correctly. I could narrow down some of the problems to one component that is not active and requires configuration information from my custom persistence manager. In the component overview it is marked as "no config". When I go edit the configuration, all of the values that are stored in the database are effectively there. Also when I start felix and attach a remote debugger to it, it invokes my custom persistence manager and it returns the configuration for the requested component. When I then save the component, my custom persistence manager is invoked again and does not produce any errors but when I continue to trace in the debugger, I end up in org.apache.felix.cm.impl.UpdateThread#schedule(Runnable) that is adding an object to "updateTasks" LinkedList and subsequently invokes notifyAll() on it. This is happening time and time again, i.e. each time I save the configuration an element is added to updateTasks but the component but the thread that is intended to pickup the event is not responding (org.apache.felix.cm.impl.UpdateThread#run()) is never removing any elements from updateTasks. Also, the component whose configuration I updated is never getting its activate method invoked.
       
       

        Attachments

        1. Screenshot 2020-05-28 at 16.56.16.png
          518 kB
          Rudi Vankeirsbilck
        2. ConfigurationPersistenceManager.java
          10 kB
          Rudi Vankeirsbilck

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              rudivk Rudi Vankeirsbilck
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: