-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SQLite in StorageServer deadlocked after the node was disconnected and resumed. #11578
Comments
my cpu: HUAWEI Kunpeng 920 5220 |
SQLite is famous for its concurrency problems, is that a problem if we remove a support on this? |
Sorry, I didn't understand what you were trying to express. Are you trying to express that this issue was introduced by SQLite? |
Yes, we tried at work to use it for a PersistentQueue and we had a lot of headache and move to rocksdb. |
My 3-node 3-duplicates fdb cluster.
version:7.1.27
The operation steps are: Node A is disconnected from the network for 10 minutes and restored. During the data moving, Node B is disconnected from the network for ten minutes and then restored. The storageServer of Node B has an infinite loop. The result of pstack is as follows:
The backtrace result in the printed Net2RunLoopTrace is as follows:
I gdb went in and found that I couldn't get a lock from SQLite。I gdb went in and found that I couldn't get a lock from SQLite. Then it tried again indefinitely.
the code is https://github.com/apple/foundationdb/blob/main/contrib/sqlite/sqlite3.amalgamation.c#L37717
the rc is SQLITE_BUSY
the lockIdx is 4 and the n is 4
The text was updated successfully, but these errors were encountered: