Hi Scott
 
That seems to have done the trick!
 
A bit more digging told me, that epoll(4) was introduced around 2.5.44, so that 
was spot on - thanks for the hint!
 
Apart from the increased usage of sockets (or so I understand it from 
http://www.caucho.com/resin/doc/server-tags.xtp#keepalive-select-enable) there 
shouldn't be any other sideeffects?
 
Oh well - seems like I should start working on upgrading my testserver.. :)
 
Regards,
Jens Dueholm Christensen
Rambøll survey IT

________________________________

From: [EMAIL PROTECTED] on behalf of Scott Ferguson
Sent: Tue 6/17/2008 19:07
To: General Discussion for the Resin application server
Subject: Re: [Resin-interest] Problem with Resin 3.1.6 Pro and keepalive




On Jun 17, 2008, at 9:47 AM, Jens Dueholm Christensen wrote:

>
> So far so good, however this also appears in resin-stderr.log at the 
> same time:
>
> [2008-06-17 16:28:01.507]Exception in thread "resin-select-manager" 
> java.io.IOException: failed to add EPOLL for pipe=47 (errno=-1)
> [2008-06-17 16:28:01.508]       at 
> com.caucho.server.port.JniSelectManager.initNative(Native Method)
> [2008-06-17 16:28:01.508]       at 
> com.caucho.server.port.JniSelectManager.run(JniSelectManager.java:274)
> [2008-06-17 16:28:01.508]       at java.lang.Thread.run(Thread.java:
> 619)

Can you try setting keepalive-select-enable="false" in the <server>:

<resin ...>
   ...
   <cluster id="">
     ...
     <server id="">
       <http port="80"/>
       <keepalive-select-enable>false</keepalive-select-enable>
       ...

I believe your older Linux version doesn't correctly support EPOLL, 
which the select manager uses to handle keepalives.

-- Scott

>
>
> Then upon accessing the site this appears in logs/resin-stdout.log:
>
> [2008-06-17 16:28:18.377][16:28:18.377] Tcp[results_test,0] failed 
> keepalive (select)
> [2008-06-17 16:28:32.685][16:28:32.684] Tcp[results_test,1] failed 
> keepalive (select)
> [2008-06-17 16:28:32.705][16:28:32.705] Tcp[results_test,2] failed 
> keepalive (select)
> [2008-06-17 16:28:32.725][16:28:32.725] Tcp[results_test,3] failed 
> keepalive (select)
> [2008-06-17 16:28:32.754][16:28:32.754] Tcp[results_test,4] failed 
> keepalive (select)
> [2008-06-17 16:28:32.785][16:28:32.784] Tcp[results_test,5] failed 
> keepalive (select)
> [2008-06-17 16:28:32.825][16:28:32.825] Tcp[results_test,6] failed 
> keepalive (select)
>
> .. and the site changes between a 503-error page (as if the site 
> isn't started) and a working site (using refresh in the browser a 
> few times), so it's obviously not working as it should.
>
> This is my resin.conf:
>
> <resin xmlns="http://caucho.com/ns/resin"; 
> xmlns:resin="http://caucho.com/ns/resin/core
> ">
>
>  <management>
>    <user name="xxx" password="xxxx"/>
>  </management>
>
>  <stdout-log path="/usr/local/www/results_test/logs/resin-
> stdout.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
>  <stderr-log path="/usr/local/www/results_test/logs/resin-
> stderr.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
>
>  <log name="" level="config" path="stdout:" timestamp="[%H:%M:%S.%s] 
> "/>
>
>  <logger name="com.caucho.java" level="config"/>
>  <logger name="com.caucho.loader" level="config"/>
>
>  <thread-pool>
>    <thread-max>150</thread-max>
>    <spare-thread-min>5</spare-thread-min>
>  </thread-pool>
>
>  <cluster id="web">
>    <server-default>
>      <jvm-arg>-Xmn32m</jvm-arg>
>      <jvm-arg>-Xms64m</jvm-arg>
>      <jvm-arg>-Xmx512m</jvm-arg>
>      <jvm-arg>-server</jvm-arg>
>      <jvm-arg>-XX:-OmitStackTraceInFastThrow</jvm-arg>
>    </server-default>
>
>    <server id="results_test" address="127.0.0.1" port="6875">
>      <watchdog-port>7875</watchdog-port>
>      <keepalive-max>100</keepalive-max>
>      <keepalive-timeout>30s</keepalive-timeout>
>      <bind-ports-after-start>true</bind-ports-after-start>
>    </server>
>
>    <ignore-client-disconnect>true</ignore-client-disconnect>
>
>    <host id="" root-directory="/usr/local/www/results_test">
>      <class-loader>
>         <compiling-loader path="site/WEB-INF/classes"/>
>         <library-loader path="site/WEB-INF/lib"/>
>      </class-loader>
>      <access-log path="/usr/local/www/results_test/logs/resin-
> access.log" format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-
> Agent}i"' rollover-period="1D"/>
>      <stdout-log path="/usr/local/www/results_test/logs/resin-web-
> stdout.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
>      <stderr-log path="/usr/local/www/results_test/logs/resin-web-
> stderr.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
>      <web-app id="/" document-directory="site">
>
>        <resin:import path="WEB-INF/web.xml"/>
>
>        <session-config>
>          <session-max>16384</session-max>
>          <enable-cookies>true</enable-cookies>
>          <enable-url-rewriting>true</enable-url-rewriting>
>        </session-config>
>
>        <servlet servlet-name="resin-file" servlet-
> class="com.caucho.servlets.FileServlet"/>
>
>        <servlet servlet-name="resin-jsp" servlet-
> class="com.caucho.jsp.JspServlet">
>          <init>
>            <load-tld-on-init>false</load-tld-on-init>
>            <page-cache-max>1024</page-cache-max>
>          </init>
>          <load-on-startup/>
>        </servlet>
>
>        <!-- invoker servlet for all standard WebPages and 
> WebCommands-->
>        <servlet-mapping url-pattern="/servlet/*" servlet-
> name="invoker"/>
>
>        <servlet-mapping url-pattern="*.jsp" servlet-name="resin-jsp"/>
>
> ... context params removed...
>
>       </web-app>
>    </host>
>  </cluster>
> </resin>
>
> I've looked at http://bugs.caucho.com/view.php?id=2555 
> <http://bugs.caucho.com/view.php?id=2555 
> >  (first and almost onle relevant hit when googling for "resin 
> failed keepalive" and variations) and tried to add the <keepalive-
> select-max>-tag, but to no avail (and I can't seem to find any 
> documentation on that tag?).
>
> I think it's somehow related to the Exception in resin-select-
> manager at startup, but I'm not sure, and googling that error turns 
> nothing up, so I'm lost on what to try..
>
> I build resin with the following line:
>
> $ export JAVA_HOME=/usr/java/jdk1.6.0_03
> $ ./configure --enable-jni --enable-ssl --with-apxs=/usr/sbin/apxs --
> prefix=/usr/local/resin/resin-pro-3.1.6
>
> and the output from the configure script does say:
>
> checking for JNI in /usr/java/jdk1.6.0_03/include/linux ... found
>
> Ideas are appriciated - the same resin.conf and configure-arguments 
> (apart from --enable-64bit) works fine on a new production-ready 
> server running RHEL5.2 (2.6.18-92) and JDK1.6.0_05.
>
> Regards,
> Jens Dueholm Christensen
> Rambøll Survey IT
>
>
> _______________________________________________
> resin-interest mailing list
> resin-interest@caucho.com
> http://maillist.caucho.com/mailman/listinfo/resin-interest



_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest


<<winmail.dat>>

_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to