From 73d828e4e8023b9f7ca8fafd12becec34eb59211 Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Fri, 25 Jan 2013 21:49:25 -0800 Subject: [PATCH] add ConfigHelper support for Thrift frame and max message sizes patch by Pavel Yaskevich; reviewed by Brandon Williams for CASSANDRA-5188 --- CHANGES.txt | 1 + .../hadoop/ColumnFamilyOutputFormat.java | 4 +-- .../hadoop/ColumnFamilyRecordReader.java | 4 +-- .../apache/cassandra/hadoop/ConfigHelper.java | 34 +++++++++++++++++-- .../cassandra/thrift/ITransportFactory.java | 3 +- .../cassandra/thrift/TBinaryProtocol.java | 8 +++++ .../thrift/TFramedTransportFactory.java | 7 ++-- 7 files changed, 52 insertions(+), 9 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 1ad77b1b35..1c414bc0ae 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170) * fix sstable maxtimestamp for row deletes and pre-1.1.1 sstables (CASSANDRA-5153) * fix start key/end token validation for wide row iteration (CASSANDRA-5168) + * add ConfigHelper support for Thrift frame and max message sizes (CASSANDRA-5188) 1.1.9 diff --git a/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java b/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java index e01ada5185..caea616f13 100644 --- a/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java +++ b/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java @@ -154,8 +154,8 @@ public class ColumnFamilyOutputFormat extends OutputFormat 0) + setReadLength(readLength); + } + public TBinaryProtocol(TTransport trans, boolean strictRead, boolean strictWrite) { super(trans); diff --git a/src/java/org/apache/cassandra/thrift/TFramedTransportFactory.java b/src/java/org/apache/cassandra/thrift/TFramedTransportFactory.java index 09ae99e36b..792618d5f1 100644 --- a/src/java/org/apache/cassandra/thrift/TFramedTransportFactory.java +++ b/src/java/org/apache/cassandra/thrift/TFramedTransportFactory.java @@ -21,16 +21,19 @@ package org.apache.cassandra.thrift; * */ +import org.apache.cassandra.hadoop.ConfigHelper; import org.apache.thrift.transport.TFramedTransport; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; +import org.apache.hadoop.conf.Configuration; + public class TFramedTransportFactory implements ITransportFactory { - public TTransport openTransport(TSocket socket) throws TTransportException + public TTransport openTransport(TSocket socket, Configuration conf) throws TTransportException { - TTransport transport = new TFramedTransport(socket); + TTransport transport = new TFramedTransport(socket, ConfigHelper.getThriftFramedTransportSize(conf)); transport.open(); return transport; }