private Iterator<Map.Entry<String, StorageSummary>> decodeMetadataRows(
final Iterator<Row<ByteBuffer, Composite>> rowIter, final AstyanaxTable table) {
return new AbstractIterator<Map.Entry<String, StorageSummary>>() {
@Override
protected Map.Entry<String, StorageSummary> computeNext() {
while (rowIter.hasNext()) {
Row<ByteBuffer, Composite> row = rowIter.next();
ByteBuffer key = row.getKey();
ColumnList<Composite> columns = row.getColumns();
String blobId = AstyanaxStorage.getContentKey(key);
StorageSummary summary = toStorageSummary(columns);
if (summary == null) {
continue; // Partial blob, parts may still be replicating.
}
// Cleanup older versions of the blob, if any (unlikely).
deleteOldColumns(table, blobId, columns, summary.getTimestamp());
return Maps.immutableEntry(blobId, summary);
}
return endOfData();
}
};
}
AstyanaxStorageProvider.java 文件源码
java
阅读 41
收藏 0
点赞 0
评论 0
项目:emodb
作者:
评论列表
文章目录