-
Notifications
You must be signed in to change notification settings - Fork 23
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
rocksdb backend not working #22
Comments
I don't have a lot of ideas, but that is very strange. Can you build bleve_dump with RocksDB support and run it on the index? |
I was able to build and run If I check |
I created an empty boltdb and rocksdb store and ran Then I used
The rocksdb dump appears to have binary garbage strewn through it and doesn't look like the boltdb dump.
The rocksdb dump is also missing |
Tried facebook/rocksdb@master (librocksdb.4.8.0.dylib) with the same result. @steveyen What version of rocksdb are you using? |
Same behavior with rocksdb v4.1 and v3.13. I even tried go 1.5.1. I also spun a brand new ubuntu xenial VM with golang-1.6-go and librocksdb4.1 and tried it there. Same behavior. |
So, obviously I haven't used rocksdb in a while on my local machine. What I have still works is bleve_create, bleve_index, and bleve_query, all built against rocksdb-3.11.2. And, your example operations work fine here:
Obviously at the time I last built these I had a bunch of debug statements in the library somewhere. But, it seems it did work at some point. I think some testing was done with 4.1. Let me try with that and current bleve and see what happens. Also, can you post the SHA for your github.com/tecbot/gorocksdb repo? |
I can try with 3.11.2. Are you sure |
Ah, you can create a rocksdb store with Here's what the
The Dictionary Term and Document both look corrupted. |
Was unable to build latest blevex against 3.11.2:
Looks like the batchex code is new since then, so I suspect that's where the bug is. The corrupted data in the index looks a lot like a buffer over-read, and there's a lot of pointer manipulation happening in the BatchEx implementation that might be related. |
Yeah you're right the first round wasn't actually using RocksDb. Here it is done correctly, still seems to work:
|
I reverted back to 998e4a0 (before BatchEx was added) and things are working now! |
Regarding batchex, its possible. We actually had problems with similar approach in another kv store and disabled it. You should be able to borrow these same lines to disable the whole batchex codepath: https://github.com/blevesearch/blevex/blob/master/forestdb/writer.go#L33-L40 |
OK, glad to hear you got something working. I'll talk to @steveyen tomorrow and we can decide what to do, probably at a minimum we will apply the workaround I described above to disable it. And maybe we'll rip it out completely. |
I have written some very straightforward bleve code to index and search data. It works great with the default boltdb backend.
Today I tried to switch to the rocksdb backend, but it's not working. I am unable to retrieve any data out of the database. All search requests return 0 results, and DocCount() returns 0 as well.
I have confirmed rocksdb is being used correctly. I also see the database size growing on disk after I index documents:
I installed rocksdb using
brew
:and am using
blevex/rocksdb
as follows:The text was updated successfully, but these errors were encountered: