On 4/24/2013 12:49 AM, Arkadi Colson wrote: > We are using tomcat so we'll just wait. Hopefully it's fixed in 4.3 but > we have a work around for now so... > > What exactly is the difference between jetty and tomcat. We are using > tomcat because we've read somewhere that it should be more robust in > heavily loaded production environments.
Both are servlet containers - a Java executable server program that can run other programs written using the Java Servlet API. The servlet API was invented by Sun, who also invented Java itself. For comparison purposes, first think about Apache's HTTPD, which is a web server designed to serve files. Through its rich modular capability, it does have the ability to run web applications, but the core HTTPD is designed to grab a file off the hard drive and send it to a user. A servlet container is different. You can think of a servlet container as a smart web server designed from the ground up to run web applications. http://en.wikipedia.org/wiki/Java_Servlet Solr is a servlet. By itself, Solr can't run. It requires a servlet container. Here is what wikipedia has to say about the histories of the two projects: http://en.wikipedia.org/wiki/Apache_Tomcat#History http://en.wikipedia.org/wiki/Jetty_%28Web_server%29#History If you google "difference between jetty and tomcat" you'll find a lot of links. The one written by Jetty folks is particularly detailed, but has an obvious bias. With emphasis on tuning, you can probably get good performance out of either container. Jetty is smaller with a default configuration, but as others have pointed out, most of the resource utilization will be done by Solr, not the container. There is one major reason that I chose to use Jetty. It was already there in the Solr download. The reasons that I have stuck with it even after having time to research: It works well, and it is extensively tested every time anyone runs the tests that come with the Solr build system. Thanks, Shawn