You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ad...@apache.org on 2017/05/11 21:15:11 UTC

[2/2] kudu git commit: KUDU-586. Upgrade to protobuf 3

KUDU-586. Upgrade to protobuf 3

Upgrades Kudu to use protoc 3.3.0 and
adds `syntax = "proto2”;` to the proto files.

Does not leverage the new protobuf allocation arenas,
but that should be considered in a follow up patch.

Change-Id: I30986ebe56ebb334db8f89f1652e7ef2b064925c
Reviewed-on: http://gerrit.cloudera.org:8080/6857
Reviewed-by: Adar Dembo <ad...@cloudera.com>
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon <to...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/b2d247fa
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/b2d247fa
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/b2d247fa

Branch: refs/heads/master
Commit: b2d247fa4a49e68436d88e5b7519b0708cf4ff08
Parents: 293a971
Author: Grant Henke <gr...@gmail.com>
Authored: Thu May 11 00:08:02 2017 -0500
Committer: Adar Dembo <ad...@cloudera.com>
Committed: Thu May 11 21:13:44 2017 +0000

----------------------------------------------------------------------
 src/kudu/cfile/cfile.proto                  | 1 +
 src/kudu/client/client.proto                | 2 +-
 src/kudu/common/common.proto                | 1 +
 src/kudu/common/wire_protocol.proto         | 1 +
 src/kudu/consensus/consensus.proto          | 1 +
 src/kudu/consensus/log.proto                | 1 +
 src/kudu/consensus/metadata.proto           | 1 +
 src/kudu/consensus/opid.proto               | 1 +
 src/kudu/fs/fs.proto                        | 1 +
 src/kudu/master/master.proto                | 1 +
 src/kudu/rpc/rpc_header.proto               | 1 +
 src/kudu/rpc/rpc_introspection.proto        | 1 +
 src/kudu/rpc/rtest.proto                    | 1 +
 src/kudu/rpc/rtest_diff_package.proto       | 1 +
 src/kudu/security/token.proto               | 1 +
 src/kudu/server/server_base.proto           | 1 +
 src/kudu/tablet/metadata.proto              | 1 +
 src/kudu/tablet/tablet.proto                | 1 +
 src/kudu/tserver/tablet_copy.proto          | 1 +
 src/kudu/tserver/tserver.proto              | 1 +
 src/kudu/tserver/tserver_admin.proto        | 1 +
 src/kudu/tserver/tserver_service.proto      | 1 +
 src/kudu/util/compression/compression.proto | 1 +
 src/kudu/util/histogram.proto               | 1 +
 src/kudu/util/jsonwriter_test.proto         | 1 +
 src/kudu/util/maintenance_manager.proto     | 1 +
 src/kudu/util/pb_util.proto                 | 1 +
 src/kudu/util/pb_util_test.proto            | 1 +
 src/kudu/util/proto_container_test.proto    | 1 +
 src/kudu/util/proto_container_test2.proto   | 1 +
 src/kudu/util/proto_container_test3.proto   | 1 +
 src/kudu/util/version_info.proto            | 1 +
 thirdparty/vars.sh                          | 2 +-
 33 files changed, 33 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/cfile/cfile.proto
----------------------------------------------------------------------
diff --git a/src/kudu/cfile/cfile.proto b/src/kudu/cfile/cfile.proto
index 7947b5c..b76759b 100644
--- a/src/kudu/cfile/cfile.proto
+++ b/src/kudu/cfile/cfile.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.cfile;
 
 option java_package = "org.apache.kudu.cfile";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/client/client.proto
----------------------------------------------------------------------
diff --git a/src/kudu/client/client.proto b/src/kudu/client/client.proto
index 17e2057..5a644e1 100644
--- a/src/kudu/client/client.proto
+++ b/src/kudu/client/client.proto
@@ -16,7 +16,7 @@
 // under the License.
 
 // Protobufs which are specific to client implementations.
-
+syntax = "proto2";
 package kudu.client;
 
 option java_package = "org.apache.kudu.client";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/common/common.proto
----------------------------------------------------------------------
diff --git a/src/kudu/common/common.proto b/src/kudu/common/common.proto
index 6b1b608..cfd7900 100644
--- a/src/kudu/common/common.proto
+++ b/src/kudu/common/common.proto
@@ -23,6 +23,7 @@
 // in common/wire_protocol.proto instead. If it is only used within
 // the server(s), it should go in cfile/cfile.proto, server/metadata.proto,
 // etc, as appropriate.
+syntax = "proto2";
 package kudu;
 
 option java_package = "org.apache.kudu";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/common/wire_protocol.proto
----------------------------------------------------------------------
diff --git a/src/kudu/common/wire_protocol.proto b/src/kudu/common/wire_protocol.proto
index 5203cc7..33645f0 100644
--- a/src/kudu/common/wire_protocol.proto
+++ b/src/kudu/common/wire_protocol.proto
@@ -20,6 +20,7 @@
 // which are exclusively used on the wire. If a protobuf is persisted on
 // disk and not used as part of the wire protocol, it belongs in another
 // place such as common/common.proto or within cfile/, server/, etc.
+syntax = "proto2";
 package kudu;
 
 option java_package = "org.apache.kudu";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/consensus/consensus.proto
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/consensus.proto b/src/kudu/consensus/consensus.proto
index 43ec755..1888833 100644
--- a/src/kudu/consensus/consensus.proto
+++ b/src/kudu/consensus/consensus.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.consensus;
 
 option java_package = "org.apache.kudu.consensus";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/consensus/log.proto
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/log.proto b/src/kudu/consensus/log.proto
index b4121b8..064fbc9 100644
--- a/src/kudu/consensus/log.proto
+++ b/src/kudu/consensus/log.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.log;
 
 option java_package = "org.apache.kudu.log";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/consensus/metadata.proto
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/metadata.proto b/src/kudu/consensus/metadata.proto
index b73cfcc..b211c43 100644
--- a/src/kudu/consensus/metadata.proto
+++ b/src/kudu/consensus/metadata.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.consensus;
 
 option java_package = "org.apache.kudu.consensus";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/consensus/opid.proto
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/opid.proto b/src/kudu/consensus/opid.proto
index b4eedc2..170d81e 100644
--- a/src/kudu/consensus/opid.proto
+++ b/src/kudu/consensus/opid.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.consensus;
 
 option java_package = "org.apache.kudu.consensus";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/fs/fs.proto
----------------------------------------------------------------------
diff --git a/src/kudu/fs/fs.proto b/src/kudu/fs/fs.proto
index 4c88507..aa8effc 100644
--- a/src/kudu/fs/fs.proto
+++ b/src/kudu/fs/fs.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 option java_package = "org.apache.kudu";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/master/master.proto
----------------------------------------------------------------------
diff --git a/src/kudu/master/master.proto b/src/kudu/master/master.proto
index 9f828af..fa49283 100644
--- a/src/kudu/master/master.proto
+++ b/src/kudu/master/master.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.master;
 
 option java_package = "org.apache.kudu.master";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/rpc/rpc_header.proto
----------------------------------------------------------------------
diff --git a/src/kudu/rpc/rpc_header.proto b/src/kudu/rpc/rpc_header.proto
index a6c9728..1d55b6a 100644
--- a/src/kudu/rpc/rpc_header.proto
+++ b/src/kudu/rpc/rpc_header.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 
 option optimize_for = SPEED;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/rpc/rpc_introspection.proto
----------------------------------------------------------------------
diff --git a/src/kudu/rpc/rpc_introspection.proto b/src/kudu/rpc/rpc_introspection.proto
index 9c41bed..f7e2309 100644
--- a/src/kudu/rpc/rpc_introspection.proto
+++ b/src/kudu/rpc/rpc_introspection.proto
@@ -17,6 +17,7 @@
 //
 // Protobuf used for introspection of RPC services (eg listing in-flight RPCs,
 // reflection, etc)
+syntax = "proto2";
 
 package kudu.rpc;
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/rpc/rtest.proto
----------------------------------------------------------------------
diff --git a/src/kudu/rpc/rtest.proto b/src/kudu/rpc/rtest.proto
index c52b535..1ef5ca6 100644
--- a/src/kudu/rpc/rtest.proto
+++ b/src/kudu/rpc/rtest.proto
@@ -16,6 +16,7 @@
 // under the License.
 //
 // Test protocol for kudu RPC.
+syntax = "proto2";
 package kudu.rpc_test;
 
 import "kudu/rpc/rpc_header.proto";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/rpc/rtest_diff_package.proto
----------------------------------------------------------------------
diff --git a/src/kudu/rpc/rtest_diff_package.proto b/src/kudu/rpc/rtest_diff_package.proto
index 6ecba2e..f6f9b60 100644
--- a/src/kudu/rpc/rtest_diff_package.proto
+++ b/src/kudu/rpc/rtest_diff_package.proto
@@ -17,6 +17,7 @@
 //
 // Request/Response in different package to test that RPC methods
 // handle arguments with packages different from the service itself.
+syntax = "proto2";
 package kudu.rpc_test_diff_package;
 
 message ReqDiffPackagePB {

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/security/token.proto
----------------------------------------------------------------------
diff --git a/src/kudu/security/token.proto b/src/kudu/security/token.proto
index c3f9ab6..e27ccdb 100644
--- a/src/kudu/security/token.proto
+++ b/src/kudu/security/token.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.security;
 
 option java_package = "org.apache.kudu.security";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/server/server_base.proto
----------------------------------------------------------------------
diff --git a/src/kudu/server/server_base.proto b/src/kudu/server/server_base.proto
index c81d49b..022942a 100644
--- a/src/kudu/server/server_base.proto
+++ b/src/kudu/server/server_base.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.server;
 
 option java_package = "org.apache.kudu.server";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/tablet/metadata.proto
----------------------------------------------------------------------
diff --git a/src/kudu/tablet/metadata.proto b/src/kudu/tablet/metadata.proto
index 7acd140..2e5bb01 100644
--- a/src/kudu/tablet/metadata.proto
+++ b/src/kudu/tablet/metadata.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.tablet;
 
 option java_package = "org.apache.kudu.tablet";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/tablet/tablet.proto
----------------------------------------------------------------------
diff --git a/src/kudu/tablet/tablet.proto b/src/kudu/tablet/tablet.proto
index 6850ac1..9706c9c 100644
--- a/src/kudu/tablet/tablet.proto
+++ b/src/kudu/tablet/tablet.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.tablet;
 
 option java_package = "org.apache.kudu.tablet";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/tserver/tablet_copy.proto
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/tablet_copy.proto b/src/kudu/tserver/tablet_copy.proto
index 1e31a5c..13d4e60 100644
--- a/src/kudu/tserver/tablet_copy.proto
+++ b/src/kudu/tserver/tablet_copy.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.tserver;
 
 option java_package = "org.apache.kudu.tserver";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/tserver/tserver.proto
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/tserver.proto b/src/kudu/tserver/tserver.proto
index 06fa96b..0914cf2 100644
--- a/src/kudu/tserver/tserver.proto
+++ b/src/kudu/tserver/tserver.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.tserver;
 
 option java_package = "org.apache.kudu.tserver";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/tserver/tserver_admin.proto
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/tserver_admin.proto b/src/kudu/tserver/tserver_admin.proto
index 45e9839..24937ff 100644
--- a/src/kudu/tserver/tserver_admin.proto
+++ b/src/kudu/tserver/tserver_admin.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.tserver;
 
 option java_package = "org.apache.kudu.tserver";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/tserver/tserver_service.proto
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/tserver_service.proto b/src/kudu/tserver/tserver_service.proto
index 1ed3249..daf650b 100644
--- a/src/kudu/tserver/tserver_service.proto
+++ b/src/kudu/tserver/tserver_service.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu.tserver;
 
 option java_package = "org.apache.kudu.tserver";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/compression/compression.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/compression/compression.proto b/src/kudu/util/compression/compression.proto
index 3855bd7..a0f5343 100644
--- a/src/kudu/util/compression/compression.proto
+++ b/src/kudu/util/compression/compression.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 option java_package = "org.apache.kudu";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/histogram.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/histogram.proto b/src/kudu/util/histogram.proto
index c7c846e..e4526e7 100644
--- a/src/kudu/util/histogram.proto
+++ b/src/kudu/util/histogram.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 option java_package = "org.apache.kudu";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/jsonwriter_test.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/jsonwriter_test.proto b/src/kudu/util/jsonwriter_test.proto
index cab7201..b6f0300 100644
--- a/src/kudu/util/jsonwriter_test.proto
+++ b/src/kudu/util/jsonwriter_test.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package jsonwriter_test;
 
 import "kudu/util/pb_util.proto";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/maintenance_manager.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/maintenance_manager.proto b/src/kudu/util/maintenance_manager.proto
index 79c67e9..75b0ab3 100644
--- a/src/kudu/util/maintenance_manager.proto
+++ b/src/kudu/util/maintenance_manager.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 option java_package = "org.apache.kudu";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/pb_util.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/pb_util.proto b/src/kudu/util/pb_util.proto
index 9688f8f..b78c0cf 100644
--- a/src/kudu/util/pb_util.proto
+++ b/src/kudu/util/pb_util.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 option java_package = "org.apache.kudu";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/pb_util_test.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/pb_util_test.proto b/src/kudu/util/pb_util_test.proto
index 0b7be32..bac0be0 100644
--- a/src/kudu/util/pb_util_test.proto
+++ b/src/kudu/util/pb_util_test.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 import "kudu/util/pb_util.proto";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/proto_container_test.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/proto_container_test.proto b/src/kudu/util/proto_container_test.proto
index 6638706..4707c08 100644
--- a/src/kudu/util/proto_container_test.proto
+++ b/src/kudu/util/proto_container_test.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 // Arbitrary protobuf to test writing a containerized protobuf.

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/proto_container_test2.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/proto_container_test2.proto b/src/kudu/util/proto_container_test2.proto
index bcf7ed1..74a1ea3 100644
--- a/src/kudu/util/proto_container_test2.proto
+++ b/src/kudu/util/proto_container_test2.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 // Dependency chain:

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/proto_container_test3.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/proto_container_test3.proto b/src/kudu/util/proto_container_test3.proto
index 5cf34dd..1ed1c31 100644
--- a/src/kudu/util/proto_container_test3.proto
+++ b/src/kudu/util/proto_container_test3.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 // Dependency chain:

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/src/kudu/util/version_info.proto
----------------------------------------------------------------------
diff --git a/src/kudu/util/version_info.proto b/src/kudu/util/version_info.proto
index 0135698..ca82f12 100644
--- a/src/kudu/util/version_info.proto
+++ b/src/kudu/util/version_info.proto
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+syntax = "proto2";
 package kudu;
 
 option java_package = "org.apache.kudu";

http://git-wip-us.apache.org/repos/asf/kudu/blob/b2d247fa/thirdparty/vars.sh
----------------------------------------------------------------------
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index 1ba9f30..53ef1e4 100644
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -50,7 +50,7 @@ GPERFTOOLS_VERSION=2.2.1
 GPERFTOOLS_NAME=gperftools-$GPERFTOOLS_VERSION
 GPERFTOOLS_SOURCE=$TP_SOURCE_DIR/$GPERFTOOLS_NAME
 
-PROTOBUF_VERSION=2.6.1
+PROTOBUF_VERSION=3.3.0
 PROTOBUF_NAME=protobuf-$PROTOBUF_VERSION
 PROTOBUF_SOURCE=$TP_SOURCE_DIR/$PROTOBUF_NAME