Skip to content

Instantly share code, notes, and snippets.

View danburkert's full-sized avatar

Dan Burkert danburkert

View GitHub Profile
#!/bin/bash
set -ex
# Build Dependencies:
sudo yum install -y \
autoconf \
automake \
boost-static \
curl \
@danburkert
danburkert / kudu-partition-pruning.md
Last active February 12, 2016 21:42
Kudu Partition Pruning Design
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java b/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java
index 59ecf3b..90ab654 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/TabletClient.java
@@ -652,6 +652,7 @@ public class TabletClient extends ReplayingDecoder<VoidEnum> {
@Override
public void channelConnected(final ChannelHandlerContext ctx,
final ChannelStateEvent e) {
+ LOG.warn("{} Connected. ctx: {}, e: {}", this, ctx, e);
final Channel chan = e.getChannel();
CREATE TABLE t (
a STRING NOT NULL,
b INT32 NOT NULL,
PRIMARY KEY (a, b)
)
PARTITION BY
RANGE (a) (
PARTITION "a" <= VALUES < "c",
PARTITION "f" <= VALUES < "z")
RANGE (b) (
I1003 23:19:21.212206 23805 external_mini_cluster.cc:596] Running /data1/jenkins-workspace/kudu-workspace/build/tsan/bin/kudu-tserver
kudu-tserver
--fs_wal_dir=/data1/test-tmp/alter_table-randomized-test.AlterTableRandomized.TestRandomSequence.1475561879612998-23805/minicluster-data/ts-2
--fs_data_dirs=/data1/test-tmp/alter_table-randomized-test.AlterTableRandomized.TestRandomSequence.1475561879612998-23805/minicluster-data/ts-2
--rpc_bind_addresses=127.92.253.2:43943
--local_ip_for_outbound_sockets=127.92.253.2
--webserver_port=44315
--webserver_interface=127.92.253.2
--tserver_master_addrs=127.0.0.1:44356
--metrics_log_interval_ms=1000
DEBUG:kudu::mini_cluster: (master:34541): WARNING: Logging before InitGoogleLogging() is written to STDERR
DEBUG:kudu::mini_cluster: (master:34541): W1114 20:33:03.041072 12477 flags.cc:296] Enabled unsafe flag: --enable_data_block_fsync=false
DEBUG:kudu::mini_cluster: (master:34541): W1114 20:33:03.042135 12477 flags.cc:296] Enabled experimental flag: --rpc_trace_negotiation=true
DEBUG:kudu::mini_cluster: (master:34541): I1114 20:33:03.043179 12477 master_main.cc:60] Master server non-default flags:
DEBUG:kudu::mini_cluster: (master:34541): --enable_data_block_fsync=false
DEBUG:kudu::mini_cluster: (master:34541): --fs_data_dirs=/tmp/kudu-rs-mini-cluster.bskfVtyHDNKS/master-0
DEBUG:kudu::mini_cluster: (master:34541): --fs_wal_dir=/tmp/kudu-rs-mini-cluster.bskfVtyHDNKS/master-0
DEBUG:kudu::mini_cluster: (master:34541): --rpc_trace_negotiation=true
DEBUG:kudu::mini_cluster: (master:34541): --rpc_dump_all_traces=true
DEBUG:kudu::mini_cluster: (master:34541): --rpc_bind_addresses=127.0.0.1:34541

| client->server authn | server->client TLS verification | client->server TLS verification | notes | | GSSAPI | ✗ | ✗ | GSSAPI/Kerberos provides strong mutual authentication |

client to server authn server to client authn notes
GSSAPI GSSAPI Kerberos provides strong mutual authentication, tls-server-end-point ties the Kerberos authentication to the TLS channel
Certificate Certificate client and server mutually authenticate via trusted CA-signed certs
Token Certificate

TLS verification will initially require the presented cert to be signed by the trusted root CA. Eventually we will add hostname and/or server ID checking as well.

#![feature(test)]
extern crate proto;
extern crate test;
extern crate bytes;
use test::Bencher;
use bytes::BytesMut;
use bytes::BufMut;
fn main() {
let key_types = &[
("i32", "int32"),
("i64", "int64"),
("u32", "uint32"),
("u64", "uint64"),
("i32", "sint32"),
("i64", "sint64"),
("u32", "fixed32"),