Skip to content

Commit 32b9899

Browse files
Refactored protocol file structures and message names (#130)
## What is the goal of this PR? The previous file structure did not communicate clearly the architecture of our protocol definitions. We have Grakn Core specific protocol definitions, as well as Grakn Cluster specific ones. These protocol files and their message names were also not named accurately based on their domains. For example, `database.proto` existed twice in Cluster and Core protobuf packages. We also split messages that should be two different message types, such as `ClusterDatabase` and `ClusterDatabaseManager`. ## What are the changes implemented in this PR? - Renamed `//protobuf/cluster/cluster.proto` to `cluster_server.proto` - Renamed `//cluster/database.proto` to `//cluster/cluster_database.proto` - Renamed `grakn.protocol.cluster.Database` to `ClusterDatabase` - Split `ClusterDatabaseManager` out from `ClusterDatabase` - Moved `//protobuf/cluster` out to its own package `//cluster` - Split `//protobuf` into `//common` and `//core - Set package address of all protocol definitions and their generated files to `grakn.protocol`
1 parent 1a251d1 commit 32b9899

File tree

19 files changed

+169
-157
lines changed

19 files changed

+169
-157
lines changed
Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,22 @@ package(default_visibility = ["//visibility:public"])
2020
load("@graknlabs_dependencies//tool/checkstyle:rules.bzl", "checkstyle_test")
2121

2222
proto_library(
23-
name = "grakn-cluster-proto",
24-
srcs = [":grakn_cluster.proto"],
25-
deps = [":cluster-proto", ":database-proto"],
23+
name = "service-proto",
24+
srcs = [":cluster_service.proto"],
25+
deps = [
26+
":server-proto",
27+
":database-proto"
28+
],
2629
)
2730

2831
proto_library(
29-
name = "cluster-proto",
30-
srcs = [":cluster.proto"],
32+
name = "server-proto",
33+
srcs = [":cluster_server.proto"],
3134
)
3235

3336
proto_library(
3437
name = "database-proto",
35-
srcs = [":database.proto"],
38+
srcs = [":cluster_database.proto"],
3639
)
3740

3841
checkstyle_test(
Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,39 @@
1717

1818
syntax = "proto3";
1919

20-
option java_package = "grakn.protocol.cluster";
21-
option java_outer_classname = "DatabaseProto";
20+
option java_package = "grakn.protocol";
21+
option java_outer_classname = "ClusterDatabaseProto";
2222

23-
package grakn.protocol.cluster;
23+
package grakn.protocol;
2424

25-
message Database {
26-
27-
string name = 1;
28-
repeated Replica replicas = 2;
29-
30-
message Replica {
31-
string address = 1;
32-
bool primary = 2;
33-
bool preferred = 3;
34-
int64 term = 4;
35-
}
25+
message ClusterDatabaseManager {
3626

3727
message Get {
3828
message Req {
3929
string name = 1;
4030
}
4131
message Res {
42-
Database database = 1;
32+
ClusterDatabase database = 1;
4333
}
4434
}
4535

4636
message All {
4737
message Req {}
4838
message Res {
49-
repeated Database databases = 1;
39+
repeated ClusterDatabase databases = 1;
5040
}
5141
}
5242
}
43+
44+
message ClusterDatabase {
45+
46+
string name = 1;
47+
repeated Replica replicas = 2;
48+
49+
message Replica {
50+
string address = 1;
51+
bool primary = 2;
52+
bool preferred = 3;
53+
int64 term = 4;
54+
}
55+
}
Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,20 @@
1717

1818
syntax = "proto3";
1919

20-
option java_package = "grakn.protocol.cluster";
21-
option java_outer_classname = "ClusterProto";
20+
option java_package = "grakn.protocol";
21+
option java_outer_classname = "ClusterServerProto";
2222

23-
package grakn.protocol.cluster;
23+
package grakn.protocol;
2424

25-
message Cluster {
26-
message Servers {
25+
message ServerManager {
26+
message All {
2727
message Req {}
2828
message Res {
29-
repeated string addresses = 1;
29+
repeated Server servers = 1;
3030
}
3131
}
3232
}
33+
34+
message Server {
35+
string address = 1;
36+
}
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@
1717

1818
syntax = "proto3";
1919

20-
option java_package = "grakn.protocol.cluster";
21-
option java_outer_classname = "GraknClusterProto";
20+
option java_package = "grakn.protocol";
21+
option java_outer_classname = "ClusterServiceProto";
2222

23-
import "protobuf/cluster/cluster.proto";
24-
import "protobuf/cluster/database.proto";
23+
import "cluster/cluster_server.proto";
24+
import "cluster/cluster_database.proto";
2525

26-
package grakn.protocol.cluster;
26+
package grakn.protocol;
2727

2828
service GraknCluster {
2929

30-
rpc cluster_servers (Cluster.Servers.Req) returns (Cluster.Servers.Res);
31-
rpc database_get (Database.Get.Req) returns (Database.Get.Res);
32-
rpc database_all (Database.All.Req) returns (Database.All.Res);
30+
rpc servers_all (ServerManager.All.Req) returns (ServerManager.All.Res);
31+
rpc databases_get (ClusterDatabaseManager.Get.Req) returns (ClusterDatabaseManager.Get.Res);
32+
rpc databases_all (ClusterDatabaseManager.All.Req) returns (ClusterDatabaseManager.All.Res);
3333

3434
}

protobuf/BUILD renamed to common/BUILD

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,6 @@ proto_library(
3030
srcs = ["concept.proto"],
3131
)
3232

33-
proto_library(
34-
name = "database-proto",
35-
srcs = ["database.proto"],
36-
)
37-
38-
proto_library(
39-
name = "grakn-proto",
40-
srcs = ["grakn.proto"],
41-
deps = [
42-
":database-proto",
43-
":session-proto",
44-
":transaction-proto",
45-
],
46-
)
47-
4833
proto_library(
4934
name = "logic-proto",
5035
srcs = ["logic.proto"]
@@ -90,8 +75,6 @@ filegroup(
9075
srcs = [
9176
"answer.proto",
9277
"concept.proto",
93-
"database.proto",
94-
"grakn.proto",
9578
"options.proto",
9679
"query.proto",
9780
"session.proto",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ syntax = "proto3";
2020
option java_package = "grakn.protocol";
2121
option java_outer_classname = "AnswerProto";
2222

23-
import "protobuf/concept.proto";
23+
import "common/concept.proto";
2424

2525
package grakn.protocol;
2626

File renamed without changes.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ message Options {
3636
bool explain = 3;
3737
}
3838
oneof parallel_opt {
39-
bool parallel = 4;
39+
bool parallel = 4;
4040
}
4141
oneof batch_size_opt {
4242
int32 batch_size = 5;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ syntax = "proto3";
2020
option java_package = "grakn.protocol";
2121
option java_outer_classname = "QueryProto";
2222

23-
import "protobuf/answer.proto";
24-
import "protobuf/options.proto";
23+
import "common/answer.proto";
24+
import "common/options.proto";
2525

2626
package grakn.protocol;
2727

0 commit comments

Comments
 (0)