-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
MVSTORE -> Corrupted database #373
Comments
+1 we have the same thing using only mvstore, not in h2 bundle
|
Hi, I would be very interested in the database files, and the circumstances One case I know it could happen is that if the file system re-orders Regards, On Fri, Oct 7, 2016 at 3:20 PM, Sergey Tolmachev notifications@github.com
|
@thomasmueller Hi, thanks for quick answer! I can reproduce it sometimes on ubuntu 14.04 with ext4 (flags |
@thomasmueller Here it is. Our source code repos are one and two
|
Dear @thomasmueller Thanks a lot for the answer. Please find the database here https://drive.google.com/file/d/0B0JU3-h-7ZSzU3JiX2I1XzdKQVk/view?usp=sharing |
@thomasmueller |
The last version 1.4.193 fixes this issue for my tests. |
@Tolsi Could you please confirm if it works or not ? |
I guess it still has the issue in the latest build. This is what I am getting as stacktrace.
|
@ebocher I'm not sure, but we did not catch it anymore |
It still exists |
I found the same issue in the latest version: public class MVStore {
private Chunk getChunkIfFound(long pos) {
int chunkId = DataUtils.getPageChunkId(pos);
Chunk c = chunks.get(chunkId);
if (c == null) {
checkOpen();
if (!Thread.holdsLock(this)) {
// it could also be unsynchronized metadata
// access (if synchronization on this was forgotten)
throw DataUtils.newIllegalStateException(
DataUtils.ERROR_CHUNK_NOT_FOUND,
"Chunk {0} no longer exists",
chunkId); // THIS EXCEPTION IS THROWN
}
... The problem is that simple test works fine for me. I can't easily extract my issue to separate unit test... |
Any update on this issue? I am still facing it in version 1.4.196 here. Can anyone please explain what is the rationale behind this line if (!Thread.holdsLock(this)) {
// it could also be unsynchronized metadata
// access (if synchronization on this was forgotten)
throw DataUtils.newIllegalStateException(
DataUtils.ERROR_CHUNK_NOT_FOUND,
"Chunk {0} no longer exists",
chunkId); // THIS EXCEPTION IS THROWN
} In what kind of scenario this could happen? I have a reproducible code for this error - http://pastebin.com/kk9P06sG |
For now, I have bypassed this issue by stopping auto compacting. builder.autoCompactFillRate(0); If I enable auto compacting, the issue reappears. |
I was having a similar issue of receiving a |
Issue still exists for me in |
Do you use 1.4.197 or own build from the current sources? |
It's with the official |
The issue disappeared for me when I changed to using only one MVMap. Maybe this information is useful for other users and/or track down the underlying issue. |
MVStore was changed since 1.4.197, could you build it from the latest sources and retest it? |
Please use h2-1.4.199, and see #1502. |
please re-open if this is still an issue with the latest version |
We are faced with a serious bug with mv_store. We have a complex sql chain that integrates spatial processing. Since the Version 1.4.192 , we are not able to execute the chain, due to the following error :
If MV_STORE = FALSE the chain works. However because of several new features on mv_store we want to use it.
I can share the database if needed.
Thanks a lot.
The text was updated successfully, but these errors were encountered: