Skip to content
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

CreateColumnFamily API causes RocksDbSharp.RocksDbException: IO error #82

Open
VidyaKukke opened this issue Nov 20, 2020 · 2 comments
Open

Comments

@VidyaKukke
Copy link

Hi,

We are seeing an IO error when creating columnFamily. This happens only on Windows OS. We are observing this while running our tests. The tests are being run serially though and the dbName are unique. We use a guid to avoid any conflict.

Any pointers as to what might cause this? Under what conditions is the .dbtmp file created and trying to understand if there's any way to avoid the rename issue entirely.

Nuget Version
5.4.6.10
6.2.2 (switched to this as well but same result)

Code Snippet:
var db = RocksDb.Open(DefaultOptions.Db, dbPath, columnFamilies);
db.CreateColumnFamily(columnFamilyOptions ?? DefaultOptions.ColumnFamily, name);

Error
2020-11-20 17:48:27.637+00:00:[INF] - [RocksDbFactory:GetOrCreateRocksDbInstance@41] Opened rocksDB database at path ' with columnFamilies 'default'.

Failed: RocksDbSharp.RocksDbException: IO error: Failed to rename: /000006.dbtmp to: /CURRENT: Access is denied.

at RocksDbSharp.Native.rocksdb_create_column_family(IntPtr db, IntPtr column_family_options, String column_family_name)
at RocksDbSharp.RocksDb.CreateColumnFamily(ColumnFamilyOptions cfOptions, String name)

@VidyaKukke
Copy link
Author

@warrenfalk any pointers?

@warrenfalk
Copy link
Owner

It is very hard to say. I haven't experienced the same issue. I suspect that the cause of the issue is either environmental (such as interference from the outside such as anti-malware) or is related to something you're doing elsewhere in your tests that is outside the provided code snippet.

Does this fail every time?

One thing I'll note is that var db = RocksDb.Open(...) should be using var db = RocksDb.Open(...).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants