Fix logic error in snark warning
Change Java 9 log warning to Java 10
Fix fallback tunnel pool stat name
Don't include geoip in this release
Update Russian translations
Fix up LICENSES.txt
Build.xml cleanup
Debian:
- Add support for with-libtomcat8-java but not with-libjetty9-java for wheezy/jessie
- Fix wheezy/precise/trusty build files to use tomcat8 but not jetty9 packages
- Remove build dependency on ant-optional, not required
- Remove some remaining eclipse-ecj dependencies
- Add short README files for wheezy and jessie
- Remove with-libtomcat6-java and with-libtomcat7-java
- Replace with-libjetty8-java with-libjetty9-java
- Add libtomcat8-java dependency in debian builds
- Change libservlet-3.0-java implicit dependency to libservlet-3.1-java
- Initial mods for trusty build files, as it does not have jetty 9
- Initial xenial build files
- Add link to jetty9-apache-jsp.jar
- Add necessary util jars to jsp classpath
Non-Debian builds:
- Move tomcat runtime from javax.servlet.jar to jasper-runtime.jar,
to be consistent with Jetty 8
- Switch from jetty (glassfish) to apache (tomcat) jsp implementation,
to be consistent with Debian builds
- Drop checked-in Tomcat 6 and Jetty 8 jars
Code:
- Force Jasper initialization in RouterConsoleRunner since we
don't use the Jetty annotation scanner
- Add DTG to updater
- Fix and bundle DTG license info
- Remove jstl.jar and standard.jar from updater,
last changed in 0.9
- Fix bundling of Tomcat license info
Console:
- Change to new DTG constructor
- Don't attempt to start systray or DTG when running as a service
I2PTunnel: Fixup console links in error pages if console is
on a non-standard host or port, or on https
PortMapper: Add method to convert wildcard host to actual host
- Enable new NewsManager to load/store feed items on disk by UUID
- News items are stored forever, not lost when they are removed from feed
- News read in once at startup, not at every summary bar refresh
- Convert old initialNews.xml and news.xml to NewsEntry format
- Limit display to 2 news items in summary bar, /home and /console
- New /news page to show all news
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.htmlhttps://wiki.eclipse.org/Jetty/Howto/High_Load