diff --git a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/SpanDataConsumer.java b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/SpanDataConsumer.java index ffd3946ed..7b6758d78 100644 --- a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/SpanDataConsumer.java +++ b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/SpanDataConsumer.java @@ -2,6 +2,7 @@ package com.a.eye.skywalking.storage.data; import com.a.eye.datacarrier.consumer.IConsumer; import com.a.eye.skywalking.storage.data.file.DataFileWriter; +import com.a.eye.skywalking.storage.data.index.IndexDBConnector; import com.a.eye.skywalking.storage.data.index.IndexMetaGroup; import com.a.eye.skywalking.storage.data.index.IndexOperator; import com.a.eye.skywalking.storage.data.index.IndexDBConnectorCache; @@ -17,16 +18,20 @@ public class SpanDataConsumer implements IConsumer { @Override public void consume(List data) { - Iterator iterator = fileWriter.write(data).group().iterator(); + Iterator iterator = fileWriter.write(data).group(); while (iterator.hasNext()) { IndexMetaGroup metaGroup = iterator.next(); - IndexOperator indexOperator = IndexOperator.newOperator(cache.get(metaGroup.getTimestamp())); - indexOperator.update(metaGroup.getMetaInfo()); + IndexOperator indexOperator = IndexOperator.newOperator(getDBConnector(metaGroup)); + indexOperator.batchUpdate(metaGroup); } } + private IndexDBConnector getDBConnector(IndexMetaGroup metaGroup){ + return cache.get(metaGroup.getTimestamp()); + } + @Override public void onError(List list, Throwable throwable) { diff --git a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexMetaCollections.java b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexMetaCollections.java index 4e9e16cc2..c24e5ec5f 100644 --- a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexMetaCollections.java +++ b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexMetaCollections.java @@ -5,6 +5,7 @@ import com.a.eye.skywalking.storage.block.index.BlockFinder; import com.a.eye.skywalking.storage.block.index.BlockIndexEngine; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; public class IndexMetaCollections { @@ -12,7 +13,7 @@ public class IndexMetaCollections { private List metaInfo; private BlockFinder finder = BlockIndexEngine.newFinder(); - public List group() { + public Iterator group() { List indexMetaGroups = new ArrayList(); for (IndexMetaInfo info : metaInfo) { long timestamp = finder.find(info.getStartTime()); @@ -30,7 +31,7 @@ public class IndexMetaCollections { metaGroup.addIndexMetaInfo(info); } - return indexMetaGroups; + return indexMetaGroups.iterator(); } diff --git a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java index 6503a6b9a..b2db058b8 100644 --- a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java +++ b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java @@ -18,19 +18,10 @@ public class IndexOperator { } - public void update(List metaInfo) { + public void batchUpdate(IndexMetaGroup metaGroup) { } - private IndexDBConnector getConnector() { - return connector; - } - - - public static IndexOperator newOperator(long timestamp) { - return newOperator(new IndexDBConnector(timestamp)); - } - public static IndexOperator newOperator(IndexDBConnector indexDBConnector) { return new IndexOperator(indexDBConnector); }