You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by jd...@apache.org on 2016/04/16 17:00:20 UTC
[1/2] incubator-kudu git commit: KUDU-1312: scan token protobuf
message format
Repository: incubator-kudu
Updated Branches:
refs/heads/master 8a3e461f8 -> 22160e33c
KUDU-1312: scan token protobuf message format
Adds a protobuf message format for scan tokens, so that clients from different
platforms have a shared serialization format. Integrating scan tokens into the
Java and C++ clients is left to a follow-up commit.
Change-Id: I09983d71c81a383cf4e0e24a49367c64960bbd4d
Reviewed-on: http://gerrit.cloudera.org:8080/2622
Reviewed-by: Adar Dembo <ad...@cloudera.com>
Tested-by: Kudu Jenkins
Reviewed-by: Jean-Daniel Cryans
Project: http://git-wip-us.apache.org/repos/asf/incubator-kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kudu/commit/2d3b6436
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kudu/tree/2d3b6436
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kudu/diff/2d3b6436
Branch: refs/heads/master
Commit: 2d3b64365d4ab27ac603b4e4c7722fc1d737ac3a
Parents: 8a3e461
Author: Dan Burkert <da...@cloudera.com>
Authored: Thu Mar 24 15:18:46 2016 -0700
Committer: Jean-Daniel Cryans <jd...@gerrit.cloudera.org>
Committed: Fri Apr 15 03:15:17 2016 +0000
----------------------------------------------------------------------
src/kudu/client/CMakeLists.txt | 21 +++++++--
src/kudu/client/client.proto | 93 +++++++++++++++++++++++++++++++++++++
2 files changed, 110 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/2d3b6436/src/kudu/client/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/client/CMakeLists.txt b/src/kudu/client/CMakeLists.txt
index 48625b2..8716622 100644
--- a/src/kudu/client/CMakeLists.txt
+++ b/src/kudu/client/CMakeLists.txt
@@ -15,6 +15,18 @@
# specific language governing permissions and limitations
# under the License.
+PROTOBUF_GENERATE_CPP(
+ CLIENT_PROTO_SRCS CLIENT_PROTO_HDRS CLIENT_PROTO_TGTS
+ SOURCE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..
+ BINARY_ROOT ${CMAKE_CURRENT_BINARY_DIR}/../..
+ PROTO_FILES client.proto)
+set(CLIENT_PROTO_LIBS
+ kudu_common_proto)
+ADD_EXPORTABLE_LIBRARY(client_proto
+ SRCS ${CLIENT_PROTO_SRCS}
+ DEPS ${CLIENT_PROTO_LIBS}
+ NONLINK_DEPS ${CLIENT_PROTO_TGTS})
+
set(CLIENT_SRCS
batcher.cc
client.cc
@@ -38,14 +50,15 @@ set(CLIENT_SRCS
)
set(CLIENT_LIBS
+ client_proto
+ gutil
+ krpc
kudu_common
+ kudu_util
master_proto
master_rpc
tserver_proto
- tserver_service_proto
- kudu_util
- gutil
- krpc)
+ tserver_service_proto)
# Make sure we exclude tcmalloc from the exported library; we want the library
# code to use the linking application's malloc implementation.
http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/2d3b6436/src/kudu/client/client.proto
----------------------------------------------------------------------
diff --git a/src/kudu/client/client.proto b/src/kudu/client/client.proto
new file mode 100644
index 0000000..8a2bdd0
--- /dev/null
+++ b/src/kudu/client/client.proto
@@ -0,0 +1,93 @@
+// 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.
+
+// Protobufs which are specific to client implementations.
+
+package kudu.client;
+
+option java_package = "org.kududb.client";
+
+import "kudu/common/common.proto";
+
+// Serialization format for client scan tokens. Scan tokens are serializable
+// scan descriptors that are used by query engines to plan a set of parallizable
+// scanners that are executed on remote task runners. The scan token protobuf
+// format includes all of the information necessary to recreate a scanner in the
+// remote task.
+message ScanTokenPB {
+
+ // Features used by the scan token message. Every time the ScanTokenPB message
+ // is updated with a new feature, the feature should be added to this enum, so
+ // that clients that lack the feature can recognize when they receive a token
+ // that uses unknown features.
+ enum Feature {
+ Unknown = 0;
+ }
+
+ // The feature set used by this scan token.
+ repeated Feature feature_flags = 1;
+
+ // The table to scan.
+ optional string table_name = 2;
+
+ // Which columns to select.
+ // if this is an empty list, no data will be returned, but the num_rows
+ // field of the returned RowBlock will indicate how many rows passed
+ // the predicates. Note that in some cases, the scan may still require
+ // multiple round-trips, and the caller must aggregate the counts.
+ repeated ColumnSchemaPB projected_columns = 3;
+
+ // Any column predicates to enforce.
+ repeated ColumnPredicatePB column_predicates = 4;
+
+ // Encoded primary key to begin scanning at (inclusive).
+ optional bytes lower_bound_primary_key = 5;
+
+ // Encoded primary key to stop scanning at (exclusive).
+ optional bytes upper_bound_primary_key = 6;
+
+ // Encoded partition key to begin scanning at (inclusive).
+ optional bytes lower_bound_partition_key = 7;
+
+ // Encoded partition key to stop scanning at (exclusive).
+ optional bytes upper_bound_partition_key = 8;
+
+ // The maximum number of rows to scan.
+ // The scanner will automatically stop yielding results and close
+ // itself after reaching this number of result rows.
+ optional uint64 limit = 9;
+
+ // The read mode for this scan request.
+ // See common.proto for further information about read modes.
+ optional ReadMode read_mode = 10 [default = READ_LATEST];
+
+ // The requested snapshot timestamp. This is only used
+ // when the read mode is set to READ_AT_SNAPSHOT.
+ optional fixed64 snap_timestamp = 11;
+
+ // Sent by clients which previously executed CLIENT_PROPAGATED writes.
+ // This updates the server's time so that no transaction will be assigned
+ // a timestamp lower than or equal to 'previous_known_timestamp'
+ optional fixed64 propagated_timestamp = 12;
+
+ // Whether data blocks will be cached when read from the files or discarded after use.
+ // Disable this to lower cache churn when doing large scans.
+ optional bool cache_blocks = 13 [default = true];
+
+ // Whether the scan should be fault tolerant.
+ optional bool fault_tolerant = 14 [default = false];
+}
[2/2] incubator-kudu git commit: Add RHEL package locations to the
download table and add locations where the .repo or .list file should be
saved
Posted by jd...@apache.org.
Add RHEL package locations to the download table
and add locations where the .repo or .list file should be saved
Change-Id: Ib49a6c6b938cf7b9e979ca48f2dc82f796409735
Reviewed-on: http://gerrit.cloudera.org:8080/2801
Tested-by: Kudu Jenkins
Reviewed-by: Jean-Daniel Cryans
Project: http://git-wip-us.apache.org/repos/asf/incubator-kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kudu/commit/22160e33
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kudu/tree/22160e33
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kudu/diff/22160e33
Branch: refs/heads/master
Commit: 22160e33cdb62de9342c1208fc7d03f681623055
Parents: 2d3b643
Author: Misty Stanley-Jones <mi...@apache.org>
Authored: Fri Apr 15 15:09:50 2016 -0700
Committer: Jean-Daniel Cryans <jd...@gerrit.cloudera.org>
Committed: Sat Apr 16 14:47:31 2016 +0000
----------------------------------------------------------------------
docs/installation.adoc | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/22160e33/docs/installation.adoc
----------------------------------------------------------------------
diff --git a/docs/installation.adoc b/docs/installation.adoc
index 4d47bfa..1738a7a 100644
--- a/docs/installation.adoc
+++ b/docs/installation.adoc
@@ -76,7 +76,10 @@ You can install Kudu using packages managed by the operating system.
[cols=">s,<,<",options="header"]
|===
| OS | Repository | Individual Packages
-| RHEL | link:http://archive.cloudera.com/beta/kudu/redhat/6/x86_64/kudu/cloudera-kudu.repo[RHEL 6] | link:http://archive.cloudera.com/beta/kudu/redhat/6/x86_64/kudu/0.5.0/RPMS/x86_64/[RHEL 6]
+| RHEL | link:http://archive.cloudera.com/beta/kudu/redhat/6/x86_64/kudu/cloudera-kudu.repo[RHEL 6],
+ link:http://archive.cloudera.com/beta/kudu/redhat/7/x86_64/kudu/cloudera-kudu.repo[RHEL 7] |
+ link:http://archive.cloudera.com/beta/kudu/redhat/6/x86_64/kudu/0.8.0/RPMS/x86_64/[RHEL 6],
+ link:http://archive.cloudera.com/beta/kudu/redhat/7/x86_64/kudu/0.8.0/RPMS/x86_64/[RHEL 7]
| Ubuntu | link:http://archive.cloudera.com/beta/kudu/ubuntu/trusty/amd64/kudu/cloudera.list[Trusty] | http://archive.cloudera.com/beta/kudu/ubuntu/trusty/amd64/kudu/pool/contrib/k/kudu/[Trusty]
|===
@@ -87,10 +90,10 @@ NOTE: packages are not yet provided for SLES.
=== Install On RHEL Hosts
. Download and configure the Kudu repositories for your operating system, or manually
-download individual RPMs, the appropriate link from <<kudu_package_locations>>.
+download individual RPMs, using the appropriate link from <<kudu_package_locations>>.
. If using a Yum repository, use the following commands to install Kudu packages on
-each host.
+each host, after saving the `cloudera-kudu.repo` file to `/etc/yum.repos.d/`.
+
----
sudo yum install kudu # Base Kudu files
@@ -108,7 +111,7 @@ provide the operating system commands to start and stop Kudu.
=== Install On Ubuntu or Debian Hosts
. If using an Ubuntu or Debian repository, use the following commands to install Kudu
-packages on each host.
+packages on each host after saving the `cloudera.list` file to `/etc/apt/sources.list.d/`.
+
----
sudo apt-get install kudu # Base Kudu files