Commit Graph
8332 Commits
Author SHA1 Message Date
Olivier Lamy 7c51287f83 Merge pull request #484 from cquinn/master
Fixed grammatical error in build page message.
Thnaks!
2012-05-24 01:08:14 -07:00
Kohsuke Kawaguchi 18963ee9af [FIXED JENKINS-13625]
In the end, proper fix requires having a filter that tracks
GZipOutputStream.
2012-05-23 20:11:58 -07:00
Kohsuke Kawaguchi ecec5902ff leaving the record of attempted gzip encoding problem fix. 2012-05-23 20:08:57 -07:00
Carl Quinn cd34e38468 Fixed grammatical error in build page message. 2012-05-23 17:50:33 -07:00
Kohsuke Kawaguchi be1f8f91a3 Fixed a bug in Jenkins.overallNodeProvisioner
Until now, Jenkins.overallNodeProvisioner was tracking an inconsistent
pair of numbers. On one hand, it was tracking all the executors in the
system, but then it was also only tracking the # of free-roaming
label-unassigned jobs as the queue length.

So if all your slaves are set with Node.Mode.EXCLUSIVE and you have some
free-roaming jobs, then it'll never tickle NodePrivisioner.

In other words, the # of executors weren't reflecting the actual # of
executors that can execute what's counted as the queue length.

See the problem report at
https://groups.google.com/forum/?fromgroups#!topic/jenkinsci-dev/bUwGEgOwv4Q

To fix this, I introduced another LoadStatistics that only counts
the # of executors that can execute free-roaming jobs, and # of
free-roaming jobs as the queue length. In this way, two pairs of numbers
are consistent.

This now allows us to use overallLoadStatistics for really the entire
system, including all executors and the total queue length. This is
primarily for administrators to see the resource utilization, and it is
not useful for NodeProvisioner input because it's mixing too many
different things.

The semantics change in OverallLoadStatistics.queueLength allows us to
deprecate its totalQueueLength field.
2012-05-23 17:34:47 -07:00
Kohsuke Kawaguchi 5bba8c7660 use of "Content-Encoding:gzip" was causing the automatic login initiation to fail. 2012-05-23 17:28:25 -07:00
Kohsuke Kawaguchi 95c1728c05 [FIXED JENKINS-13202] fixed a regression in untar on exotic platforms.
Fall back in non-JNA case wasn't working.
2012-05-22 18:43:45 -07:00
Dave Hunt 70ee74c5fc [FIXED JENKINS-13640] Allow file parameters to be viewed as plain text. 2012-05-22 18:30:30 -07:00
Kohsuke Kawaguchi af0af44906 Massaging the previous commit a bit.
404 for nearby configuration builds can make the life of automated
client script more complicated, so opt for redirection.
2012-05-22 18:12:19 -07:00
lvotypko add119d353 Correction of returned url 2012-05-22 17:46:29 -07:00
Vincent Latombe d1b2ba7e49 [FIXED JENKINS-13429]
Backward compatibility is preventing the View.READ permission to apply
correctly. It actually overrides the View.READ instead of complementing
it.

This change only applies default READ right if the View.READ is not
available, and the user has View.CONFIGURE + the view is not empty.
2012-05-22 17:45:01 -07:00
Fred G 2128c9d7fe Fixed broken JSON representation caused by hyperlink in console output 2012-05-22 17:39:04 -07:00
Kohsuke Kawaguchi 3b55feede9 fixed NPE.
See https://github.com/jenkinsci/jenkins/pull/474 for the original conversation
2012-05-22 17:15:19 -07:00
Eric Dalquist f5f77bf2b5 [FIXED JENKINS-13826] Include file system path in error
Include the file system path that was checked in the low disk space
error message
2012-05-22 16:58:22 -07:00
Kohsuke Kawaguchi 09ffd9916b touch up. jobNames is a collection that does require a synchronization.
But the general direction of reducing the size of the lock is correct.
2012-05-22 16:50:41 -07:00
Brian Moyles ed0a615743 getViews here could also probably drop synchronized 2012-05-22 16:41:27 -07:00
Brian Moyles d2699b4859 synchronizing here can cause deadlock conditions from plugins like the
keyboard shortcuts plugin that ask for all views very frequently and do
additional locking on the actual view objects
2012-05-22 16:41:27 -07:00
Kohsuke Kawaguchi 8f6fda0052 added a subtype of HyperlinkNote that creates model link 2012-05-22 16:24:03 -07:00
Kohsuke Kawaguchi 33a4c2f08c redone the custom workspace support in matrix project.
The previous implementation was always appending the per-configuration unique suffix, making it impossible for different configuration builds to share workspaces. In this fix, we introduce a secondary field to control the workspace of sub-builds (which can be either absolute or relative to the matrix head workspace.)
2012-05-22 16:23:55 -07:00
Kohsuke Kawaguchi 06ec0c3dd8 doc improvement 2012-05-22 16:23:22 -07:00
Kohsuke Kawaguchi 93b88af550 doc change 2012-05-22 16:23:22 -07:00
Manolo Carrasco 1f5bc9bdd6 Update Spanish translation 2012-05-22 12:32:33 +02:00
Kohsuke Kawaguchi fe67909c6f If the JDK file size is too small, don't use it as a cache.
In the past JDK download site had served error message with 200 error code, making Jenkins think that the download is actually successful. Without this check, such cache polution will not be corrected.
2012-05-21 18:43:17 -07:00
Kohsuke Kawaguchi c5cefcb165 documenting what this method does 2012-05-21 17:24:00 -07:00
Kohsuke Kawaguchi c86aa67953 Enabled concurrent build support for matrix projects 2012-05-21 17:03:35 -07:00
Kohsuke Kawaguchi 039b359a26 added a note 2012-05-21 17:03:08 -07:00
Kohsuke Kawaguchi 76832379d8 exposed data about installed plugins, installable plugins, update center jobs, etc., to the REST API 2012-05-21 16:59:24 -07:00
Stephen Connolly 5dd512973d With a textarea the likelyhood of the value exceeding the maximum safe length for a GET request (which IE8/9 pegs to somewhere between 2k and 5k depending on the context) is too great as to not provide for the checkMethod to be specified in order to allow for POST requests to be used in place of GET requests for form validation 2012-05-21 15:55:13 +02:00
Nicolas De Loof 609392414f [FIX JENKINS-13824] prevent NullPointerException 2012-05-18 14:55:25 +02:00
Cliffano Subagio 76edfd3a56 Fix typo: 'choosen' should be 'chosen'. 2012-05-18 11:52:26 +10:00
Kohsuke Kawaguchi 124706a78c Eliminated the lock for better scalability. 2012-05-15 23:01:17 -07:00
bap2000 9d8f300179 Enable ant default excludes to be turned off.
Add a new overload method to list files that include the files that ant excludes by default.
2012-05-14 16:01:42 -07:00
Kohsuke Kawaguchi 6fd4514663 making it defensive as I'm seeing the following stack trace while using this script:
java.lang.NullPointerException
 	at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.checkCall(PojoMetaClassSite.java:54)
 	at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:42)
 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
 	at dsld.IntelliJ$_run_closure1.doCall(IntelliJ.gdsl:15)
 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 	at java.lang.reflect.Method.invoke(Method.java:597)
 	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
 	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
 	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
 	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
 	at dsld.IntelliJ$_run_closure1.doCall(IntelliJ.gdsl)
 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 	at java.lang.reflect.Method.invoke(Method.java:597)
 	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
 	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
 	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
 	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
 	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
 	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
 	at org.jetbrains.plugins.groovy.dsl.GroovyDslExecutor$_processVariants_closure16.doCall(GroovyDslExecutor.groovy:168)
 	at sun.reflect.GeneratedMethodAccessor290.invoke(Unknown Source)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 	at java.lang.reflect.Method.invoke(Method.java:597)
 	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
 	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
 	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
 	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
 	at org.jetbrains.plugins.groovy.dsl.GroovyDslExecutor$_processVariants_closure16.doCall(GroovyDslExecutor.groovy)
 	at sun.reflect.GeneratedMethodAccessor289.invoke(Unknown Source)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 	at java.lang.reflect.Method.invoke(Method.java:597)
 	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
 	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
 	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
 	at groovy.lang.Closure.call(Closure.java:412)
 	at groovy.lang.Closure.call(Closure.java:406)
 	at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:118)
 	at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:257)
 	at org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:440)
 	at org.codehaus.groovy.runtime.dgm$883.invoke(Unknown Source)
 	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:308)
 	at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:52)
 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145)
 	at org.jetbrains.plugins.groovy.dsl.GroovyDslExecutor.processVariants(GroovyDslExecutor.groovy:167)
 	at org.jetbrains.plugins.groovy.dsl.GroovyDslScript.addGdslMembers(GroovyDslScript.java:90)
 	at org.jetbrains.plugins.groovy.dsl.GroovyDslScript.processExecutor(GroovyDslScript.java:69)
 	at org.jetbrains.plugins.groovy.dsl.GroovyDslFileIndex.processExecutors(GroovyDslFileIndex.java:248)
 	at org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersContributor.runContributors(NonCodeMembersContributor.java:108)
 	at org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil.processNonCodeMembers(ResolveUtil.java:197)
 	at org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil.processNonCodeMembers(ResolveUtil.java:187)
 	at org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil.treeWalkUp(ResolveUtil.java:114)
 	at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrReferenceResolveUtil.resolveImpl(GrReferenceResolveUtil.java:44)
 	at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrReferenceExpressionImpl.resolveMethodOrProperty(GrReferenceExpressionImpl.java:240)
 	at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrReferenceExpressionImpl.doPolyResolve(GrReferenceExpressionImpl.java:654)
 	at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrReferenceExpressionImpl.access$100(GrReferenceExpressionImpl.java:73)
 	at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrReferenceExpressionImpl$3.resolve(GrReferenceExpressionImpl.java:459)
 	at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrReferenceExpressionImpl$3.resolve(GrReferenceExpressionImpl.java:457)
 	at com.intellij.psi.impl.source.resolve.ResolveCache$2.compute(ResolveCache.java:129)
 	at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:106)
 	at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:134)
 	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:145)
 	at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrReferenceExpressionImpl.advancedResolve(GrReferenceExpressionImpl.java:763)
 	at org.jetbrains.plugins.groovy.annotator.GroovyAnnotator.visitReferenceExpression(GroovyAnnotator.java:187)
 	at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrReferenceExpressionImpl.accept(GrReferenceExpressionImpl.java:346)
 	at org.jetbrains.plugins.groovy.annotator.GroovyAnnotator.annotate(GroovyAnnotator.java:128)
 	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.a(DefaultHighlightVisitor.java:157)
 	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:100)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$8.run(GeneralHighlightingPass.java:595)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:773)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$3600(GeneralHighlightingPass.java:80)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$10.run(GeneralHighlightingPass.java:779)
 	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:84)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:776)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$3600(GeneralHighlightingPass.java:80)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$10.run(GeneralHighlightingPass.java:779)
 	at com.intellij.codeInsight.daemon.impl.RefCountHolder.analyze(RefCountHolder.java:250)
 	at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.analyze(HighlightVisitorImpl.java:135)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:776)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:641)
 	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:203)
 	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:58)
 	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:61)
 	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:350)
 	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1049)
 	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:342)
 	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:218)
 	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:340)
 	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:316)
 	at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:134)
 	at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:131)
 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 	at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
 	at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
 	at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113)
 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 	at java.lang.Thread.run(Thread.java:662)
2012-05-14 13:03:49 -07:00
Kohsuke Kawaguchi 18eb975b9f pointless type parameters help work around bugs in javac in earlier 2012-05-08 23:50:22 -07:00
David Reiss e15b2e19e3 [FIXED JENKINS-13202] Don't set mtime or mode on symlinks
Previously, the untar code tries to set the last modified time and mode
on every untarred file.  However, if the tar contains a broken symlink,
or a symlink that points to a file that has not been untarred yet, the
time/mode setting would fail on the broken symlink.

Symlinks don't have meaningful modified times or modes of their own, so
only set these values on non-symlinks.

Rename the file "a" in the test to expose the bug.
2012-05-08 14:52:52 -07:00
Ryan Campbell ad2912a317 Expose /whoAmI/api/*
- Create WhoAmI UnprotectedRootAction
2012-05-07 18:54:28 -05:00
Olivier Lamy a4ddfa7eaa Merge pull request #468 from Vlatombe/namespace-tools-installations-by-tool-name
Namespace tools installation by tool name.
Thanks!
2012-05-07 13:33:18 -07:00
Vincent Latombe fc962ca9cb Namespace tools installation by tool name.
This prevents naming conflicts if someone names 2 tools installations
of different tools with the same name.
2012-05-06 17:27:43 +02:00
Seiji Sogabe 3b01b2978e missing search gif on plugin manager. 2012-05-06 18:20:53 +09:00
Kohsuke Kawaguchi 7a0bd976f1 fixed JDK auto installer 2012-05-04 13:02:33 -07:00
Kohsuke Kawaguchi 113c3a562c Improved error diagnostics for those who miss whitespace. 2012-05-04 13:02:16 -07:00
Kohsuke Kawaguchi ecf7a119bd added a convenience method 2012-05-04 13:02:16 -07:00
Kohsuke Kawaguchi 7a4858d65f [FIXED JENKINS-12585] restrict where sessions are created.
If a resource with 'Set-Cookie' header is cached (either by intermediary
like HTTP proxy and reverse proxy, or by the browser), it'll cause
identity swap / session mix-up as discussed in this ticket.

I suspect this was caused by HttpSessionContextIntegrationFilter2, which
is the only code path that attempts to create a session when a request
to a static resource is made.

So I'm disabling the creation of session in
HttpSessionContextIntegrationFilter2. This in turn requires that we
have sessions already created when the authentication was successful and
people need to login (or else the login will have no effect.)

We already do so in layout.jelly, so any request that renders a Jenkins
page would have a session, but I've also added it in
AuthenticationProcessingFilter2, which ensures that a successful login
does have a session.
2012-05-03 17:56:13 -07:00
Seiji Sogabe 2c065f5081 updated Japanese localization. 2012-05-03 16:21:28 +09:00
Jerome Lacoste 4aab81f823 Clean up FilePath. Extract one method out, and ensure closing of input stream after copy 2012-05-01 11:42:24 +02:00
Stephen Connolly 71debc2b89 [JENKINS-13649] Adding a test case 2012-05-01 09:39:05 +01:00
Stephen Connolly c92c2217ec [FIXES JENKINS-13649] As FilePath(FilePath,String) expects multi-segment relative paths, we should ensure that the multiple segments are using the correct separator character for the remote OS 2012-05-01 09:21:39 +01:00
Kohsuke Kawaguchi 7057bd7781 This change affects the code, so in case some plugins use this tag,
we shouldn't change the definition of it.

Instead, I'm creating a new tag.
2012-04-30 12:30:45 -07:00
Kohsuke Kawaguchi fae5696c7c Copying them. 2012-04-30 12:24:13 -07:00
Kohsuke Kawaguchi 7788632a0f Fixed test failures and regressions. 2012-04-30 12:20:22 -07:00