Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-121715

Race condition on startup with autoUpgrade

    Details

    • Fix Priority:
      3
    • Sprint:
      Upgrade|19.10-2.11|BolloPre├▒ao, Upgrade|5.11-23.11|BoqueronesV, Upgrade|23.11-7.12|Bravas, Upgrade|14.12-28.12|Callos, Upgrade|4.1-18.1|CarneEnSarsa, Upgrade|1.18-2.1|Caz├│nEnAdobo, Upgrade|2.1-2.15|Ensaladilla, Upgrade|2.17-3.3|Espeto, Upgrade|3.3-3.17|Gallinejas, Upgrade|3.17-3.31|Gazpacho

      Description

      Race condition on startup when auto upgrade enabled (upgrade.database.auto.run=true):

      Steps to Reproduce:

      1. Import attached 7.1.10.3 database (MySQL)
      2. Set portal-ext properties
        upgrade.database.auto.run=true
        module.framework.properties.dependency.manager.sync.timeout=1800
        module.framework.properties.initial.system.check.enabled=true
        

        + MySQL Connection properties

      3. Start master against the 7.1 database to execute an upgrade on startup

      Expected Result:
      Upgrade on startup always completes without unsatisfied dependencies in the osgi bundles

      Actual Result:
      Upgrade on startup sometimes has unsatisfied dependencies in the osgi bundles

      The failure rate is pretty low for an individual test (5%). But because we run multiple upgrade test executions regularly on CI (and on different database dumps), this issue can be seen every day in automation.

      Can occurs on different bundles
      Example

       [parallel] 20:49:58,303 WARN [main][SystemCheckOSGiCommands:137] Declarative Service Unsatisfied Component Checker check result: 
       [parallel] Bundle \{id: 356, name: com.liferay.redirect.web, version: 1.0.28}
       [parallel] Declarative Service {id: 5389, name: com.liferay.redirect.web.internal.application.list.RedirectPanelApp, unsatisfied references: 
       [parallel] \{name: Portlet, target: (javax.portlet.name=com_liferay_redirect_web_internal_portlet_RedirectPortlet)}
       [parallel] }
       [parallel] 20:49:58,303 INFO [main][SystemCheckOSGiCommands:114] Running "Missing Component Scanner". You can run this by itself with command "ds:missing" in gogo shell.
      

      Additional Examples from CI:
      https://test-1-2.liferay.com/job/test-portal-testsuite-upstream-batch(master)/38626/AXIS_VARIABLE=0,label_exp=!master/consoleText
      https://test-1-4.liferay.com/job/test-portal-testsuite-upstream-batch(master)/35366/AXIS_VARIABLE=0,label_exp=!master/consoleText
      https://test-1-12.liferay.com/job/test-portal-testsuite-upstream-batch(master)/32789/AXIS_VARIABLE=0,label_exp=!master/consoleText

        Attachments

          Activity

            People

            Assignee:
            support-lep@liferay.com SE Support
            Reporter:
            victor.ware Victor Ware
            Participants of an Issue:
            Recent user:
            Chao Wang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Days since last comment:
              15 weeks, 2 days ago

                Packages

                Version Package