durusmail: durus-users: Durus : 'Too many open files'
Durus : 'Too many open files'
2006-11-06
2006-11-06
2006-11-06
Durus : 'Too many open files'
Aïssa HAMMOUCHI
2006-11-06
my environment is NetBSD with mod_scgi/apache/quixote .

i use ClientStorage to connect to a Durus DB, when 58
connections (clientstorage) are initiated  simultaneously, Durus hangs at
the 58 st connections.
its doesnt seem to be a ulimit pb because scgi server works perfectly, even
with 500 connections for instance.
can anyone point me ?

===========================
(lifeted  durus logs)

Storage file=/root/fidji_prod1 address=127.0.0.1:15000
Ready on 127.0.0.1:15000 with 10900 objects
nouvelle connexion 
Client Protocol: 1
nouvelle connexion 
Client Protocol: 1
Sync 0
nouvelle connexion 
Client Protocol: 1
.....
.....
.....
nouvelle connexion 
Client Protocol: 1
nouvelle connexion 
Client Protocol: 1
nouvelle connexion 
Client Protocol: 1
nouvelle connexion 
Client Protocol: 1
nouvelle connexion 
Client Protocol: 1
Traceback (most recent call last):
  File "run_durus.py", line 104, in ?
    run_durus_main()
  File "run_durus.py", line 98, in run_durus_main
    address)
  File "run_durus.py", line 28, in start_durus
    StorageServer(storage, address=socket_address).serve()
  File "/root/src/alternate-modules/durus/storage_server.py", line 223, in
serve
    conn, addr = s.accept()
  File "/usr/pkg/lib/python2.4/socket.py", line 169, in accept
    sock, addr = self._sock.accept()
socket.error: (24, 'Too many open files')

========================
quixote logs


REQUEST_METHOD  GET
REQUEST_URI     /search/
SCGI            1
SCRIPT_NAME
SERVER_ADDR     10.142.7.116
SERVER_ADMIN    you@example.com
SERVER_NAME     10.142.7.116
SERVER_PORT     80
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.7d DAV/2
mod_scgi/1.12
UNIQUE_ID       bFOjOQqOB3QAABiwQzAAAAAA
UNIQUE_ID       bEm6jgqOB3QAABlthfEAAAAd
[2006-11-06 13:42:54] exception caught
Traceback (most recent call last):
  File "/root/src/alternate-modules/quixote/publish.py", line 275, in
process_request
    output = self.try_publish(request)
  File "/root/src/alternate-modules/quixote/publish.py", line 246, in
try_publish
    self.start_request()
  File "/root/src/alternate-modules/quixote/publish.py", line 118, in
start_request
    self.session_manager.start_request()
  File "/root/src/alternate-modules/quixote/session.py", line 377, in
start_request
    session = self.get_session()
  File "/root/src/alternate-modules/quixote/session.py", line 264, in
get_session
    session = self.get(id) or self._create_session()
  File "/root/src/alternate-modules/quixote/session.py", line 247, in
_create_session
    return self.new_session(None)
  File "/root/src/alternate-modules/quixote/session.py", line 220, in
new_session
    return self.session_class(id)
  File "./start_scgi.py", line 30, in __init__
    self.cnx = connect()
  File "/root/pymods/fidji/db/database.py", line 144, in connect
    c = Connection(ClientStorage(host='127.0.0.1',port=conf.DURUS_PORT))
  File "/root/src/alternate-modules/durus/client_storage.py", line 20, in
__init__
    assert self.s, "Could not connect to %s" % self.address
AssertionError: Could not connect to 127.0.0.1:15000

--

A.H
reply