簡體   English   中英

rocksdb.errors.RocksIOError:IO錯誤:鎖定文件時:sample.db / LOCK:資源暫時不可用

[英]rocksdb.errors.RocksIOError: IO error: While lock file: sample.db/LOCK: Resource temporarily unavailable

如何刪除rocksDB上的LOCK

我嘗試運行以下代碼,但出現以下錯誤

 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
Traceback (most recent call last):
File "hello flask.py", line 18, in <module>
rdb = rocksdb.DB("sample.db", rocksdb.Options(create_if_missing=True))
File "rocksdb/_rocksdb.pyx", line 1437, in 
rocksdb._rocksdb.DB.__cinit__ (rocksdb/_rocksdb.cpp:23176)
File "rocksdb/_rocksdb.pyx", line 84, in rocksdb._rocksdb.check_status 
(rocksdb/_rocksdb.cpp:3453)
rocksdb.errors.RocksIOError: IO error: While lock file: sample.db/LOCK: 
Resource temporarily unavailable

代碼:

from flask import Flask
import rocksdb

app = Flask(__name__)

@app.route('/hello/<name>')
def hello_name(name):
    value = name.encode(encoding='UTF-8',errors='strict')
    rdb.put(b'name', value)
    return 'Hello %s!' % rdb.get(b'name')

@app.route('/')
def hello():
    return 'Welcome'

if __name__ == '__main__':
    rdb = rocksdb.DB("sample.db", rocksdb.Options(create_if_missing=True))
    app.run(debug = True)

我在運行write_stress測試(tools / write_stress_runner.py)時遇到了類似的問題。 我建議你

  1. 檢查RocksDB進程是否有太多打開的文件(從您的應用程序代碼來看,情況似乎並非如此)。
  2. 檢查您的應用程序的另一個實例是否正在運行。
  3. 刪除LOCK文件並運行您的應用程序(sample.db / LOCK)。

     os.system('rm sample.db/LOCK') rdb = rocksdb.DB("sample.db", rocksdb.Options(create_if_missing=True)) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM