我正在尝试使用scanCallback()方法从aerospike获取数据。运行一段时间后没有完全扫描空中飞行,我收到了错误
"Error Code -1: java.io.IOException: Unknown unpack type: 196"
我不知道这个错误意味着什么,也没有在线错误的在线文档。我现在正在努力解决这个错误:(任何帮助都会非常感激。非常感谢提前
答案 0 :(得分:2)
此错误表示记录中的一个分箱是列表或地图,并且无法解析其中一个列表/地图元素。临时解决方法是将includeBinData设置为false,扫描键并使用键分别读取每条记录。
public void runScan()
{
ScanPolicy policy = new ScanPolicy();
policy.concurrentNodes = false;
policy.includeBinData = false;
client.scanAll(policy, namespace, set, this);
}
@Override
public void scanCallback(Key key, Record record) {
try {
Record rec = client.get(null, key);
}
catch (Exception e) {
// Now we know the key with the corrupt record.
System.out.println("Error reading " + key);
}
}
识别密钥后,尝试读取特定的分档以查看记录中的哪个分区导致问题。那个垃圾箱可能需要重写。