More scalable agents
Nio
NIO-based Java Web Start (JNLP) agent handling is coming to 1.560. This will help you run a large number of JNLP agents more efficiently. A connected JNLP agent used to occupy one thread on the controller, but now it occupies none. Combined with the earlier change that eliminated threads from idle executors, now you can connect thousands of agents.
All you have to do is to use the latest agent.jar
from Jenkins 1.560. No other changes are necessary on users' part.
A bulk of this is implemented in remoting 2.38, and a good part of it was implemented about a year ago on the airplane on the way to Europe.
We plan to make CLI connections take advantages of this too, which helps those who use that a lot. That’s not in 1.560, but hopefully it’ll be in the near future. This change also paves a way for multi-participant bus-topology communication, which I think would be an useful building block for the work-in-progress controller-to-controller API.