After browsing the source code, I found below code changed by kohsuke in Queue.java[1],
+// private final FifoMap<Integer,LeftItem> leftItems = new FifoMap<Integer,LeftItem>(256);+ private final Cache<Integer,LeftItem> leftItems = CacheBuilder.newBuilder().expireAfterWrite(5*60, TimeUnit. SECONDS).build(); A fixed size map was replaced by a cache which drops the items that lives more than 3 minutes. Does it mean the third party who are using remote APIs to track the job information having to fetch the corresponding job information via queue item in 3 minutes? What will happen if the queue item is blocked than 3 minutes due to no available executor or quiet time exceeding 3 minutes? They will be removed as well? Thanks. [1] https://github.com/jenkinsci/jenkins/commit/84a259388c0a1a0d7e70b3d870c10f52e1205c8b#diff-7e8de48a31688987a2521079ff3828b9R177 Kane On Fri, Sep 11, 2015 at 2:11 PM, zhu kane <[email protected]> wrote: > I am using Jenkins LTS 1.609.2. My app heavily depends on Jenkins remote > APIs to run new job then fetch the job result later. > > I noticed the Jenkins server throws 404 not found error when fetching the > detail job information via queue item API. > > The Jenkins server was not restarted and always runs well. > > From the log of my app, I could see the 404 responses few times, it does > not always happens. However it occurred again in few queue number. > > I know there is a known bug JENKINS-27256 that had been fixed in 1.603. > Looks like they are different issues. Does Jenkins only store queue item > records in memory? I observed the queue number reseted after restarting > Jenkins server. And is Jenkins using weak or soft reference to keep the > queue item records? So they might lost if GC happens. > > *Failed to fetch job status from queue url > 'http://127.0.0.1:8888/queue/item/378/ > <http://127.0.0.1:8888/queue/item/378/>', received code '404' and message > '<html>* > > *63736 <head>* > > *63737 <meta http-equiv="Content-Type" content="text/html; > charset=ISO-8859-1"/>* > > *63738 <title>Error 404 Not Found</title>* > > *63739 </head>* > > *63740 <body><h2>HTTP ERROR 404</h2>* > > *63741 <p>Problem accessing /queue/item/378/api/json. Reason:* > > *63742 <pre> Not Found</pre></p><hr /><i><small>Powered by > Jetty://</small></i><br/>* > > *...* > > *<body><h2>HTTP ERROR 404</h2>* > > *63830 <p>Problem accessing /queue/item/382/api/json. Reason:* > *...* > > *64224 <body><h2>HTTP ERROR 404</h2>* > > *64225 <p>Problem accessing /queue/item/389/api/json. Reason:* > > Kane > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAM%2BCGXSy8OXUmXyP%2BoTY%2BBfDme5hA82dG%3DaZkudO9NsR57G0sg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
