Я думаю, что обнаружил проблему с кодом.
Ключи должны быть в порядке для SST. То, как я делаю циклы и использую лексикографическое сравнение строк для упорядочения, приводит к неправильному упорядочению. Как сравнение «10» и «9» нарушит порядок. Вместо этого, если я сортирую все ключи перед вставкой в файл SST, это работает.
Map<String, String> data = new HashMap<>();
for (int index = 0; index < 1000; index++) {
data.put("Key-" + random.nextLong(), "Value-" + random.nextDouble());
}
List<String> keys = new ArrayList<String>(data.keySet());
Collections.sort(keys);
for (String key : keys) {
Slice keySlice = new Slice(key);
Slice valueSlice = new Slice(data.get(key));
fw.put(keySlice, valueSlice);
}
Когда я пытался использовать целочисленные ключи, я обнаружил проблему.