Karaf: Globally Prevent AutoRefresh Cascade on Feature Install

Description

Karaf 4.3.1 contains the new feature KARAF-6953: Globally Prevent AutoRefresh Cascade on Feature Install.

ATM when additional features are installed some core features get refreshed (cf. NMS-12766). This causes a lot of additional bundle shutdown / startup activities during OpenNMS startup. Preventing AutoRefresh cascades on feature installs will speedup startup time.

Acceptance / Success Criteria

None

Attachments

3
  • 16 Nov 2021, 09:31 AM
  • 16 Nov 2021, 09:11 AM
  • 16 Nov 2021, 09:11 AM

Lucidchart Diagrams

Activity

Show:

Stefan Wachter February 15, 2022 at 2:47 PM

The change seems to increase flakiness which outweighs the improvement.

Stefan Wachter January 27, 2022 at 4:01 PM

Karaf was updated in the meantime.

Stefan Wachter November 26, 2021 at 10:11 AM

It seems that then logic with the newly added autoFlush property got mixed up in Karaf: KARAF-7282

Stefan Wachter November 16, 2021 at 9:38 AM

The attached files show the FeaturesServiceImpl log output when the Alec plugin is installed, one time with bundle refreshs and the other time without.

  • When bundles are refreshed there is an additional "Stopping bundles" phase that takes 502 ms and the "Starting bundles" phase takes 2,707 ms.

  • When bundles are not refreshed the "Starting bundles" phase takes 2,540 ms.

The difference in time is 669 ms.

Looking at the complete log files I found a surprising pause time between feature installs. This is true for both, the install with and without refreshs. There is a significant pause in the output of the FeatureServicesImpl between its "Done" message for a feature and the following "Changes to Perform" message for the next feature. In karaf-28.x.log these times amount to approx. 10 + 4 + 4 seconds.

 

Stefan Wachter November 9, 2021 at 10:11 AM

Won't Fix

Details

Assignee

Reporter

HB Backlog Status

Components

Sprint

Priority

PagerDuty

Created April 29, 2021 at 12:23 PM
Updated September 15, 2023 at 12:58 PM
Resolved February 15, 2022 at 2:48 PM

Flag notifications