1. 16 12月, 2016 1 次提交
  2. 15 12月, 2016 3 次提交
    • P
      [JENKINS-38903] Split Exception handling for node provision and adding to Jenkins (#2591) · 15e69874
      Pavel Janousek 提交于
      * [JENKINS-38903] Split Exception handling for node provision and adding to Jenkins
      
      * Defined new static helper methods that ensure exceptions are not propagated
      
      * Added onCommit and onRollback signals to CloudProvisioningListener
      
      Added the new signals to be able to notify the state after Jenkins.addNode(Node)
      All Listener's calls moved to an exception-tolerant static helpers
      
      * Added @Nonnull annotation
      Changed the method signature CloudProvisioningListener.onRollback()
      
      * Re-throw Error in the fireOnXXX()
      Removed re-thrown Throwable in the main try/catch block
      	(an instance of the Error is handled separately)
      
      * Handling of Error changed
      
      * Fixed Error instance handling in NodeProvisioner.fireOnFailure()
      15e69874
    • K
      [FIXED JENKINS-40286] - Delegate JnlpMac computation to SlaveComputers if possible (#2658) · 37806a53
      kbrowder 提交于
      [FIXED JENKINS-40286] - Delegate JnlpMac computation to SlaveComputers if possible
      37806a53
    • A
      [FIX JENKINS-40053]: Use english as default-locale... · f042bf22
      andrealaura 提交于
      [FIX JENKINS-40053]: Use english as default-locale ResourceBundleUtilTest#test_unknown_locale (#2650)
      
      * [FIX JENKINS-40053]: Use english as default-locale, so the ResourceBundleUtilTest runs also on systems with other default os locales.
      
      * [FIX JENKINS-40053]: Cleanup Locale after test to avoid impact on other tests.
      
      *  [FIX JENKINS-40053]: Use english as default-locale only in the required test method.
      
      * [FIX JENKINS-40053]: Cleanup unused imports.
      f042bf22
  3. 12 12月, 2016 1 次提交
  4. 11 12月, 2016 1 次提交
  5. 09 12月, 2016 4 次提交
  6. 07 12月, 2016 2 次提交
  7. 03 12月, 2016 1 次提交
    • O
      [JENKINS-23271] - Process statuses of Remote process join() operations... · 29893354
      Oleg Nenashev 提交于
      [JENKINS-23271] - Process statuses of Remote process join() operations directly inside methods (#2653)
      
      * [JENKINS-23271] - Process statuses of Remote process join() operations directly inside methods
      
      * [JENKINS-23271] - Also prevent the issue when the kill() command is the last call in the usage sequence
      29893354
  8. 30 11月, 2016 1 次提交
  9. 29 11月, 2016 3 次提交
  10. 28 11月, 2016 1 次提交
  11. 27 11月, 2016 1 次提交
    • J
      [JENKINS-38867] Optimize performance of Actionable.getAllActions (#2582) · 6360b964
      Jesse Glick 提交于
      * Optimize Actionable.getAllActions.
      
      * Also need to invalidate the cache when new plugins are installed.
      
      * Various improvements to TransientActionFactory caching.
      · Move the cache code to TransientActionFactory itself, for better encapsulation.
      · Optimize getAction(Class) to not need to call getAllActions; avoids copying lists, and can avoid calling TransientActionFactory at all.
      · Ensure that we maintain a separate cache per ExtensionList instance, so that static state is not leaked across Jenkins restarts.
      
      * Updated TransientActionFactory to specify what kinds of actions it could produce.
      
      * It turns out that changing type parameters for an extension, while generally binary-compatible, breaks reflective code in Jenkins and so this is not an option.
      … hudson.ExtensionFinder$GuiceFinder$SezpozModule configure
      WARNING: Failed to load com.cloudbees.hudson.plugins.folder.relocate.RelocationAction$TransientActionFactoryImpl
      java.lang.LinkageError: Failed to resolve class com.cloudbees.hudson.plugins.folder.relocate.RelocationAction$TransientActionFactoryImpl
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:489)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:506)
      	at …
      	at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:280)
      	at …
      	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:472)
      	at hudson.ExtensionList.load(ExtensionList.java:349)
      	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
      	at hudson.ExtensionList.getComponents(ExtensionList.java:167)
      	at jenkins.model.Jenkins$8.onInitMilestoneAttained(Jenkins.java:1082)
      	at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:82)
      	at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:104)
      	at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:176)
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.reflect.MalformedParameterizedTypeException
      	at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:58)
      	at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:51)
      	at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:92)
      	at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:105)
      	at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:140)
      	at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
      	at sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:90)
      	at java.lang.Class.getGenericSuperclass(Class.java:777)
      	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:470)
      	... 29 more
      
      * Remove actionType override to make for a simpler diff.
      
      * Strengthened test to cover accesses to unrelated context types.
      
      * Strengthening tests in a couple of ways.
      
      * Javadoc improvements suggested by @oleg-nenashev.
      6360b964
  12. 25 11月, 2016 2 次提交
  13. 20 11月, 2016 3 次提交
    • O
      [JENKINS-23271] - Prevent early deallocation of the Proc instance by GC in... · fd6c6aff
      Oleg Nenashev 提交于
      [JENKINS-23271] - Prevent early deallocation of the Proc instance by GC in ProcStarter#join() (#2635)
      
      * [JENKINS-23271] - Prevent the prelimimary deallocation of the Proc instance by GC
      
      It is a hackish way, which likely prevents a preliminary deallocation of the spawned RemoteProc instance, which we see in JENKINS-23271. Proc instance was not actually required in the original code since we were creating and using RemoteInvocationHandler wrapper only, and the theory discussed with @stephenc was that object gets removed by Java8 garbage collector before we get into join().
      
      This fix enforces the persistency of ProcStarter#start() result by adding logging and the enforced volatile field (maybe the last one is not really required, but JIT compiler in Java implementations may be smart enough to skip unused loggers)
      
      This is a pretty old fix from August, which has been soak tested on my instance for several weeks (mid-August => Jenkins World). On the reference instance (just a small Jenkins instance with 4 agents and very frequent builds with CommandInterpreter steps) I saw 2 failures over the period. On the fixed instance - 0. It does not proof anything, but at least the fix was soak tested a bit
      
      * [JENKINS-23271] - Get rid of the procHolderForJoin field
      
      * [JENKINS-23271] - Also put the check into the finally statement as @stephenc proposed
      
      * Remove assert
      fd6c6aff
    • D
    • T
      [FIX JENKINS-39034] /i18n/resourceBundle should be conform to the w3c standard... · 1256285f
      Thorsten Scherler 提交于
      [FIX JENKINS-39034] /i18n/resourceBundle should be conform to the w3c standard about locale negotiation (#2594)
      
      * [parseCountry] Extract region/country and variant from the language parameter in case it is bigger then 2 letters. Add tests for both cases.
      
      * [JENKINS-39034] remove debug system out
      
      * [JENKINS-39034] Only if we have 5 or more character we want to get the country - prevent NPE
      
      * [JENKINS-39034] use split since it is more general
      
      * [JENKINS-39034] Only override country and variant if not already set
      
      * [JENKINS-39034] better test cases to test whether the fallback and variant resolving work corret
      
      * [JENKINS-39034] remove duplicate tests and better name existing ones
      1256285f
  14. 19 11月, 2016 1 次提交
  15. 14 11月, 2016 2 次提交
  16. 12 11月, 2016 1 次提交
  17. 11 11月, 2016 2 次提交
  18. 09 11月, 2016 3 次提交
  19. 08 11月, 2016 2 次提交
    • O
      [JENKINS-39465] - Fix the AgentProtocol settings persistency handling (#2621) · 3e2e0171
      Oleg Nenashev 提交于
      * [JENKINS-39465] - Tweak processing of enabled and disabled protocols in Jenkins instance
      
      Due to whatever reason, without a definition of an array recipient field the data goes to the disk in the following way:
      
      ```
      <enabledAgentProtocol>JNLP3-connect</enabledAgentProtocol>
      <enabledAgentProtocol>JNLP4-connect</enabledAgentProtocol>
      ```
      
      It is supposed to processed by Implicit array correctly, but it does not actually happen.
      With a fix the data is being stored in another format:
      
      ```
        <enabledAgentProtocols>
          <string>JNLP3-connect</string>
          <string>JNLP4-connect</string>
        </enabledAgentProtocols>
      ```
      
      This data now works correctly and gets deserialized correctly. readResolve() just adds a fallback for the case when Implicit array handling starts behaving correctly (?).
      
      * [JENKINS-39465] - Add configuration roundtrip tests
      
      * [JENKINS-39465] - Jenkins#agentProtocols cache must be invalidated when we reload the configuration
      
      * [JENKINS-39465] - Remove obsolete comment from Tests
      3e2e0171
    • S
      [FIXED JENKINS-39555] Don't do the actions initialization by helper method (#2624) · a63b50f4
      Sam Van Oort 提交于
      * Coarse fix for JENKINS-39555 - don't do the actions initialization by helper method
      
      * Small cleanup of docs, import
      
      * Testcase
      
      * Review changes
      a63b50f4
  20. 06 11月, 2016 3 次提交
    • A
      [FIXED JENKINS-39535] - Optimize get log method (#2607) · 2e8c3bec
      Akbashev Alexander 提交于
      * Add some tests to  current behaviour of getLog method
      
      * getLog(maxLines) reads only last maxLines lines now
      
      It should speed up and reduce memory consumption for some plugins (i.e.
      Email-ext Plugin).
      Also now this method could be used to get last lines of build output in efficient manner.
      
      * Fix issues from code review
      2e8c3bec
    • J
      [FIXED JENKINS-39454] Do not consider pendings when deciding whether a... · a57b52ec
      Jesse Glick 提交于
      [FIXED JENKINS-39454] Do not consider pendings when deciding whether a schedule result should be new or existing, as we have already taken a snapshot of actions. (#2609)
      
      a57b52ec
    • O
      [FIXED JENKINS-38487] - Jenkins startup must not fail in the case of... · 58e1228c
      Oleg Nenashev 提交于
      [FIXED JENKINS-38487] - Jenkins startup must not fail in the case of ComputerListener failure (#2610)
      
      Without this code Jenkinbs startup fails if EnvInject fails to find global property file on startup.
      
      Javadoc says "Exceptions will be recorded to the listener. Note that throwing an exception doesn't put the computer offline." regarding the listener method exception, hence we should not block Jenkins startup
      58e1228c
  21. 04 11月, 2016 2 次提交