Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/ssh-slaves-plugin
  Commit: dcec7ab47a71340a5e92e3d2ad9a839b136957dc
      
https://github.com/jenkinsci/ssh-slaves-plugin/commit/dcec7ab47a71340a5e92e3d2ad9a839b136957dc
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2013-06-21 (Fri, 21 Jun 2013)

  Changed paths:
    M src/main/java/hudson/plugins/sshslaves/SSHLauncher.java

  Log Message:
  -----------
  Eliminated pointless use of threads

StreamGobbler is an active buffering InputStream implementation. "active" 
because it has a thread that pumps the input stream, and "buffering", because 
it maintains an unbounded byte[] buffer that spools the data until it gets 
consumed.

This is both wasteful and harmful. Wasteful, because it uses two threads here 
(and one StreamGobbler is connected to a StreamCopyThread, making this a 
double-buffering. On systems that have a large # of slaves, this reduction in 
the total # of slaves is considerable.

This is harmful, because it eliminates the point of SSH window size control. If 
the master is under load, this will prevent the master from naturally throttle 
data that slaves are sending to it.



-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to