Hi,

I’ve posted the following on matrix/IRC.

Friday:

* Guys we regressed in global TPC from  2017-11-09 to 2018-04-03 :(
* From 76.28% to 75.88%
* we need to analyze more in details now to understand why
* (and whether the report is correct or not)
* PDF Report: https://up1.xwikisas.com/#mJ0loeB6nBrAgYeKA7MGGw
* Examples:
** com.xpn.xwiki.internal.store from 97.6% to 89.32%
** com.xpn.xwiki.internal.file from 67.9% to 9.87%  - that's huge maybe some 
refactoring
** org.xwiki.url.internal from 86.99% to 63.69%

Today:

* Note that I have 2 reasons for checking our TPC:
** Globally it has to go up every year and we've gone down since nov 2017
** For STAMP we need to show an increase in TPC and we had a nice +2.2% 
increase from 2016 to 2017 but we've gone down now and we need to go up, to go 
to +3 or/ 4% at end of 2018

Today I’ve also started analyzing the drop from  67.9% to 9.87% for 
“com.xpn.xwiki.internal.file”. Here are my findings:
* This is caused by TemporaryDeferredFileRepository which is no longer tested
** Before: 
http://maven.xwiki.org/site/clover/20171109/clover-commons+rendering+platform-20171109-1920/com/xpn/xwiki/internal/file/pkg-summary.html
** After; 
http://maven.xwiki.org/site/clover/20180403/clover-commons+rendering+platform-20180403-1915/com/xpn/xwiki/internal/file/pkg-summary.html
* There have been refactoring recently to enable FS attachment store by default 
that have led to TemporaryDeferredFileRepository not being used anymore 
(deprecated methods not used anymore) or used only in some specific 
circumstances (for example at 
https://github.com/xwiki/xwiki-platform/blob/ac85d61b0c48d7ed21a8109e964f77e7502b93fe/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/store/XWikiHibernateRecycleBinStore.java#L230when
 the store is not defined) 
* The conclusion is that before the changesTemporaryDeferredFileRepository was 
called a lot (indirectly) leading to 545 calls to it 
(http://maven.xwiki.org/site/clover/20171109/clover-commons+rendering+platform-20171109-1920/com/xpn/xwiki/internal/file/TemporaryDeferredFileRepository.html?line=74#src-74)
 and now it’s not called anymore at all.
* The second conclusion is that we had no unit/integration tests for it and the 
changes lead to loosing it being tested. So it’s no longer tested ATM. Thanks 
to the Clover report we noticed that it’s no longer tested.
* Thus we need to do one of 2 things:
** Move the code to legacy and make sure no code uses it. That’s if we don’t 
really need it
** Keep it but add some unit/integration tests or even some functional tests 
that would trigger it.

I’ll let Thomas pitch in on this.

Next step: analyze some other drops in TPC.

Note: I wish it were simpler to find out why some TPC drops. Took me like 1-2 
hours to figure all this out...

Thanks
-Vincent



Reply via email to