History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-1873
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Steve Luo
Reporter: AlSt
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Changing the Category of Custom Statistics Plugin configuration does not change it in usages in corresponding Custom Statistics Report step

Created: 02/Dec/13 08:45 AM   Updated: 13/Dec/13 07:16 PM
Component/s: None
Affects Version/s: 5.0.22
Fix Version/s: 5.1.3

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown


 Description  « Hide
This subsequently leads to a NPE:
{noformat}
09:36:50,410 ERROR - Step 'master>publish-report-buildpipeline' is failed.
    java.lang.NullPointerException
        at com.pmease.quickbuild.plugin.report.engine.contribution.publisher.BuildReportPublisher.onBeforePublish(BuildReportPublisher.java:100)
        at com.pmease.quickbuild.plugin.report.customstats.publisher.CustomStatsBuildStep$$EnhancerByCGLIB$$7773aa1d.CGLIB$onBeforePublish$20(<generated>)
        at com.pmease.quickbuild.plugin.report.customstats.publisher.CustomStatsBuildStep$$EnhancerByCGLIB$$7773aa1d$$FastClassByCGLIB$$892e3501.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:269)
        at com.pmease.quickbuild.plugin.report.customstats.publisher.CustomStatsBuildStep$$EnhancerByCGLIB$$7773aa1d.onBeforePublish(<generated>)
        at com.pmease.quickbuild.plugin.report.engine.contribution.publisher.AbstractPublisher.run(AbstractPublisher.java:128)
        at com.pmease.quickbuild.plugin.report.customstats.publisher.CustomStatsBuildStep$$EnhancerByCGLIB$$7773aa1d.CGLIB$run$26(<generated>)
        at com.pmease.quickbuild.plugin.report.customstats.publisher.CustomStatsBuildStep$$EnhancerByCGLIB$$7773aa1d$$FastClassByCGLIB$$892e3501.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:269)
{noformat}

 All   Comments   Work Log   Change History      Sort Order:
Steve Luo [09/Dec/13 05:22 AM]
Hi,
What kind of operation did you do? Changing the name of a category? When changing a category's name, below error will be reported:
ERROR - Step 'master>Publish Custom Stats' is failed.
    java.lang.NullPointerException: category [my junit] does not exist
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:208)
        at com.pmease.quickbuild.plugin.report.customstats.publisher.CustomStatsBuildStep.getCategory(CustomStatsBuildStep.java:180)
        at com.pmease.quickbuild.plugin.report.customstats.publisher.CustomStatsBuildStep$$EnhancerByCGLIB$$921645a2.CGLIB$getCategory$0(<generated>)
        at

From the log, we can know the original category [my junit] doesn't exist.

It is hard to update all corresponding steps in whole configuration tree when category name is changed here, because to iterate the whole configuration tree may take a very long time.


AlSt [09/Dec/13 08:40 AM]
Hi Steve,

yes, as I tried to state in the title of the issue, I changed the name of the Category in the "Administration > Plugin > Custom Statistics configuration", because the name initially chosen (for a first prototype) was not really appropriate.

Please also note that shortly afterwards I also sent a bug report from QB usage with respect to dashboard that was also suffering from this change (so there was already a dashboard using this Category, when I renamed it). And I must admit the damage was more severe in the later scenario, because I could not open the dashboard anymore...

Hope that helps,
   Reinhold

Steve Luo [09/Dec/13 11:02 AM]
Hi Reinhold,

Thank you for updating. Yes, I have noticed the later scenario and it will be fixed in next patch release. Now, you have to rename back and remove the gadget first.