-
Notifications
You must be signed in to change notification settings - Fork 871
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
Orientdb 3.0 - Problem with restarts when db is closed abruptly #7489
Comments
@luigidellaquila FYI |
It should be fixed once we merge micro transactions which should happen during this week |
@Laa |
I verified the same problem, was actually going to open an issue for this.
|
if it helps: run the following (kotlin) script and kill the process anytime import org.apache.tinkerpop.gremlin.orientdb.OrientGraphFactory fun main(args: Array) {
} |
restarting the terminal and running server.bat again helped us in windows. |
it should be already fixed in 3.0 version after we merged micro-txs and fixed restore procedure. |
"restarting the terminal and running server.bat again helped us in windows." this still holds good for me. but when I hit the issue crash with indexes, I still see the same problem |
@careerscale what version do you use? In the latest snapshot indexes are not rebuilt on startup. Do you use the version built from sources? |
it is the latest snapshot. |
I've used the 3.0.0m1 version. |
@careerscale could you provide an output of the log which you get after the crash and restore, do you use Lucene indexes? Could you also send us thread dump at the moment when index rebuild is frozen? Could you provide thread dump as separate gist? |
I am not using anything specific with Lucene. Here is the log. latest with July 4th build |
@Laa , threaddump here, I think it should be straight forward to reproduce, I just stop my application and start again. |
@Laa, do you need anything else here? |
Hi @careerscale , no. Right now the problem is clear. It is not related to storage restore process itself but is related to new database lifecycle in this thread
lock on OrientDBEmbedded instance is taken and in this thread
we wait for the same lock. But first thread waits for second thread. So we have got dealock. |
hi @careerscale, Just pushed a fix that should solve the problem. Regards |
@tglman, threaddump that I took sometime before. https://gist.github.com/careerscale/7f98b58d63ee5815594817db3c906e87 Looks like it didnt get the fix you made (my computer didnt pull the snapshots, may be it is because it has slightly older ones |
Guys, please do not put huge thread dumps inside of issue itself, because after that it is quite inconvenient to track history of such issues. We always can embed big amount of texts inside gist service. |
I think this was older snapshot. It seems good with snapshot no. 708. |
OrientDB Version: 3.0
Java Version: 1.8
OS: Win 7
Expected behavior
Database should stabilize and recover from any failures that might have caused because of abrupt close of db
Actual behavior
I think I have no idea why some times if db is closed (command window is closed) without control C, it doesn't work.
This never comes out of it. If it i doing some processing like fixing indexes, it must show status and let user be aware of it. going non responsive doesn't make sense at all.
Steps to reproduce
Try having active databases created and used and then try killing db few times while active transactions are going on and try restart. you may be able to reproduce.
The text was updated successfully, but these errors were encountered: