zzz 44d6e117d5 Console and Eepsite Jetty:
Switch back to QueuedThreadPool (ticket #1395)
In Jetty 5/6, the default QTP was not concurrent, so we switched to
ThreadPoolExecutor with a fixed-size queue, a set maxThreads,
and a RejectedExecutionPolicy of CallerRuns.
Unfortunately, CallerRuns causes lockups in Jetty NIO.
In addition, no flavor of TPE gives us what QTP does:
- TPE direct handoff (which we were using) never queues.
  This doesn't provide any burst management when maxThreads is reached.
  CallerRuns was an attempt to work around that.
- TPE unbounded queue does not adjust the number of threads.
  This doesn't provide automatic resource management.
- TPE bounded queue does not add threads until the queue is full.
  This doesn't provide good responsiveness to even small bursts.
QTP adds threads as soon as the queue is non-empty.
QTP as of Jetty 7 uses concurrent.
QTP unbounded queue is the default in Jetty.
So switch back to QTP with a bounded queue, which does what we want,
which is first expand the thread pool, then start queueing, then reject.

ref:
http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.html
https://wiki.eclipse.org/Jetty/Howto/High_Load
2014-10-20 14:01:36 +00:00
2014-08-10 19:32:11 +00:00
2014-10-20 14:01:36 +00:00
2014-09-17 22:16:22 +00:00
2014-10-20 14:01:36 +00:00
2013-05-24 13:46:17 +00:00
2014-10-20 14:01:36 +00:00
2014-04-01 21:22:41 +00:00
2014-04-01 21:22:41 +00:00
2014-10-20 14:01:36 +00:00
2014-10-13 16:46:43 +00:00
2009-09-16 14:51:39 +00:00
2014-02-10 14:22:43 +00:00

Prerequisites to build from source:
	Java SDK (preferably Oracle/Sun or OpenJDK) 1.6.0 or higher
          Non-linux operating systems and JVMs: See https://trac.i2p2.de/wiki/java
	Apache Ant 1.7.0 or higher
	The xgettext, msgfmt, and msgmerge tools installed
	  from the GNU gettext package http://www.gnu.org/software/gettext/

To build:
	On x86 systems do:
		ant pkg

	On non-x86, use one of the following instead:
		ant installer-linux
		ant installer-freebsd
		ant installer-osx

	Run 'ant' with no arguments to see other build options.
	See INSTALL.txt or https://geti2p.net/download for installation instructions.

Documentation:
	https://geti2p.net/how
	API: run 'ant javadoc' then start at build/javadoc/index.html

Latest release:
	https://geti2p.net/download

To get development branch from source control:
	https://geti2p.net/newdevelopers

FAQ:
	https://geti2p.net/faq

Need help?
	IRC irc.freenode.net #i2p
	http://forum.i2p/

Licenses:
	See LICENSE.txt

Description
The I2P anonymous network, Java Implementation
Readme 388 MiB
Languages
Java 85.2%
CSS 5%
HTML 3.1%
Shell 1.3%
C++ 1%
Other 4.2%