Hi Chris, no problem, feel free to filter that pull request as needed :-) 

Cheers

 
Bruno P. Kinoshita
http://kinoshita.eti.br
http://tupilabs.com


>________________________________
> From: Christopher Johnson <[email protected]>
>To: Bruno P. Kinoshita <[email protected]> 
>Cc: "[email protected]" <[email protected]> 
>Sent: Friday, 20 July 2012 3:56 PM
>Subject: Re: Test cases failing with multiple levels of builds
> 
>Thanks for that, it looks good.
>
>Will run the merge and will check the warnings,
>and then push to the main Jenkinsci project
>
>I will have to remove the <pluginManagement> section from the pom
>though as it only required for the eclipse and most, other plugins do
>not have this section.
>
>Chris.
>
>On 20 July 2012 19:12, Bruno P. Kinoshita <[email protected]> wrote:
>> Almost forgot Chris, I also saw some errors regarding missing descriptor for
>> TriggerBuilder. Adding DescriptorImpl() { super(TriggerBuilder.class); }
>> constructor to its descriptor fixes that kind or warning ;)
>>
>> Laters
>>
>> Bruno P. Kinoshita
>> http://kinoshita.eti.br
>> http://tupilabs.com
>>
>> ________________________________
>> From: Bruno P. Kinoshita <[email protected]>
>> To: cjo <[email protected]>; "[email protected]"
>> <[email protected]>
>> Sent: Friday, 20 July 2012 1:49 PM
>> Subject: Re: Test cases failing with multiple levels of builds
>>
>> Ops, sorry Chris, I only tested the master branch.
>>
>>
>> I've sent a pull request [1] with a change the seems to fix this issue.
>> Below is the pull request message. Cheers.
>>
>>>>>
>> JENKINS-14278: added code to make sure that the number of executors is
>> updated
>> For tracking what was causing this issue, I put a breakpoint before the
>> first
>> Future<?>#get() method call, as the execution was dying there. Then I called
>> the HudsonTestCase#getURL() method, to get the Jenkins URL (it's very
>> convenient).
>> This way I could see the jobs configuration, it was very useful since I
>> don't
>> know very well the objects created by parameterized-trigger-plugin. Then I
>> noticed there were only two executors.
>> Following the debug stack, I found later that project1 was waiting for
>> another
>> project (I think it was projectZ4 maybe? sorry, I closed the debugger
>> already) and
>> that this latter project was waiting for another project that was never
>> executed.
>> Going back to Jenkins main page, there were only two executors, even after
>> Hudson#setNumExecutors(10) was called. Then I had a quick look at
>> Jenkins#doSubmitConfig(...)
>> method, and realized that after updating the number of executors, you had to
>> update the nodes/computers configuration as well.
>> Then, as I'm a lazy bastard, I went to my search engine and searched for
>> Jenkins setnumexecutors and found some code with the following code snippet:
>> hudson.setNodes(hudson.getNodes());
>> I think the method that needs to be called after setNumExecutors is
>> updateComputerList,
>> that is package protected, but is called from this setNodes method.
>> And then all the tests passed :)
>> Other files were changed to remove warnings in Eclipse, to use hamcrest-1.3
>> as
>> maven couldn't find hamcrest-1.2 or for compliance with Java 1.5 (@override
>> annotations). These changes are not required to fix this issue.
>> Hope that helps.
>> Bruno
>> <<<
>>
>>
>> [1] https://github.com/cjo9900/parameterized-trigger-plugin/pull/1
>>
>> Bruno P. Kinoshita
>> http://kinoshita.eti.br
>> http://tupilabs.com
>>
>>>________________________________
>>> From: cjo <[email protected]>
>>>To: [email protected]
>>>Cc: Bruno P. Kinoshita <[email protected]>
>>>Sent: Friday, 20 July 2012 5:49 AM
>>>Subject: Re: Test cases failing with multiple levels of builds
>>>
>>>
>>>Did you build and test the JENKINS-14278 branch or the master one?
>>>
>>>
>>>As I see you eclipse changes only on the master branch not JENKINS-14278.
>>>which is where I have added the changes to the test cases.
>>>
>>>
>>>Chris.
>>>
>>>On Friday, July 20, 2012 1:15:30 AM UTC+1, kinow wrote:
>>>Hi Chris,
>>>>I've forked the repo at [1] from [2], did the usual changes to remove the
>>>> Eclipse warnings, plus replaced hamcrest-1.2 by hamcrest-1.3 and then
>>>> executed mvn -e -X clean test, and couldn't see any errors. Then I tried
>>>> running TriggerBuilderTest with JUnit plug-in in Eclipse, and again all
>>>> tests passed.
>>>>My settings: Debian 6 3.2 64bits, Java 1.6, Eclipse Juno, Maven 3.0.4.
>>>>Just my 0.02 cents. Maybe I've missed something from your problem, but I
>>>> believe someone else here with more knowledge of
>>>> parameterized-trigger-plugin or Jenkins codebase will be able to help you
>>>> more  :-)
>>>>Cheers,
>>>>[1] https://github.com/kinow/ parameterized-trigger-plugin. git
>>>>[2] https://github.com/cjo9900/ parameterized-trigger-plugin. git
>>>>Bruno P. Kinoshita
>>>>http://kinoshita.eti.br
>>>>http://tupilabs.com
>>>>
>>>>>_____________________________ ___
>>>>> From: cjo <[email protected]>
>>>>>To: [email protected]
>>>>>Sent: Thursday, 19 July 2012 9:46 AM
>>>>>Subject: Test cases failing with multiple levels of builds
>>>>>
>>>>>
>>>>>Hi all,
>>>>>
>>>>>
>>>>>I'm looking at fixing JENKINS-14278[1] on the parameterized-trigger
>>>>> plugin.
>>>>>
>>>>>
>>>>>I think I have fixed the issue, and I wrote tests that show the issues
>>>>> before making the changes.
>>>>>Testcases commited at [2]
>>>>>Code Fixes at [3]
>>>>>
>>>>>
>>>>>However once making the changes to the plugin the test case still fails,
>>>>> in a different way.
>>>>>Before the fix the test case failed with the java.lang.
>>>>> IllegalArgumentException as per the error report,
>>>>>after the fix the test case just hung and never completed.
>>>>>
>>>>>
>>>>>The test case involves a matrix project being configured to call builds
>>>>> on other projects while waiting for them to finish
>>>>>this gives the following build chain
>>>>>
>>>>>
>>>>>Matrix parent -> Matrix child (triggers+block) -> Project1
>>>>>Debugging through this shows that the Project1 never get called to run,
>>>>>which causes the parameterized-trigger to hang while waiting for the the
>>>>> build to finish at Future.get() in BlockableBuildTriggerConfig.[ 4]
>>>>>
>>>>>
>>>>>If the test is configured to not block, the Matrix child builds complete
>>>>> and indicate that the subjobs were triggered, but the logs do not show 
>>>>> them
>>>>> every running.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>To see if this hang was related to the MatrixProject, I also created a
>>>>> test case where a build triggers another one which also triggers others .
>>>>>
>>>>>
>>>>>ProjectA (triggers+block) -> ProjectB (triggers+block) -> ProjectC.
>>>>>
>>>>>
>>>>>The same error ocurs in this case ProjectC does not seem to run, and also
>>>>> hangs at Future.get()[4]
>>>>>So this looks like an issue in the test case running.
>>>>>
>>>>>
>>>>>The issue is not "no free executors" as i have increased that to greater
>>>>> than the total combination of builds.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>Can anyone see why the second level of jobs is not running in the test
>>>>> harness?
>>>>>as when creating the jobs on a proper Jenkins instance they work with no
>>>>> issues at all.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>[1]https://issues.jenkins-ci. org/browse/JENKINS-14278
>>>>>[2]https://github.com/ cjo9900/parameterized-trigger- plugin/commit/
>>>>> f26766b3eca5ebdd3388b1a0ba2fdb 86c338c9fc
>>>>>[3]https://github.com/ cjo9900/parameterized-trigger- plugin/commit/
>>>>> ca9992f8110aa6991dd013e4f7100f ee229bf92d
>>>>>[4]https://github.com/ cjo9900/parameterized-trigger-
>>>>> plugin/blob/JENKINS-14278/src/ main/java/hudson/plugins/
>>>>> parameterizedtrigger/ TriggerBuilder.java#L115
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>Thanks for any help on this.
>>>>>
>>>>>
>>>>>Chris.
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>
>
>

Reply via email to