Opened 8 years ago

Closed 8 years ago

#400 closed defect (fixed)

server handler queue full

Reported by: echelon Owned by: zzz
Priority: minor Milestone: 0.8.4
Component: apps/i2ptunnel Version: 0.8.3
Keywords: Cc:
Parent Tickets:

Description (last modified by welterde)

2/4/11 2:32:36 AM ERROR [] .i2ptunnel.I2PTunnelHTTPServer: ServerHandler queue full for /; increase i2ptunnel.blockingHandlerCount?
     at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(
     at java.util.concurrent.ThreadPoolExecutor.reject(
     at java.util.concurrent.ThreadPoolExecutor.execute(


Change History (4)

comment:1 Changed 8 years ago by zzz

  • Owner set to zzz
  • Status changed from new to assigned

This is caused by incoming connections backing up in i2ptunnel, probably because the server at port 1111 has run out of threads or is at its connection limit, or is otherwise very slow.

Is this a high-traffic server? is it Jetty? If it is Jetty, change the max threads in jetty.xml. Also see the note at http://zzz.i2p/topics/840 if you are running more than one Jetty server.

The limit on pending connections was added in 0.8.3 to prevent a DoS. I set the limit at what I thought was a really high number (65). But if the server stops handling connections I guess it backs up quickly. You can override it in the i2ptunnel custom options section i2ptunnel.blockingHandlerCount=xxx.

I'll try to improve the error message.

comment:2 Changed 8 years ago by echelon

That tunnel is false.i2p and it got hit within 5-10 req/sec area.
While that error appeared, squid got no request, roughly 20 min timeframe.
It was not the i2ptunnel limiter which will print another error message.


comment:3 Changed 8 years ago by welterde

  • Description modified (diff)

comment:4 Changed 8 years ago by zzz

  • Milestone changed from 0.8.12 to 0.8.4
  • Resolution set to fixed
  • Status changed from assigned to closed

The error message was improved in 0.8.4 and changed to a WARN. It's important not to have an infinite queue of incoming connections to prevent a DoS.

I don't know why squid stopped responding.

Note: See TracTickets for help on using tickets.