@Override
public void fsync() {
super.fsync();
val count = new MutableInt();
Stream.of( data.values()
.stream()
.filter( m -> m.modified >= lastFsync ) )
.grouped( bulkSize )
.forEach( list -> {
count.add( list.size() );
final List<? extends WriteModel<Metadata<T>>> bulk = Lists.map( list,
metadata -> {
val id = identifier.get( metadata.object );
return new ReplaceOneModel<>( eq( "_id", new ObjectId( id ) ), metadata, UPDATE_OPTIONS_UPSERT );
} );
collection.bulkWrite( bulk );
} );
log.info( "[{}] fsync total: {}, modified: {}", collection.getNamespace(), size(), count.intValue() );
lastFsync = System.currentTimeMillis();
}
MongoStorage.java 文件源码
java
阅读 32
收藏 0
点赞 0
评论 0
项目:oap
作者:
评论列表
文章目录