You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by hy...@apache.org on 2013/09/02 04:26:49 UTC

git commit: TAJO-94: Remove duplicate proto files. (hyunsik)

Updated Branches:
  refs/heads/master 466adcc57 -> 205621168


TAJO-94: Remove duplicate proto files. (hyunsik)


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

Branch: refs/heads/master
Commit: 2056211681697aa57e7520f1112e60d56c45e497
Parents: 466adcc
Author: Hyunsik Choi <hy...@apache.org>
Authored: Sat Aug 31 16:23:26 2013 +0900
Committer: Hyunsik Choi <hy...@apache.org>
Committed: Mon Sep 2 11:26:19 2013 +0900

----------------------------------------------------------------------
 CHANGES.txt                                     |   4 +
 tajo-catalog/tajo-catalog-client/pom.xml        |   2 +
 .../src/main/proto/CatalogProtos.proto          | 211 ------------
 .../src/main/proto/DataTypes.proto              |  74 -----
 .../src/main/proto/PrimitiveProtos.proto        |  41 ---
 tajo-catalog/tajo-catalog-common/pom.xml        |   1 +
 .../src/main/proto/DataTypes.proto              |  74 -----
 tajo-common/pom.xml                             |   1 +
 .../src/main/proto/PrimitiveProtos.proto        |  41 +++
 tajo-core/tajo-core-backend/pom.xml             |   2 +
 .../src/main/proto/CatalogProtocol.proto        |  47 ---
 .../src/main/proto/CatalogProtos.proto          | 211 ------------
 .../src/main/proto/DataTypes.proto              |  74 -----
 .../src/main/proto/PrimitiveProtos.proto        |  41 ---
 .../src/main/proto/Security.proto               |  57 ----
 .../src/main/proto/TajoIdProtos.proto           |  46 ---
 .../src/main/proto/yarn_protos.proto            | 332 -------------------
 tajo-core/tajo-core-storage/pom.xml             |   3 +-
 .../src/main/proto/CatalogProtos.proto          | 211 ------------
 .../src/main/proto/DataTypes.proto              |  74 -----
 .../src/main/proto/PrimitiveProtos.proto        |  41 ---
 tajo-rpc/pom.xml                                |   7 +-
 .../tajo/rpc/benchmark/BenchmarkAsyncRPC.java   |   3 +-
 tajo-rpc/src/main/proto/PrimitiveProtos.proto   |  39 ---
 24 files changed, 61 insertions(+), 1576 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ac1c60a..c871c83 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -17,6 +17,10 @@ Release 0.2.0 - unreleased
 
   IMPROVEMENTS
 
+    TAJO-94: Remove duplicate proto files. (hyunsik)
+
+    TAJO-141: Set on demand as the default cluster mode. (hyunsik)
+
     TAJO-136: Broadcast join should be enabled. (hyunsik)
 
     TAJO-127: Implement Tajo Resource Manager. (hyoungjunkim via hyunsik)

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-catalog/tajo-catalog-client/pom.xml
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-client/pom.xml b/tajo-catalog/tajo-catalog-client/pom.xml
index 0bee281..b40bee7 100644
--- a/tajo-catalog/tajo-catalog-client/pom.xml
+++ b/tajo-catalog/tajo-catalog-client/pom.xml
@@ -76,6 +76,8 @@
               <executable>protoc</executable>
               <arguments>
                 <argument>-Isrc/main/proto/</argument>
+                <argument>--proto_path=../../tajo-common/src/main/proto</argument>
+                <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
                 <argument>--java_out=target/generated-sources/proto</argument>
                 <argument>src/main/proto/CatalogProtocol.proto</argument>
               </arguments>

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtos.proto b/tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtos.proto
deleted file mode 100644
index 6164553..0000000
--- a/tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtos.proto
+++ /dev/null
@@ -1,211 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.catalog.proto";
-option java_outer_classname = "CatalogProtos";
-option optimize_for = SPEED;
-option java_generic_services = false;
-option java_generate_equals_and_hash = true;
-
-import "DataTypes.proto";
-
-enum StoreType {
-	MEM = 0;
-	CSV = 1;
-	RAW = 2;
-  RCFILE = 3;
-  ROWFILE = 4;
-  HCFILE = 5;
-  TREVNI = 6;
-}
-
-enum OrderType {
-    ORDER_NONE = 0;
-    ASC = 1;
-    DSC = 2;
-}
-
-enum CompressType {
-    COMP_NONE = 0;
-    NULL_SUPPRESS = 1;
-    RUN_LENGTH = 2;
-    BIT_VECTOR = 3;
-    DICTIONARY = 4;
-    SNAPPY = 5;
-    LZ = 6;
-}
-
-message ColumnMetaProto {
-    required DataType dataType = 1;
-    required bool compressed = 2;
-    required bool sorted = 3;
-    required bool contiguous = 4;
-    required StoreType storeType = 5;
-    required CompressType compType = 6;
-    required int64 startRid = 7;
-    required int32 recordNum = 8;
-    required int32 offsetToIndex = 9;
-}
-
-message ColumnProto {
-	required string columnName = 1;
-	required DataType dataType = 2;
-}
-
-message SchemaProto {
-	repeated ColumnProto fields = 1;
-}
-
-message KeyValueProto {
-	required string key = 1;
-	required string value = 2;
-}
-
-message KeyValueSetProto {
-	repeated KeyValueProto keyval = 1;
-}
-
-message FragmentProto {
-	required string id = 1;
-	required string path = 2;
-	required int64 startOffset = 3;
-	required int64 length = 4;
-	required TableProto meta = 5;
-	optional TableStatProto stat = 6;
-  optional bool distCached = 7 [default = false];
-}
-
-message TableProto {
-    required SchemaProto schema = 1;
-    required StoreType storeType = 2;
-    required KeyValueSetProto params = 3;
-    optional TableStatProto stat = 4;
-}
-
-message TableDescProto {
-	required string id = 1;
-	required string path = 2;
-	required TableProto meta = 3;
-}
-
-enum FunctionType {
-	GENERAL = 0;
-	AGGREGATION = 1;
-}
-
-message FunctionDescProto {
-	required string signature = 1;
-	required string className = 2;
-	required FunctionType type = 3;
-	repeated DataType parameterTypes = 4;
-	required DataType returnType = 5;
-}
-
-message IndexDescProto {
-    required string name = 1;
-    required string tableId = 2;
-    required ColumnProto column = 3;
-    required IndexMethod indexMethod = 4;
-    optional bool isUnique = 5 [default = false];
-    optional bool isClustered = 6 [default = false];
-    optional bool isAscending = 7 [default = false];
-}
-
-enum IndexMethod {
-    TWO_LEVEL_BIN_TREE = 0;
-    BTREE = 1;
-    HASH = 2;
-    BITMAP = 3;
-}
-
-message GetAllTableNamesResponse {
-    repeated string tableName = 1;
-}
-
-message GetIndexRequest {
-    required string tableName = 1;
-    required string columnName = 2;
-}
-
-message GetFunctionsResponse {
-	repeated FunctionDescProto functionDesc = 1;
-}
-
-message UnregisterFunctionRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message GetFunctionMetaRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message ContainFunctionRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message TableStatProto {
-	required int64 numRows = 1;
-	required int64 numBytes = 2;
-	optional int32 numBlocks = 3;
-	optional int32 numPartitions = 4;
-	optional int64 avgRows = 5;
-	repeated ColumnStatProto colStat = 6;
-}
-
-message ColumnStatProto {
-    required ColumnProto column = 1;
-    optional int64 numDistVal = 2;
-    optional int64 numNulls = 3;
-    optional bytes minValue = 4;
-    optional bytes maxValue = 5;
-}
-
-enum StatType {
-  TABLE_NUM_ROWS = 0;
-  TABLE_NUM_BLOCKS = 1;
-  TABLE_NUM_PARTITIONS = 2;
-  TABLE_AVG_ROWS = 3;
-  TABLE_NUM_BYTES = 4;
-
-  COLUMN_NUM_NDV = 4;
-  COLUMN_NUM_NULLS = 5;
-}
-
-message StatSetProto {
-  repeated StatProto stats = 1;
-}
-
-message StatProto {
-  required StatType type = 1;
-  required int64 value = 2;
-}
-
-message ServerNameProto {
-  required string serverName = 1;
-  required string hostName = 2;
-  required int32 port = 3;
-}
-
-message SortSpecProto {
-  required int32 sortColumnId = 1;
-  optional bool ascending = 2 [default = true];
-  optional bool nullFirst = 3 [default = false];
-}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-catalog/tajo-catalog-client/src/main/proto/DataTypes.proto
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-client/src/main/proto/DataTypes.proto b/tajo-catalog/tajo-catalog-client/src/main/proto/DataTypes.proto
deleted file mode 100644
index 5fef1ad..0000000
--- a/tajo-catalog/tajo-catalog-client/src/main/proto/DataTypes.proto
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.common";
-option java_outer_classname = "TajoDataTypes";
-option optimize_for = SPEED;
-option java_generic_services = false;
-option java_generate_equals_and_hash = true;
-
-enum Type {
-  // SQL Standard Data Type
-  BOOLEAN = 0; // state of true of false [1 byte]
-
-  INT1 = 1; // tinyint [1 byte] [0-255]
-  INT2 = 2; // smallint [2 bytes] [-2^15(-32,768) ~ 2^15-1(32,767)]
-  INT4 = 3; // int [4 bytes] [-2^31(-2,147,483,648) ~ 2^31-1(2,147,483,647)]
-  INT8 = 4; // bigint [8 bytes] [-2^63(-9,223,372,036,854,775,808) ~ 2^63-1(9,223,372,036,854,775,807)]
-
-  FLOAT4 = 10; // variable-precision, inexact [4 bytes]
-  FLOAT8 = 11; // variable-precision, inexact [8 bytes]
-
-  NUMERIC = 15; // variable length
-  DECIMAL = 16; // variable length  
-
-  CHAR = 20; // fixed-width n-character string
-  NCHAR = 21; // fixed width string supporting an international character set
-  VARCHAR = 22; // variable-width string
-  NVARCHAR = 23; // variable-width NCHAR string
-  TEXT = 24; // variable unlimited length
-
-  DATE = 30;
-  TIME = 31;
-  TIMEZ = 32;
-  TIMESTAMP = 33;
-  TIMESTAMPZ = 34;
-  INTERVAL = 35;
-
-  BIT = 40; // fixed-width bits. BIT without the length L means a single bit. It can be used for boolean type.
-  VARBIT = 41; // variable-width bits
-
-  BINARY = 45; // fixed-width binary strings. BINARY without the length L means a single byte.
-  VARBINARY = 46; // variable-width binary strings
-  BLOB = 47;
-
-  UDT = 51; // user-defined function
-
-  ANY = 61;
-  ARRAY = 62;
-  INET4 = 100;
-  INET6 = 101;
-
-  // Extended Data Type (Reserved 128 ~ 255)
-}
-
-message DataType {
-  required Type type = 1;
-  optional int32 length = 2;
-  optional string code = 3;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-catalog/tajo-catalog-client/src/main/proto/PrimitiveProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-client/src/main/proto/PrimitiveProtos.proto b/tajo-catalog/tajo-catalog-client/src/main/proto/PrimitiveProtos.proto
deleted file mode 100644
index e722190..0000000
--- a/tajo-catalog/tajo-catalog-client/src/main/proto/PrimitiveProtos.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.rpc.protocolrecords";
-option java_outer_classname = "PrimitiveProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-
-message StringProto {
-	required string value = 1;
-}
-
-message IntProto {
-	required int32 value = 1;
-}
-
-message LongProto {
-	required int64 value = 1;
-}
-
-message BoolProto {
-	required bool value = 1;
-}
-
-message NullProto {
-}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-catalog/tajo-catalog-common/pom.xml
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/pom.xml b/tajo-catalog/tajo-catalog-common/pom.xml
index 6065b8d..e8012a6 100644
--- a/tajo-catalog/tajo-catalog-common/pom.xml
+++ b/tajo-catalog/tajo-catalog-common/pom.xml
@@ -76,6 +76,7 @@
               <executable>protoc</executable>
               <arguments>
                 <argument>-Isrc/main/proto/</argument>
+                <argument>--proto_path=../../tajo-common/src/main/proto</argument>
                 <argument>--java_out=target/generated-sources/proto</argument>
                 <argument>src/main/proto/CatalogProtos.proto</argument>
               </arguments>

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-catalog/tajo-catalog-common/src/main/proto/DataTypes.proto
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-common/src/main/proto/DataTypes.proto b/tajo-catalog/tajo-catalog-common/src/main/proto/DataTypes.proto
deleted file mode 100644
index 5fef1ad..0000000
--- a/tajo-catalog/tajo-catalog-common/src/main/proto/DataTypes.proto
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.common";
-option java_outer_classname = "TajoDataTypes";
-option optimize_for = SPEED;
-option java_generic_services = false;
-option java_generate_equals_and_hash = true;
-
-enum Type {
-  // SQL Standard Data Type
-  BOOLEAN = 0; // state of true of false [1 byte]
-
-  INT1 = 1; // tinyint [1 byte] [0-255]
-  INT2 = 2; // smallint [2 bytes] [-2^15(-32,768) ~ 2^15-1(32,767)]
-  INT4 = 3; // int [4 bytes] [-2^31(-2,147,483,648) ~ 2^31-1(2,147,483,647)]
-  INT8 = 4; // bigint [8 bytes] [-2^63(-9,223,372,036,854,775,808) ~ 2^63-1(9,223,372,036,854,775,807)]
-
-  FLOAT4 = 10; // variable-precision, inexact [4 bytes]
-  FLOAT8 = 11; // variable-precision, inexact [8 bytes]
-
-  NUMERIC = 15; // variable length
-  DECIMAL = 16; // variable length  
-
-  CHAR = 20; // fixed-width n-character string
-  NCHAR = 21; // fixed width string supporting an international character set
-  VARCHAR = 22; // variable-width string
-  NVARCHAR = 23; // variable-width NCHAR string
-  TEXT = 24; // variable unlimited length
-
-  DATE = 30;
-  TIME = 31;
-  TIMEZ = 32;
-  TIMESTAMP = 33;
-  TIMESTAMPZ = 34;
-  INTERVAL = 35;
-
-  BIT = 40; // fixed-width bits. BIT without the length L means a single bit. It can be used for boolean type.
-  VARBIT = 41; // variable-width bits
-
-  BINARY = 45; // fixed-width binary strings. BINARY without the length L means a single byte.
-  VARBINARY = 46; // variable-width binary strings
-  BLOB = 47;
-
-  UDT = 51; // user-defined function
-
-  ANY = 61;
-  ARRAY = 62;
-  INET4 = 100;
-  INET6 = 101;
-
-  // Extended Data Type (Reserved 128 ~ 255)
-}
-
-message DataType {
-  required Type type = 1;
-  optional int32 length = 2;
-  optional string code = 3;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-common/pom.xml
----------------------------------------------------------------------
diff --git a/tajo-common/pom.xml b/tajo-common/pom.xml
index 4f25143..af27516 100644
--- a/tajo-common/pom.xml
+++ b/tajo-common/pom.xml
@@ -90,6 +90,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
                 <argument>src/main/proto/TestProtos.proto</argument>
                 <argument>src/main/proto/TajoIdProtos.proto</argument>
                 <argument>src/main/proto/DataTypes.proto</argument>
+                <argument>src/main/proto/PrimitiveProtos.proto</argument>
               </arguments>
             </configuration>
             <goals>

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-common/src/main/proto/PrimitiveProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-common/src/main/proto/PrimitiveProtos.proto b/tajo-common/src/main/proto/PrimitiveProtos.proto
new file mode 100644
index 0000000..e722190
--- /dev/null
+++ b/tajo-common/src/main/proto/PrimitiveProtos.proto
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+option java_package = "org.apache.tajo.rpc.protocolrecords";
+option java_outer_classname = "PrimitiveProtos";
+option java_generic_services = true;
+option java_generate_equals_and_hash = true;
+
+message StringProto {
+	required string value = 1;
+}
+
+message IntProto {
+	required int32 value = 1;
+}
+
+message LongProto {
+	required int64 value = 1;
+}
+
+message BoolProto {
+	required bool value = 1;
+}
+
+message NullProto {
+}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-backend/pom.xml
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/pom.xml b/tajo-core/tajo-core-backend/pom.xml
index d1d9f9f..9c1d458 100644
--- a/tajo-core/tajo-core-backend/pom.xml
+++ b/tajo-core/tajo-core-backend/pom.xml
@@ -123,6 +123,8 @@
               <executable>protoc</executable>
               <arguments>
                 <argument>-Isrc/main/proto/</argument>
+                <argument>--proto_path=../../tajo-common/src/main/proto</argument>
+                <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
                 <argument>--java_out=target/generated-sources/proto</argument>
                 <argument>src/main/proto/tajo_protos.proto</argument>
                 <argument>src/main/proto/ClientProtos.proto</argument>

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-backend/src/main/proto/CatalogProtocol.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/proto/CatalogProtocol.proto b/tajo-core/tajo-core-backend/src/main/proto/CatalogProtocol.proto
deleted file mode 100644
index a7866ac..0000000
--- a/tajo-core/tajo-core-backend/src/main/proto/CatalogProtocol.proto
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.catalog";
-option java_outer_classname = "CatalogProtocol";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-
-import "yarn_protos.proto";
-import "tajo_protos.proto";
-import "TajoIdProtos.proto";
-import "CatalogProtos.proto";
-import "PrimitiveProtos.proto";
-
-service CatalogProtocolService {
-  rpc getTableDesc(StringProto) returns (TableDescProto);
-  rpc getAllTableNames(NullProto) returns (GetAllTableNamesResponse);
-  rpc getFunctions(NullProto) returns (GetFunctionsResponse);
-  rpc addTable(TableDescProto) returns (BoolProto);
-  rpc deleteTable(StringProto) returns (BoolProto);
-  rpc existsTable(StringProto) returns (BoolProto);
-  rpc addIndex(IndexDescProto) returns (BoolProto);
-  rpc existIndexByName(StringProto) returns (BoolProto);
-  rpc existIndex(GetIndexRequest) returns (BoolProto);
-  rpc getIndexByName(StringProto) returns (IndexDescProto);
-  rpc getIndex(GetIndexRequest) returns (IndexDescProto);
-  rpc delIndex(StringProto) returns (BoolProto);
-  rpc registerFunction(FunctionDescProto) returns (BoolProto);
-  rpc unregisterFunction(UnregisterFunctionRequest) returns (BoolProto);
-  rpc getFunctionMeta(GetFunctionMetaRequest) returns (FunctionDescProto);
-  rpc containFunction(ContainFunctionRequest) returns (BoolProto);
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-backend/src/main/proto/CatalogProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/proto/CatalogProtos.proto b/tajo-core/tajo-core-backend/src/main/proto/CatalogProtos.proto
deleted file mode 100644
index 6164553..0000000
--- a/tajo-core/tajo-core-backend/src/main/proto/CatalogProtos.proto
+++ /dev/null
@@ -1,211 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.catalog.proto";
-option java_outer_classname = "CatalogProtos";
-option optimize_for = SPEED;
-option java_generic_services = false;
-option java_generate_equals_and_hash = true;
-
-import "DataTypes.proto";
-
-enum StoreType {
-	MEM = 0;
-	CSV = 1;
-	RAW = 2;
-  RCFILE = 3;
-  ROWFILE = 4;
-  HCFILE = 5;
-  TREVNI = 6;
-}
-
-enum OrderType {
-    ORDER_NONE = 0;
-    ASC = 1;
-    DSC = 2;
-}
-
-enum CompressType {
-    COMP_NONE = 0;
-    NULL_SUPPRESS = 1;
-    RUN_LENGTH = 2;
-    BIT_VECTOR = 3;
-    DICTIONARY = 4;
-    SNAPPY = 5;
-    LZ = 6;
-}
-
-message ColumnMetaProto {
-    required DataType dataType = 1;
-    required bool compressed = 2;
-    required bool sorted = 3;
-    required bool contiguous = 4;
-    required StoreType storeType = 5;
-    required CompressType compType = 6;
-    required int64 startRid = 7;
-    required int32 recordNum = 8;
-    required int32 offsetToIndex = 9;
-}
-
-message ColumnProto {
-	required string columnName = 1;
-	required DataType dataType = 2;
-}
-
-message SchemaProto {
-	repeated ColumnProto fields = 1;
-}
-
-message KeyValueProto {
-	required string key = 1;
-	required string value = 2;
-}
-
-message KeyValueSetProto {
-	repeated KeyValueProto keyval = 1;
-}
-
-message FragmentProto {
-	required string id = 1;
-	required string path = 2;
-	required int64 startOffset = 3;
-	required int64 length = 4;
-	required TableProto meta = 5;
-	optional TableStatProto stat = 6;
-  optional bool distCached = 7 [default = false];
-}
-
-message TableProto {
-    required SchemaProto schema = 1;
-    required StoreType storeType = 2;
-    required KeyValueSetProto params = 3;
-    optional TableStatProto stat = 4;
-}
-
-message TableDescProto {
-	required string id = 1;
-	required string path = 2;
-	required TableProto meta = 3;
-}
-
-enum FunctionType {
-	GENERAL = 0;
-	AGGREGATION = 1;
-}
-
-message FunctionDescProto {
-	required string signature = 1;
-	required string className = 2;
-	required FunctionType type = 3;
-	repeated DataType parameterTypes = 4;
-	required DataType returnType = 5;
-}
-
-message IndexDescProto {
-    required string name = 1;
-    required string tableId = 2;
-    required ColumnProto column = 3;
-    required IndexMethod indexMethod = 4;
-    optional bool isUnique = 5 [default = false];
-    optional bool isClustered = 6 [default = false];
-    optional bool isAscending = 7 [default = false];
-}
-
-enum IndexMethod {
-    TWO_LEVEL_BIN_TREE = 0;
-    BTREE = 1;
-    HASH = 2;
-    BITMAP = 3;
-}
-
-message GetAllTableNamesResponse {
-    repeated string tableName = 1;
-}
-
-message GetIndexRequest {
-    required string tableName = 1;
-    required string columnName = 2;
-}
-
-message GetFunctionsResponse {
-	repeated FunctionDescProto functionDesc = 1;
-}
-
-message UnregisterFunctionRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message GetFunctionMetaRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message ContainFunctionRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message TableStatProto {
-	required int64 numRows = 1;
-	required int64 numBytes = 2;
-	optional int32 numBlocks = 3;
-	optional int32 numPartitions = 4;
-	optional int64 avgRows = 5;
-	repeated ColumnStatProto colStat = 6;
-}
-
-message ColumnStatProto {
-    required ColumnProto column = 1;
-    optional int64 numDistVal = 2;
-    optional int64 numNulls = 3;
-    optional bytes minValue = 4;
-    optional bytes maxValue = 5;
-}
-
-enum StatType {
-  TABLE_NUM_ROWS = 0;
-  TABLE_NUM_BLOCKS = 1;
-  TABLE_NUM_PARTITIONS = 2;
-  TABLE_AVG_ROWS = 3;
-  TABLE_NUM_BYTES = 4;
-
-  COLUMN_NUM_NDV = 4;
-  COLUMN_NUM_NULLS = 5;
-}
-
-message StatSetProto {
-  repeated StatProto stats = 1;
-}
-
-message StatProto {
-  required StatType type = 1;
-  required int64 value = 2;
-}
-
-message ServerNameProto {
-  required string serverName = 1;
-  required string hostName = 2;
-  required int32 port = 3;
-}
-
-message SortSpecProto {
-  required int32 sortColumnId = 1;
-  optional bool ascending = 2 [default = true];
-  optional bool nullFirst = 3 [default = false];
-}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-backend/src/main/proto/DataTypes.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/proto/DataTypes.proto b/tajo-core/tajo-core-backend/src/main/proto/DataTypes.proto
deleted file mode 100644
index 3dbf6fa..0000000
--- a/tajo-core/tajo-core-backend/src/main/proto/DataTypes.proto
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.common";
-option java_outer_classname = "TajoDataTypes";
-option optimize_for = SPEED;
-option java_generic_services = false;
-option java_generate_equals_and_hash = true;
-
-enum Type {
-  // SQL Standard Data Type
-  BOOLEAN = 0; // state of true of false [1 byte]
-
-  INT1 = 1; // tinyint [1 byte] [0-255]
-  INT2 = 2; // smallint [2 bytes] [-2^15(-32,768) ~ 2^15-1(32,767)]
-  INT4 = 3; // int [4 bytes] [-2^31(-2,147,483,648) ~ 2^31-1(2,147,483,647)]
-  INT8 = 4; // bigint [8 bytes] [-2^63(-9,223,372,036,854,775,808) ~ 2^63-1(9,223,372,036,854,775,807)]
-
-  FLOAT4 = 10; // variable-precision, inexact [4 bytes]
-  FLOAT8 = 11; // variable-precision, inexact [8 bytes]
-
-  NUMERIC = 15; // variable length
-  DECIMAL = 16; // variable length
-
-  CHAR = 20; // fixed-width n-character string
-  NCHAR = 21; // fixed width string supporting an international character set
-  VARCHAR = 22; // variable-width string
-  NVARCHAR = 23; // variable-width NCHAR string
-  TEXT = 24; // variable unlimited length
-
-  DATE = 30;
-  TIME = 31;
-  TIMEZ = 32;
-  TIMESTAMP = 33;
-  TIMESTAMPZ = 34;
-  INTERVAL = 35;
-
-  BIT = 40; // fixed-width bits. BIT without the length L means a single bit. It can be used for boolean type.
-  VARBIT = 41; // variable-width bits
-
-  BINARY = 45; // fixed-width binary strings. BINARY without the length L means a single byte.
-  VARBINARY = 46; // variable-width binary strings
-  BLOB = 47;
-
-  UDT = 51; // user-defined function
-
-  ANY = 61;
-  ARRAY = 62;
-  INET4 = 100;
-  INET6 = 101;
-
-  // Extended Data Type (Reserved 128 ~ 255)
-}
-
-message DataType {
-  required Type type = 1;
-  optional int32 length = 2;
-  optional string code = 3;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-backend/src/main/proto/PrimitiveProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/proto/PrimitiveProtos.proto b/tajo-core/tajo-core-backend/src/main/proto/PrimitiveProtos.proto
deleted file mode 100644
index e722190..0000000
--- a/tajo-core/tajo-core-backend/src/main/proto/PrimitiveProtos.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.rpc.protocolrecords";
-option java_outer_classname = "PrimitiveProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-
-message StringProto {
-	required string value = 1;
-}
-
-message IntProto {
-	required int32 value = 1;
-}
-
-message LongProto {
-	required int64 value = 1;
-}
-
-message BoolProto {
-	required bool value = 1;
-}
-
-message NullProto {
-}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-backend/src/main/proto/Security.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/proto/Security.proto b/tajo-core/tajo-core-backend/src/main/proto/Security.proto
deleted file mode 100644
index 961ee9d..0000000
--- a/tajo-core/tajo-core-backend/src/main/proto/Security.proto
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.hadoop.security.proto";
-option java_outer_classname = "SecurityProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-package hadoop.common;
-
-/**
- * Security token identifier
- */
-message TokenProto {
-  required bytes identifier = 1;
-  required bytes password = 2;
-  required string kind = 3;
-  required string service = 4;
-}
-
-message GetDelegationTokenRequestProto {
-  required string renewer = 1;
-}
-
-message GetDelegationTokenResponseProto {
-  optional hadoop.common.TokenProto token = 1;
-}
-
-message RenewDelegationTokenRequestProto {
-  required hadoop.common.TokenProto token = 1;
-}
-
-message RenewDelegationTokenResponseProto {
-  required uint64 newExpiryTime = 1;
-}
-
-message CancelDelegationTokenRequestProto {
-  required hadoop.common.TokenProto token = 1;
-}
-
-message CancelDelegationTokenResponseProto { // void response
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-backend/src/main/proto/TajoIdProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/proto/TajoIdProtos.proto b/tajo-core/tajo-core-backend/src/main/proto/TajoIdProtos.proto
deleted file mode 100644
index a87c825..0000000
--- a/tajo-core/tajo-core-backend/src/main/proto/TajoIdProtos.proto
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo";
-option java_outer_classname = "TajoIdProtos";
-option java_generic_services = false;
-option java_generate_equals_and_hash = true;
-
-message QueryIdProto {
-    required string id = 1;
-    required int32 seq = 2;
-}
-
-message ExecutionBlockIdProto {
-    required QueryIdProto queryId = 1;
-    required int32 id = 2;
-}
-
-message QueryUnitIdProto {
-    required ExecutionBlockIdProto executionBlockId = 1;
-    required int32 id = 2;
-}
-
-message QueryUnitAttemptIdProto {
-  required QueryUnitIdProto queryUnitId = 1;
-  required int32 id = 2;
-}
-
-message SessionIdProto {
-  required string sid = 1;
-}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-backend/src/main/proto/yarn_protos.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-backend/src/main/proto/yarn_protos.proto b/tajo-core/tajo-core-backend/src/main/proto/yarn_protos.proto
deleted file mode 100644
index 3fe519f..0000000
--- a/tajo-core/tajo-core-backend/src/main/proto/yarn_protos.proto
+++ /dev/null
@@ -1,332 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.hadoop.yarn.proto";
-option java_outer_classname = "YarnProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-
-import "Security.proto";
-
-message YarnRemoteExceptionProto {
-  optional string message = 1;
-  optional string trace = 2;
-  optional string class_name = 3;
-  optional YarnRemoteExceptionProto cause = 4;
-}
-
-message ApplicationIdProto {
-  optional int32 id = 1;
-  optional int64 cluster_timestamp = 2;
-}
-
-message ApplicationAttemptIdProto {
-  optional ApplicationIdProto application_id = 1;
-  optional int32 attemptId = 2;
-}
-
-message ContainerIdProto {
-  optional ApplicationIdProto app_id = 1;
-  optional ApplicationAttemptIdProto app_attempt_id = 2;
-  optional int32 id = 3;
-}
-
-message ResourceProto {
-  optional int32 memory = 1;
-  optional int32 virtual_cores = 2;
-}
-
-message PriorityProto {
-  optional int32 priority = 1;
-}
-
-enum ContainerStateProto {
-  C_NEW = 1;
-  C_RUNNING = 2;
-  C_COMPLETE = 3;
-}
-
-message ContainerProto {
-  optional ContainerIdProto id = 1;
-  optional NodeIdProto nodeId = 2;
-  optional string node_http_address = 3;
-  optional ResourceProto resource = 4;
-  optional PriorityProto priority = 5;
-  optional ContainerStateProto state = 6;
-  optional hadoop.common.TokenProto container_token = 7;
-  optional ContainerStatusProto container_status = 8;
-}
-
-enum YarnApplicationStateProto {
-  NEW = 1;
-  SUBMITTED = 2;
-  RUNNING = 3;
-  FINISHED = 4;
-  FAILED = 5;
-  KILLED = 6;
-  ACCEPTED = 7;
-}
-
-enum FinalApplicationStatusProto {
-  APP_UNDEFINED = 0;
-  APP_SUCCEEDED = 1;
-  APP_FAILED = 2;
-  APP_KILLED = 3;
-}
-
-message ApplicationStatusProto {
-  optional int32 response_id = 1;
-  optional ApplicationAttemptIdProto application_attempt_id = 2;
-  optional float progress = 3;
-}
-
-message ApplicationMasterProto {
-  optional ApplicationIdProto application_id = 1;
-  optional string host = 2;
-  optional int32 rpc_port = 3;
-  optional string trackingUrl = 4;
-  optional ApplicationStatusProto status = 5;
-  optional YarnApplicationStateProto state = 6;
-  optional hadoop.common.TokenProto client_token = 7;
-  optional int32 containerCount = 8;
-  optional int32 amFailCount = 9;
-  optional string diagnostics = 10 [default = ""];
-}
-
-message URLProto {
-  optional string scheme = 1;
-  optional string host = 2;
-  optional int32 port = 3;
-  optional string file = 4;
-}
-
-enum LocalResourceVisibilityProto {
-  PUBLIC = 1;
-  PRIVATE = 2;
-  APPLICATION = 3;
-}
-
-enum LocalResourceTypeProto {
-  ARCHIVE = 1;
-  FILE = 2;
-  PATTERN = 3;
-}
-
-message LocalResourceProto {
-  optional URLProto resource = 1;
-  optional int64 size = 2;
-  optional int64 timestamp = 3;
-  optional LocalResourceTypeProto type = 4;
-  optional LocalResourceVisibilityProto visibility = 5;
-  optional string pattern = 6;
-}
-
-message ApplicationResourceUsageReportProto {
-  optional int32 num_used_containers = 1;
-  optional int32 num_reserved_containers = 2;
-  optional ResourceProto used_resources = 3;
-  optional ResourceProto reserved_resources = 4;
-  optional ResourceProto needed_resources = 5;
-}
-
-message ApplicationReportProto {
-  optional ApplicationIdProto applicationId = 1;
-  optional string user = 2;
-  optional string queue = 3;
-  optional string name = 4;
-  optional string host = 5;
-  optional int32 rpc_port = 6;
-  optional hadoop.common.TokenProto client_token = 7;
-  optional ApplicationStatusProto status = 8;
-  optional YarnApplicationStateProto yarn_application_state = 9;
-  optional ContainerProto masterContainer = 10;
-  optional string trackingUrl = 11;
-  optional string diagnostics = 12 [default = "N/A"];
-  optional int64 startTime = 13;
-  optional int64 finishTime = 14;
-  optional FinalApplicationStatusProto final_application_status = 15;
-  optional ApplicationResourceUsageReportProto app_resource_Usage = 16;
-  optional string originalTrackingUrl = 17;
-  optional ApplicationAttemptIdProto currentApplicationAttemptId = 18;
-}
-
-enum NodeStateProto {
-  NS_NEW = 1; 
-  NS_RUNNING = 2; 
-  NS_UNHEALTHY = 3;
-  NS_DECOMMISSIONED = 4; 
-  NS_LOST = 5;
-  NS_REBOOTED = 6;
-}
-
-message NodeIdProto {
-  optional string host = 1;
-  optional int32 port = 2;
-}
-
-message NodeHealthStatusProto {
-  optional bool is_node_healthy = 1;
-  optional string health_report = 2;
-  optional int64 last_health_report_time = 3;
-}
-
-message NodeReportProto {
-  optional NodeIdProto nodeId = 1;
-  optional string httpAddress = 2;
-  optional string rackName = 3;
-  optional ResourceProto used = 4;
-  optional ResourceProto capability = 5;
-  optional int32 numContainers = 6;
-  optional NodeHealthStatusProto node_health_status = 8;
-  optional NodeStateProto node_state = 9;
-}
-
-
-////////////////////////////////////////////////////////////////////////
-////// From AM_RM_Protocol /////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-message ResourceRequestProto {
-  optional PriorityProto priority = 1;
-  optional string host_name = 2;
-  optional ResourceProto capability = 3;
-  optional int32 num_containers = 4;
-}
-
-message AMResponseProto {
-  optional bool reboot = 1;
-  optional int32 response_id = 2;
-  repeated ContainerProto allocated_containers = 3;
-  repeated ContainerStatusProto completed_container_statuses = 4;
-  optional ResourceProto limit = 5;
-  repeated NodeReportProto updated_nodes = 6;
-}
-
-
-////////////////////////////////////////////////////////////////////////
-////// From client_RM_Protocol /////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-message ApplicationSubmissionContextProto {
-  optional ApplicationIdProto application_id = 1;
-  optional string application_name = 2 [default = "N/A"];
-  optional string user = 3;
-  optional string queue = 4 [default = "default"];
-  optional PriorityProto priority = 5;
-  optional ContainerLaunchContextProto am_container_spec = 6;
-  optional bool cancel_tokens_when_complete = 7 [default = true];
-  optional bool unmanaged_am = 8 [default = false];
-}
-
-enum ApplicationAccessTypeProto {
-  APPACCESS_VIEW_APP = 1;
-  APPACCESS_MODIFY_APP = 2;
-}
-
-message ApplicationACLMapProto {
-  optional ApplicationAccessTypeProto accessType = 1;
-  optional string acl = 2 [default = " "];
-}
-
-message YarnClusterMetricsProto {
-  optional int32 num_node_managers = 1;
-}
-
-enum QueueStateProto {
-  Q_STOPPED = 1;
-  Q_RUNNING = 2;
-}
-
-message QueueInfoProto {
-  optional string queueName = 1;
-  optional float capacity = 2;
-  optional float maximumCapacity = 3;
-  optional float currentCapacity = 4;
-  optional QueueStateProto state = 5;
-  repeated QueueInfoProto childQueues = 6;
-  repeated ApplicationReportProto applications = 7;
-}
-
-enum QueueACLProto {
-  QACL_SUBMIT_APPLICATIONS = 1;
-  QACL_ADMINISTER_QUEUE = 2;
-}
-
-message QueueUserACLInfoProto {
-  optional string queueName = 1;
-  repeated QueueACLProto userAcls = 2;
-}
-
-////////////////////////////////////////////////////////////////////////
-////// From container_manager //////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-
-message ContainerLaunchContextProto {
-  optional ContainerIdProto container_id = 1;
-  optional string user = 2;
-  optional ResourceProto resource = 3;
-  repeated StringLocalResourceMapProto localResources = 4;
-  optional bytes container_tokens = 5;
-  repeated StringBytesMapProto service_data = 6;
-  repeated StringStringMapProto environment = 7;
-  repeated string command = 8;
-  repeated ApplicationACLMapProto application_ACLs = 9;
-}
-
-message ContainerStatusProto {
-  optional ContainerIdProto container_id = 1;
-  optional ContainerStateProto state = 2;
-  optional string diagnostics = 3 [default = "N/A"];
-  optional int32 exit_status = 4 [default = -1000];
-}
-
-
-
-////////////////////////////////////////////////////////////////////////
-////// From common//////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-message StringURLMapProto {
-  optional string key = 1;
-  optional URLProto value = 2;
-}
-
-message StringLocalResourceMapProto {
-  optional string key = 1;
-  optional LocalResourceProto value = 2;
-}
-
-message StringStringMapProto {
-  optional string key = 1;
-  optional string value = 2;
-}
-
-message StringBytesMapProto {
-  optional string key = 1;
-  optional bytes value = 2;
-}
-
-////////////////////////////////////////////////////////////////////////
-////// From recovery////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-message ApplicationStateDataProto {
-  optional int64 submit_time = 1;
-  optional ApplicationSubmissionContextProto application_submission_context = 2;
-}
-
-message ApplicationAttemptStateDataProto {
-  optional ApplicationAttemptIdProto attemptId = 1;
-  optional ContainerProto master_container = 2;
-}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-storage/pom.xml
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-storage/pom.xml b/tajo-core/tajo-core-storage/pom.xml
index 0c503d6..16ccb60 100644
--- a/tajo-core/tajo-core-storage/pom.xml
+++ b/tajo-core/tajo-core-storage/pom.xml
@@ -97,8 +97,9 @@
               <executable>protoc</executable>
               <arguments>
                 <argument>-Isrc/main/proto/</argument>
+                <argument>--proto_path=../../tajo-common/src/main/proto</argument>
+                <argument>--proto_path=../../tajo-catalog/tajo-catalog-common/src/main/proto</argument>
                 <argument>--java_out=target/generated-sources/proto</argument>
-                <argument>src/main/proto/CatalogProtos.proto</argument>
                 <argument>src/main/proto/IndexProtos.proto</argument>
               </arguments>
             </configuration>

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-storage/src/main/proto/CatalogProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-storage/src/main/proto/CatalogProtos.proto b/tajo-core/tajo-core-storage/src/main/proto/CatalogProtos.proto
deleted file mode 100644
index 6164553..0000000
--- a/tajo-core/tajo-core-storage/src/main/proto/CatalogProtos.proto
+++ /dev/null
@@ -1,211 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.catalog.proto";
-option java_outer_classname = "CatalogProtos";
-option optimize_for = SPEED;
-option java_generic_services = false;
-option java_generate_equals_and_hash = true;
-
-import "DataTypes.proto";
-
-enum StoreType {
-	MEM = 0;
-	CSV = 1;
-	RAW = 2;
-  RCFILE = 3;
-  ROWFILE = 4;
-  HCFILE = 5;
-  TREVNI = 6;
-}
-
-enum OrderType {
-    ORDER_NONE = 0;
-    ASC = 1;
-    DSC = 2;
-}
-
-enum CompressType {
-    COMP_NONE = 0;
-    NULL_SUPPRESS = 1;
-    RUN_LENGTH = 2;
-    BIT_VECTOR = 3;
-    DICTIONARY = 4;
-    SNAPPY = 5;
-    LZ = 6;
-}
-
-message ColumnMetaProto {
-    required DataType dataType = 1;
-    required bool compressed = 2;
-    required bool sorted = 3;
-    required bool contiguous = 4;
-    required StoreType storeType = 5;
-    required CompressType compType = 6;
-    required int64 startRid = 7;
-    required int32 recordNum = 8;
-    required int32 offsetToIndex = 9;
-}
-
-message ColumnProto {
-	required string columnName = 1;
-	required DataType dataType = 2;
-}
-
-message SchemaProto {
-	repeated ColumnProto fields = 1;
-}
-
-message KeyValueProto {
-	required string key = 1;
-	required string value = 2;
-}
-
-message KeyValueSetProto {
-	repeated KeyValueProto keyval = 1;
-}
-
-message FragmentProto {
-	required string id = 1;
-	required string path = 2;
-	required int64 startOffset = 3;
-	required int64 length = 4;
-	required TableProto meta = 5;
-	optional TableStatProto stat = 6;
-  optional bool distCached = 7 [default = false];
-}
-
-message TableProto {
-    required SchemaProto schema = 1;
-    required StoreType storeType = 2;
-    required KeyValueSetProto params = 3;
-    optional TableStatProto stat = 4;
-}
-
-message TableDescProto {
-	required string id = 1;
-	required string path = 2;
-	required TableProto meta = 3;
-}
-
-enum FunctionType {
-	GENERAL = 0;
-	AGGREGATION = 1;
-}
-
-message FunctionDescProto {
-	required string signature = 1;
-	required string className = 2;
-	required FunctionType type = 3;
-	repeated DataType parameterTypes = 4;
-	required DataType returnType = 5;
-}
-
-message IndexDescProto {
-    required string name = 1;
-    required string tableId = 2;
-    required ColumnProto column = 3;
-    required IndexMethod indexMethod = 4;
-    optional bool isUnique = 5 [default = false];
-    optional bool isClustered = 6 [default = false];
-    optional bool isAscending = 7 [default = false];
-}
-
-enum IndexMethod {
-    TWO_LEVEL_BIN_TREE = 0;
-    BTREE = 1;
-    HASH = 2;
-    BITMAP = 3;
-}
-
-message GetAllTableNamesResponse {
-    repeated string tableName = 1;
-}
-
-message GetIndexRequest {
-    required string tableName = 1;
-    required string columnName = 2;
-}
-
-message GetFunctionsResponse {
-	repeated FunctionDescProto functionDesc = 1;
-}
-
-message UnregisterFunctionRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message GetFunctionMetaRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message ContainFunctionRequest {
-	required string signature = 1;
-	repeated DataType parameterTypes = 2;
-}
-
-message TableStatProto {
-	required int64 numRows = 1;
-	required int64 numBytes = 2;
-	optional int32 numBlocks = 3;
-	optional int32 numPartitions = 4;
-	optional int64 avgRows = 5;
-	repeated ColumnStatProto colStat = 6;
-}
-
-message ColumnStatProto {
-    required ColumnProto column = 1;
-    optional int64 numDistVal = 2;
-    optional int64 numNulls = 3;
-    optional bytes minValue = 4;
-    optional bytes maxValue = 5;
-}
-
-enum StatType {
-  TABLE_NUM_ROWS = 0;
-  TABLE_NUM_BLOCKS = 1;
-  TABLE_NUM_PARTITIONS = 2;
-  TABLE_AVG_ROWS = 3;
-  TABLE_NUM_BYTES = 4;
-
-  COLUMN_NUM_NDV = 4;
-  COLUMN_NUM_NULLS = 5;
-}
-
-message StatSetProto {
-  repeated StatProto stats = 1;
-}
-
-message StatProto {
-  required StatType type = 1;
-  required int64 value = 2;
-}
-
-message ServerNameProto {
-  required string serverName = 1;
-  required string hostName = 2;
-  required int32 port = 3;
-}
-
-message SortSpecProto {
-  required int32 sortColumnId = 1;
-  optional bool ascending = 2 [default = true];
-  optional bool nullFirst = 3 [default = false];
-}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-storage/src/main/proto/DataTypes.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-storage/src/main/proto/DataTypes.proto b/tajo-core/tajo-core-storage/src/main/proto/DataTypes.proto
deleted file mode 100644
index 5fef1ad..0000000
--- a/tajo-core/tajo-core-storage/src/main/proto/DataTypes.proto
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.common";
-option java_outer_classname = "TajoDataTypes";
-option optimize_for = SPEED;
-option java_generic_services = false;
-option java_generate_equals_and_hash = true;
-
-enum Type {
-  // SQL Standard Data Type
-  BOOLEAN = 0; // state of true of false [1 byte]
-
-  INT1 = 1; // tinyint [1 byte] [0-255]
-  INT2 = 2; // smallint [2 bytes] [-2^15(-32,768) ~ 2^15-1(32,767)]
-  INT4 = 3; // int [4 bytes] [-2^31(-2,147,483,648) ~ 2^31-1(2,147,483,647)]
-  INT8 = 4; // bigint [8 bytes] [-2^63(-9,223,372,036,854,775,808) ~ 2^63-1(9,223,372,036,854,775,807)]
-
-  FLOAT4 = 10; // variable-precision, inexact [4 bytes]
-  FLOAT8 = 11; // variable-precision, inexact [8 bytes]
-
-  NUMERIC = 15; // variable length
-  DECIMAL = 16; // variable length  
-
-  CHAR = 20; // fixed-width n-character string
-  NCHAR = 21; // fixed width string supporting an international character set
-  VARCHAR = 22; // variable-width string
-  NVARCHAR = 23; // variable-width NCHAR string
-  TEXT = 24; // variable unlimited length
-
-  DATE = 30;
-  TIME = 31;
-  TIMEZ = 32;
-  TIMESTAMP = 33;
-  TIMESTAMPZ = 34;
-  INTERVAL = 35;
-
-  BIT = 40; // fixed-width bits. BIT without the length L means a single bit. It can be used for boolean type.
-  VARBIT = 41; // variable-width bits
-
-  BINARY = 45; // fixed-width binary strings. BINARY without the length L means a single byte.
-  VARBINARY = 46; // variable-width binary strings
-  BLOB = 47;
-
-  UDT = 51; // user-defined function
-
-  ANY = 61;
-  ARRAY = 62;
-  INET4 = 100;
-  INET6 = 101;
-
-  // Extended Data Type (Reserved 128 ~ 255)
-}
-
-message DataType {
-  required Type type = 1;
-  optional int32 length = 2;
-  optional string code = 3;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-core/tajo-core-storage/src/main/proto/PrimitiveProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-core/tajo-core-storage/src/main/proto/PrimitiveProtos.proto b/tajo-core/tajo-core-storage/src/main/proto/PrimitiveProtos.proto
deleted file mode 100644
index e722190..0000000
--- a/tajo-core/tajo-core-storage/src/main/proto/PrimitiveProtos.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.rpc.protocolrecords";
-option java_outer_classname = "PrimitiveProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-
-message StringProto {
-	required string value = 1;
-}
-
-message IntProto {
-	required int32 value = 1;
-}
-
-message LongProto {
-	required int64 value = 1;
-}
-
-message BoolProto {
-	required bool value = 1;
-}
-
-message NullProto {
-}

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-rpc/pom.xml
----------------------------------------------------------------------
diff --git a/tajo-rpc/pom.xml b/tajo-rpc/pom.xml
index 4f8cada..4957bc4 100644
--- a/tajo-rpc/pom.xml
+++ b/tajo-rpc/pom.xml
@@ -86,7 +86,6 @@
                 <argument>src/main/proto/ProtoParamRpcProtos.proto</argument>
                 <argument>src/main/proto/ProtoParamRpcProtocol.proto</argument>
                 <argument>src/main/proto/DummyProtos.proto</argument>
-                <argument>src/main/proto/PrimitiveProtos.proto</argument>
                 <argument>src/main/proto/RpcProtos.proto</argument>
                 <argument>src/main/proto/TestProtos.proto</argument>
                 <argument>src/main/proto/TestProtocol.proto</argument>
@@ -127,6 +126,12 @@
 
   <dependencies>
     <dependency>
+      <groupId>org.apache.tajo</groupId>
+      <artifactId>tajo-common</artifactId>
+      <type>jar</type>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-rpc/src/main/java/org/apache/tajo/rpc/benchmark/BenchmarkAsyncRPC.java
----------------------------------------------------------------------
diff --git a/tajo-rpc/src/main/java/org/apache/tajo/rpc/benchmark/BenchmarkAsyncRPC.java b/tajo-rpc/src/main/java/org/apache/tajo/rpc/benchmark/BenchmarkAsyncRPC.java
index d61d242..f38ab9d 100644
--- a/tajo-rpc/src/main/java/org/apache/tajo/rpc/benchmark/BenchmarkAsyncRPC.java
+++ b/tajo-rpc/src/main/java/org/apache/tajo/rpc/benchmark/BenchmarkAsyncRPC.java
@@ -22,10 +22,11 @@ import org.apache.tajo.rpc.Callback;
 import org.apache.tajo.rpc.NettyRpc;
 import org.apache.tajo.rpc.NettyRpcServer;
 import org.apache.tajo.rpc.RemoteException;
-import org.apache.tajo.rpc.protocolrecords.PrimitiveProtos.StringProto;
 
 import java.net.InetSocketAddress;
 
+import static org.apache.tajo.rpc.protocolrecords.PrimitiveProtos.StringProto;
+
 public class BenchmarkAsyncRPC {
 
   public static class ClientWrapper extends Thread {

http://git-wip-us.apache.org/repos/asf/incubator-tajo/blob/20562116/tajo-rpc/src/main/proto/PrimitiveProtos.proto
----------------------------------------------------------------------
diff --git a/tajo-rpc/src/main/proto/PrimitiveProtos.proto b/tajo-rpc/src/main/proto/PrimitiveProtos.proto
deleted file mode 100644
index 01c39f7..0000000
--- a/tajo-rpc/src/main/proto/PrimitiveProtos.proto
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2012 Database Lab., Korea Univ.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-option java_package = "org.apache.tajo.rpc.protocolrecords";
-option java_outer_classname = "PrimitiveProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-
-message StringProto {
-	required string value = 1;
-}
-
-message IntProto {
-	required int32 value = 1;
-}
-
-message LongProto {
-	required int64 value = 1;
-}
-
-message BoolProto {
-	required bool value = 1;
-}
-
-message NullProto {
-}