Red Hat Bugzilla – Bug 1016103
Incremental build takes too long; build time increases with number of commits in system.git
Last modified: 2014-08-06 16:19:11 EDT
Description of problem:
1) Minimal observed inc. build time is ~20s, which is not what I would expect from "incremental" build. It should be faster than complete project build, shouldn't it?
2) More importantly, the time increases as commits cumulate in system.git repository. When my system.git grew close to 2000 commits, the incremental build for mortgages duration reached 60s for any DRL rule. After deleting system.git and server restart, inc. build time dropped back to ~20s.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. open Dummy rule in mortgages
2. repeatedly save the file and observe the duration of incremental build in server log, or the time before save success notification appears (the notification is blocked by running inc. build)
After 180 save iterations the inc. build time (and time between save notifications) increased from 24s to ~75s. Then I created a new rule and made a few more saves, which took ~60s too.
1) The incremental build should be significantly faster (a few seconds at most).
2) Inc. build time shouldn't increase with history size of either the file which triggered the build, the repository it belongs to, or system.git repository.
Not only incremental build is getting slower as system.git grows. Switching to authoring perspective and navigating between repositories, projects and packages in Project Explorer is evidently slower, too.
 Most of the commits are inbox updates (recently viewed, recently edited etc.).
Created attachment 808847 [details]
Dummy rule save iterations 1-80
Created attachment 808848 [details]
Dummy rule save iterations 81-180
Several improvements were executed on UberFire, here the most recent ones that are related to system.git repository. Pushed to master and 0.3.x branches of UberFire
Verified in ER7. The incremental build now doesn't interrupt work in the UI. It cannot be observed anymore and the build time increase cannot be reproduced.