-
Notifications
You must be signed in to change notification settings - Fork 979
Open
Description
I'm encountering an issue where the Go LevelDB bindings fail to retrieve all data in specific scenarios, while the native C++ interface works as expected.
Observed Behavior:
- When using the Go interface to read data from a LevelDB instance managed by C++ code, some entries are missing from query results
- The same database shows complete data when accessed through the C++ LevelDB API
- Issue appears consistently in specific read patterns (e.g., range scans, sequential iterations)
Expected Behavior:
- Go bindings should return identical results to the C++ implementation
- Consistent data retrieval across both interfaces
Reproduction Steps:
- Create database using C++ LevelDB implementation
- Write batch data (mixed size entries, ~3300k records with string&binary mix)
- Perform range scan using Go bindings
- Compare results with C++ iterator output
Environment:
- Go Version: [1.24.3]
- LevelDB Binding Version: [latest of 2025-05-24]
- OS: [e.g., Linux openEuler release 24.03(LTS)]
- C++ LevelDB Version: [1.20]
Usage like:
iter := db.NewIterator(nil, nil)
for iter.Next() {
key := iter.Key()
value := iter.Value()
...
}
Metadata
Metadata
Assignees
Labels
No labels