You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@s2graph.apache.org by ja...@apache.org on 2016/01/13 11:29:05 UTC
incubator-s2graph git commit: [S2GRAPH-24] Add counter config for
readonly graph
Repository: incubator-s2graph
Updated Branches:
refs/heads/master f2311f25c -> 6cfbf1d2b
[S2GRAPH-24] Add counter config for readonly graph
If we set s2graph.read-only.url on application.conf for
s2counter_loader. We can read data from the read-only server.
JIRA:
[S2GRAPH-24] https://issues.apache.org/jira/browse/S2GRAPH-24
Pull Request:
Closes #1
Project: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/commit/6cfbf1d2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/tree/6cfbf1d2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/diff/6cfbf1d2
Branch: refs/heads/master
Commit: 6cfbf1d2b82d8294b66153512f0843f25b2879a7
Parents: f2311f2
Author: Jaesang Kim <ja...@apache.org>
Authored: Tue Jan 12 16:09:28 2016 +0900
Committer: Jaesang Kim <ja...@apache.org>
Committed: Wed Jan 13 18:57:11 2016 +0900
----------------------------------------------------------------------
CHANGES | 2 ++
s2counter_core/src/main/scala/s2/config/S2CounterConfig.scala | 5 +++--
.../src/main/scala/s2/counter/core/v2/ExactStorageGraph.scala | 5 +++--
.../src/main/scala/s2/counter/core/v2/RankingStorageGraph.scala | 5 +++--
s2counter_loader/src/main/scala/s2/config/StreamingConfig.scala | 1 +
s2counter_loader/src/test/resources/application.conf | 1 +
6 files changed, 13 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6cfbf1d2/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 3575cd8..4ca49c6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,8 @@ Release 0.12.1 - unreleased
IMPROVEMENT
+ S2GRAPH-24: Add counter config for readonly graph (Committed by Jaesang Kim).
+
BUG FIXES
TASKS
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6cfbf1d2/s2counter_core/src/main/scala/s2/config/S2CounterConfig.scala
----------------------------------------------------------------------
diff --git a/s2counter_core/src/main/scala/s2/config/S2CounterConfig.scala b/s2counter_core/src/main/scala/s2/config/S2CounterConfig.scala
index d0db73c..fcd0e6a 100644
--- a/s2counter_core/src/main/scala/s2/config/S2CounterConfig.scala
+++ b/s2counter_core/src/main/scala/s2/config/S2CounterConfig.scala
@@ -28,7 +28,7 @@ class S2CounterConfig(config: Config) extends ConfigFunctions(config) {
lazy val DB_DEFAULT_USER = getOrElse("db.default.user", "graph")
lazy val DB_DEFAULT_PASSWORD = getOrElse("db.default.password", "graph")
- // REDIS
+ // Redis
lazy val REDIS_INSTANCES = (for {
s <- config.getStringList("redis.instances")
} yield {
@@ -36,8 +36,9 @@ class S2CounterConfig(config: Config) extends ConfigFunctions(config) {
(sp(0), if (sp.length > 1) sp(1).toInt else 6379)
}).toList
- // graph
+ // Graph
lazy val GRAPH_URL = getOrElse("s2graph.url", "http://localhost:9000")
+ lazy val GRAPH_READONLY_URL = getOrElse("s2graph.read-only.url", GRAPH_URL)
// Cache
lazy val CACHE_TTL_SECONDS = getOrElse("cache.ttl.seconds", 600)
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6cfbf1d2/s2counter_core/src/main/scala/s2/counter/core/v2/ExactStorageGraph.scala
----------------------------------------------------------------------
diff --git a/s2counter_core/src/main/scala/s2/counter/core/v2/ExactStorageGraph.scala b/s2counter_core/src/main/scala/s2/counter/core/v2/ExactStorageGraph.scala
index e7b674a..2b225c8 100644
--- a/s2counter_core/src/main/scala/s2/counter/core/v2/ExactStorageGraph.scala
+++ b/s2counter_core/src/main/scala/s2/counter/core/v2/ExactStorageGraph.scala
@@ -35,6 +35,7 @@ case class ExactStorageGraph(config: Config) extends ExactStorage {
private val labelPostfix = "_counts"
val s2graphUrl = s2config.GRAPH_URL
+ val s2graphReadOnlyUrl = s2config.GRAPH_READONLY_URL
val graphOp = new GraphOperation(config)
import ExactStorageGraph._
@@ -169,7 +170,7 @@ case class ExactStorageGraph(config: Config) extends ExactStorage {
val reqJs = Json.parse(reqJsStr)
// log.warn(s"query: ${reqJs.toString()}")
- wsClient.url(s"$s2graphUrl/graphs/getEdges").post(reqJs).map { resp =>
+ wsClient.url(s"$s2graphReadOnlyUrl/graphs/getEdges").post(reqJs).map { resp =>
resp.status match {
case HttpStatus.SC_OK =>
val respJs = resp.json
@@ -229,7 +230,7 @@ case class ExactStorageGraph(config: Config) extends ExactStorage {
val query = Json.obj("srcVertices" -> Json.arr(src), "steps" -> Json.arr(step))
// println(s"query: ${query.toString()}")
- wsClient.url(s"$s2graphUrl/graphs/getEdges").post(query).map { resp =>
+ wsClient.url(s"$s2graphReadOnlyUrl/graphs/getEdges").post(query).map { resp =>
resp.status match {
case HttpStatus.SC_OK =>
val respJs = resp.json
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6cfbf1d2/s2counter_core/src/main/scala/s2/counter/core/v2/RankingStorageGraph.scala
----------------------------------------------------------------------
diff --git a/s2counter_core/src/main/scala/s2/counter/core/v2/RankingStorageGraph.scala b/s2counter_core/src/main/scala/s2/counter/core/v2/RankingStorageGraph.scala
index 4bed8ab..18d7eda 100644
--- a/s2counter_core/src/main/scala/s2/counter/core/v2/RankingStorageGraph.scala
+++ b/s2counter_core/src/main/scala/s2/counter/core/v2/RankingStorageGraph.scala
@@ -38,6 +38,7 @@ class RankingStorageGraph(config: Config) extends RankingStorage {
private val labelPostfix = "_topK"
val s2graphUrl = s2config.GRAPH_URL
+ val s2graphReadOnlyUrl = s2config.GRAPH_READONLY_URL
val prepareCache = new CollectionCache[Option[Boolean]](CollectionCacheConfig(10000, 600))
val graphOp = new GraphOperation(config)
@@ -240,7 +241,7 @@ class RankingStorageGraph(config: Config) extends RankingStorage {
log.debug(strJs)
val payload = Json.parse(strJs)
- wsClient.url(s"$s2graphUrl/graphs/getEdges").post(payload).map { resp =>
+ wsClient.url(s"$s2graphReadOnlyUrl/graphs/getEdges").post(payload).map { resp =>
resp.status match {
case HttpStatus.SC_OK =>
(resp.json \ "results").asOpt[List[JsValue]].getOrElse(Nil)
@@ -272,7 +273,7 @@ class RankingStorageGraph(config: Config) extends RankingStorage {
)
)
- val future = wsClient.url(s"$s2graphUrl/graphs/checkEdges").post(checkReqJs).map { resp =>
+ val future = wsClient.url(s"$s2graphReadOnlyUrl/graphs/checkEdges").post(checkReqJs).map { resp =>
resp.status match {
case HttpStatus.SC_OK =>
val checkRespJs = resp.json
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6cfbf1d2/s2counter_loader/src/main/scala/s2/config/StreamingConfig.scala
----------------------------------------------------------------------
diff --git a/s2counter_loader/src/main/scala/s2/config/StreamingConfig.scala b/s2counter_loader/src/main/scala/s2/config/StreamingConfig.scala
index 0880bdd..ba5e863 100644
--- a/s2counter_loader/src/main/scala/s2/config/StreamingConfig.scala
+++ b/s2counter_loader/src/main/scala/s2/config/StreamingConfig.scala
@@ -20,4 +20,5 @@ object StreamingConfig extends ConfigFunctions(S2ConfigFactory.config) {
// graph url
val GRAPH_URL = getOrElse("s2graph.url", "")
+ val GRAPH_READONLY_URL = getOrElse("s2graph.read-only.url", GRAPH_URL)
}
http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6cfbf1d2/s2counter_loader/src/test/resources/application.conf
----------------------------------------------------------------------
diff --git a/s2counter_loader/src/test/resources/application.conf b/s2counter_loader/src/test/resources/application.conf
index 369a6fa..b3c57af 100644
--- a/s2counter_loader/src/test/resources/application.conf
+++ b/s2counter_loader/src/test/resources/application.conf
@@ -75,3 +75,4 @@ profile.prefetch.size=100
# s2graph
s2graph.url = "http://"${host}":9000"
+s2graph.read-only.url = ${s2graph.url}