[
https://issues.apache.org/jira/browse/S2GRAPH-17?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15171407#comment-15171407
]
ASF GitHub Bot commented on S2GRAPH-17:
---------------------------------------
Github user SteamShon commented on a diff in the pull request:
https://github.com/apache/incubator-s2graph/pull/34#discussion_r54368965
--- Diff:
s2core/src/main/scala/com/kakao/s2graph/core/storage/Storage.scala ---
@@ -1,64 +1,324 @@
package com.kakao.s2graph.core.storage
-import com.google.common.cache.Cache
+import com.kakao.s2graph.core.ExceptionHandler.{Key, Val, KafkaMessage}
+import com.kakao.s2graph.core.GraphExceptions.FetchTimeoutException
import com.kakao.s2graph.core._
-import com.kakao.s2graph.core.mysqls.{Service, Label}
-import com.kakao.s2graph.core.utils.logger
+import com.kakao.s2graph.core.mysqls._
+import com.kakao.s2graph.core.types._
+import com.kakao.s2graph.core.utils.{Extensions, logger}
import com.typesafe.config.Config
-
-
+import org.apache.hadoop.hbase.util.Bytes
+import org.apache.kafka.clients.producer.ProducerRecord
+import scala.annotation.tailrec
import scala.collection.Seq
+import scala.collection.mutable.ArrayBuffer
import scala.concurrent.{ExecutionContext, Future}
-import scala.util.Try
+import scala.util.{Random, Try}
+
+abstract class Storage[R](val config: Config)(implicit ec:
ExecutionContext) {
--- End diff --
Major changes goes here. now all common codes located on Storage abstract
class.
> Remove unnecessary abstraction layer, Storage.
> ----------------------------------------------
>
> Key: S2GRAPH-17
> URL: https://issues.apache.org/jira/browse/S2GRAPH-17
> Project: S2Graph
> Issue Type: Task
> Reporter: DOYUNG YOON
> Assignee: DOYUNG YOON
> Labels: client, refactoring
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> Currently Graph contains following components.
> Graph has storage and each storage have followings.
> # SerDe: serialize and deserialize IndexEdge/SnapshotEdge/Vertex into bytes.
> # MutationBuilder: convert IndexEdge/SnapshotEdge into RPC which is dependent
> on storage backend.
> # QueryBuilder: issue RPC for fetch on storage backend
> With these components, storage know how to actually store/fetch
> IndexEdge/SnapshotEdge/Vertex to, from storage backend.
> In my opinion, storage layer is unnecessary since all graph instance does is
> delegating into storage. I am suggesting to remove storage layer and use
> different Graph class for different storage backend.
> So for example, change AsynchbaseStorage into AsynchbaseGraph.
> I want to discuss how our Graph Client should be on this issue and change it
> according to discussion.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)