mirror of https://github.com/apache/cassandra
Remove buggy thrift max message length option
patch by jbellis; reviewed by tjake for CASSANDRA-5529
This commit is contained in:
parent
7d2ce5f957
commit
9879fa6122
|
|
@ -1,4 +1,5 @@
|
|||
1.1.12
|
||||
* Remove buggy thrift max message length option (CASSANDRA-5529)
|
||||
* Add retry mechanism to OTC for non-droppable_verbs (CASSANDRA-5393)
|
||||
* Use allocator information to improve memtable memory usage estimate
|
||||
(CASSANDRA-5497)
|
||||
|
|
@ -6,6 +7,7 @@
|
|||
* Fix Bound intersection computation (CASSANDRA-5551)
|
||||
* Fix NPE in Pig's widerow mode (CASSANDRA-5488)
|
||||
|
||||
|
||||
1.1.11
|
||||
* Fix trying to load deleted row into row cache on startup (CASSANDRA-4463)
|
||||
* Update offline scrub for 1.0 -> 1.1 directory structure (CASSANDRA-5195)
|
||||
|
|
|
|||
|
|
@ -330,15 +330,11 @@ rpc_server_type: sync
|
|||
# rpc_send_buff_size_in_bytes:
|
||||
# rpc_recv_buff_size_in_bytes:
|
||||
|
||||
# Frame size for thrift (maximum field length).
|
||||
# Frame size for thrift (maximum message length).
|
||||
# 0 disables TFramedTransport in favor of TSocket. This option
|
||||
# is deprecated; we strongly recommend using Framed mode.
|
||||
thrift_framed_transport_size_in_mb: 15
|
||||
|
||||
# The max length of a thrift message, including all fields and
|
||||
# internal thrift overhead.
|
||||
thrift_max_message_length_in_mb: 16
|
||||
|
||||
# Set to true to have Cassandra create a hard link to each sstable
|
||||
# flushed or streamed locally in a backups/ subdirectory of the
|
||||
# Keyspace data. Removing these links is the operator's
|
||||
|
|
|
|||
|
|
@ -77,7 +77,9 @@ public class Config
|
|||
public Integer rpc_send_buff_size_in_bytes;
|
||||
public Integer rpc_recv_buff_size_in_bytes;
|
||||
|
||||
@Deprecated
|
||||
public Integer thrift_max_message_length_in_mb = 16;
|
||||
|
||||
public Integer thrift_framed_transport_size_in_mb = 15;
|
||||
public Boolean snapshot_before_compaction = false;
|
||||
public Boolean auto_snapshot = true;
|
||||
|
|
|
|||
|
|
@ -316,11 +316,6 @@ public class DatabaseDescriptor
|
|||
if (conf.thrift_framed_transport_size_in_mb <= 0)
|
||||
throw new ConfigurationException("thrift_framed_transport_size_in_mb must be positive");
|
||||
|
||||
if (conf.thrift_framed_transport_size_in_mb > 0 && conf.thrift_max_message_length_in_mb < conf.thrift_framed_transport_size_in_mb)
|
||||
{
|
||||
throw new ConfigurationException("thrift_max_message_length_in_mb must be greater than thrift_framed_transport_size_in_mb when using TFramedTransport");
|
||||
}
|
||||
|
||||
/* end point snitch */
|
||||
if (conf.endpoint_snitch == null)
|
||||
{
|
||||
|
|
@ -582,11 +577,6 @@ public class DatabaseDescriptor
|
|||
return authority;
|
||||
}
|
||||
|
||||
public static int getThriftMaxMessageLength()
|
||||
{
|
||||
return conf.thrift_max_message_length_in_mb * 1024 * 1024;
|
||||
}
|
||||
|
||||
public static int getThriftFramedTransportSize()
|
||||
{
|
||||
return conf.thrift_framed_transport_size_in_mb * 1024 * 1024;
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ public class ColumnFamilyOutputFormat extends OutputFormat<ByteBuffer,List<Mutat
|
|||
}
|
||||
|
||||
/** Fills the deprecated OutputFormat interface for streaming. */
|
||||
@Deprecated @Override
|
||||
@Deprecated
|
||||
public ColumnFamilyRecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem filesystem, org.apache.hadoop.mapred.JobConf job, String name, org.apache.hadoop.util.Progressable progress) throws IOException
|
||||
{
|
||||
return new ColumnFamilyRecordWriter(job, new Progressable(progress));
|
||||
|
|
@ -155,7 +155,7 @@ public class ColumnFamilyOutputFormat extends OutputFormat<ByteBuffer,List<Mutat
|
|||
{
|
||||
logger.debug("Creating authenticated client for CF output format");
|
||||
TTransport transport = ConfigHelper.getOutputTransportFactory(conf).openTransport(socket, conf);
|
||||
TBinaryProtocol binaryProtocol = new TBinaryProtocol(transport, ConfigHelper.getThriftMaxMessageLength(conf));
|
||||
TBinaryProtocol binaryProtocol = new TBinaryProtocol(transport, true, true);
|
||||
Cassandra.Client client = new Cassandra.Client(binaryProtocol);
|
||||
client.set_keyspace(ConfigHelper.getOutputKeyspace(conf));
|
||||
if (ConfigHelper.getOutputKeyspaceUserName(conf) != null)
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ public class ColumnFamilyRecordReader extends RecordReader<ByteBuffer, SortedMap
|
|||
String location = getLocation();
|
||||
socket = new TSocket(location, ConfigHelper.getInputRpcPort(conf));
|
||||
TTransport transport = ConfigHelper.getInputTransportFactory(conf).openTransport(socket, conf);
|
||||
TBinaryProtocol binaryProtocol = new TBinaryProtocol(transport, ConfigHelper.getThriftMaxMessageLength(conf));
|
||||
TBinaryProtocol binaryProtocol = new TBinaryProtocol(transport, true, true);
|
||||
client = new Cassandra.Client(binaryProtocol);
|
||||
|
||||
// log in
|
||||
|
|
|
|||
|
|
@ -77,7 +77,6 @@ public class ConfigHelper
|
|||
private static final String INPUT_TRANSPORT_FACTORY_CLASS = "cassandra.input.transport.factory.class";
|
||||
private static final String OUTPUT_TRANSPORT_FACTORY_CLASS = "cassandra.output.transport.factory.class";
|
||||
private static final String THRIFT_FRAMED_TRANSPORT_SIZE_IN_MB = "cassandra.thrift.framed.size_mb";
|
||||
private static final String THRIFT_MAX_MESSAGE_LENGTH_IN_MB = "cassandra.thrift.message.max_size_mb";
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ConfigHelper.class);
|
||||
|
||||
|
|
@ -482,18 +481,10 @@ public class ConfigHelper
|
|||
return conf.getInt(THRIFT_FRAMED_TRANSPORT_SIZE_IN_MB, 15) * 1024 * 1024; // 15MB is default in Cassandra
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static void setThriftMaxMessageLengthInMb(Configuration conf, int maxMessageSizeInMB)
|
||||
{
|
||||
conf.setInt(THRIFT_MAX_MESSAGE_LENGTH_IN_MB, maxMessageSizeInMB);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param conf The configuration to use.
|
||||
* @return Value (converts MBs to Bytes) set by {@link setThriftMaxMessageLengthInMb(Configuration, int)} or default of 16MB
|
||||
*/
|
||||
public static int getThriftMaxMessageLength(Configuration conf)
|
||||
{
|
||||
return conf.getInt(THRIFT_MAX_MESSAGE_LENGTH_IN_MB, 16) * 1024 * 1024; // 16MB is default in Cassandra
|
||||
// SEE CASSANDRA-5529
|
||||
}
|
||||
|
||||
public static CompressionParameters getOutputCompressionParamaters(Configuration conf)
|
||||
|
|
@ -557,7 +548,7 @@ public class ConfigHelper
|
|||
{
|
||||
TSocket socket = new TSocket(host, port);
|
||||
TTransport transport = getInputTransportFactory(conf).openTransport(socket, conf);
|
||||
return new Cassandra.Client(new TBinaryProtocol(transport, getThriftMaxMessageLength(conf)));
|
||||
return new Cassandra.Client(new TBinaryProtocol(transport, true, true));
|
||||
}
|
||||
catch (LoginException e)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ public class CassandraDaemon extends org.apache.cassandra.service.AbstractCassan
|
|||
logger.info(String.format("Binding thrift service to %s:%s", listenAddr, listenPort));
|
||||
|
||||
// Protocol factory
|
||||
TProtocolFactory tProtocolFactory = new TBinaryProtocol.Factory(true, true, DatabaseDescriptor.getThriftMaxMessageLength());
|
||||
TProtocolFactory tProtocolFactory = new TBinaryProtocol.Factory(true, true);
|
||||
|
||||
// Transport factory
|
||||
int tFramedTransportSize = DatabaseDescriptor.getThriftFramedTransportSize();
|
||||
|
|
|
|||
|
|
@ -31,20 +31,6 @@ import java.nio.ByteBuffer;
|
|||
|
||||
public class TBinaryProtocol extends org.apache.thrift.protocol.TBinaryProtocol
|
||||
{
|
||||
|
||||
public TBinaryProtocol(TTransport trans)
|
||||
{
|
||||
this(trans, false, true);
|
||||
}
|
||||
|
||||
public TBinaryProtocol(TTransport trans, int readLength)
|
||||
{
|
||||
this(trans);
|
||||
|
||||
if (readLength > 0)
|
||||
setReadLength(readLength);
|
||||
}
|
||||
|
||||
public TBinaryProtocol(TTransport trans, boolean strictRead, boolean strictWrite)
|
||||
{
|
||||
super(trans);
|
||||
|
|
@ -64,11 +50,6 @@ public class TBinaryProtocol extends org.apache.thrift.protocol.TBinaryProtocol
|
|||
super(strictRead, strictWrite, 0);
|
||||
}
|
||||
|
||||
public Factory(boolean strictRead, boolean strictWrite, int readLength)
|
||||
{
|
||||
super(strictRead, strictWrite, readLength);
|
||||
}
|
||||
|
||||
public TProtocol getProtocol(TTransport trans)
|
||||
{
|
||||
TBinaryProtocol protocol = new TBinaryProtocol(trans, strictRead_, strictWrite_);
|
||||
|
|
|
|||
Loading…
Reference in New Issue