2012-07-12 77 views
-1

我的程序是用python編寫的。我使用couchdb-python進行數據存儲。但是當程序存儲數據時,會給出錯誤。:Couchdb服務器錯誤(500 system_limit)

File "/home/koc/dnsReputation/dnsDatabase.py", line 45, in checkHashValue 
    if len(result) == 0: 
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py", line 987, in __len__ 
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py", line 1003, in rows 
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py", line 990, in _fetch 
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py", line 914, in _exec 
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py", line 399, in post_json 
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py", line 381, in post 
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py", line 419, in _request 
File "/usr/local/lib/python2.6/dist-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py", line 310, in request 
couchdb.http.ServerError: (500, ('error', 'system_limit')) 

我不明白爲什麼。任何答案appriciated。由於

編輯13.07:

在couch.log,這些行寫:

{error_report,<0.32.0>, 
        {<0.125.0>,crash_report, 
        [[{initial_call, 
          {mochiweb_socket_server,init,['Argument__1']}}, 
         {pid,<0.125.0>}, 
         {registered_name,[]}, 
         {error_info, 
          {exit,eaddrinuse, 
           [{gen_server,init_it,6}, 
           {proc_lib,init_p_do_apply,3}]}}, 
         {ancestors, 
          [couch_secondary_services,couch_server_sup, 
          <0.33.0>]}, 
         {messages,[]}, 
         {links,[<0.95.0>]}, 
         {dictionary,[]}, 
         {trap_exit,true}, 
         {status,running}, 
         {heap_size,987}, 
         {stack_size,24}, 
         {reductions,460}], 
         []]}} 
+0

這看起來很相關:http://osdir.com/ml/CouchDB-Python/2011-05/msg00030.html – Blender 2012-07-12 00:25:37

回答

1

檢查您的CouchDB日誌進一步的信息 - 聽起來像是你已經一內部二郎限制這種方法作爲記錄bug report

Erlang的默認限制爲1024個端口,其中每個FD,tcp 連接和鏈接的驅動程序使用一個端口。你似乎有 超過這個。您可以使用ERL_MAX_PORTS env變量在運行時更改它。之後其他日誌信息

更新:從日誌中的eaddrinuse使它看起來像你有一些端口衝突或缺少權限的視圖服務器已經配置的端口上運行。檢查您的couchdb端口配置,並檢查系統上是否有其他任何端口已經在這些端口上運行。

+0

我檢查了由couchdb使用的端口。只有一個。即使我再次運行該程序,它在第一次查詢完成後立即失敗。 – Shnkc 2012-07-12 00:45:25

+0

來自couchdb日誌的任何線索? – akent 2012-07-12 01:05:01

+0

最後一行是:「[Thu,12 Jul 2012 00:21:16 GMT] [info] [<0.8909.6>] 127.0.0.1 - 'POST'/ dnsrecords/_temp_view 500」.. 當臨時視圖完成時,一個錯誤。 – Shnkc 2012-07-12 18:15:55