transport/server: Fix schema change event encoding
We also need to encode the event type in the response message. Fixes the
following dtest breakage:
cassandra.connection: ERROR: Error decoding response from Cassandra. opcode: 000c; message contents: '\x83\x00\xff\xff\x0c\x00\x00\x00\x17\x00\x07CREATED\x00\x08KEYSPACE\x00\x02ks'
Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/cassandra/connection.py", line 431, in process_msg
flags, opcode, body, self.decompressor)
File "/usr/lib64/python2.7/site-packages/cassandra/protocol.py", line 123, in decode_response
msg = msg_class.recv_body(body, protocol_version, user_type_map)
File "/usr/lib64/python2.7/site-packages/cassandra/protocol.py", line 803, in recv_body
raise NotSupportedError('Unknown event type %r' % event_type)
NotSupportedError: Unknown event type u'CREATED'
Reported-by: Shlomi Livne <shlomi@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
This commit is contained in:
@@ -921,6 +921,7 @@ future<> cql_server::connection::write_result(int16_t stream, shared_ptr<transpo
|
||||
future<> cql_server::connection::write_schema_change_event(const transport::event::schema_change& event)
|
||||
{
|
||||
auto response = make_shared<cql_server::response>(-1, cql_binary_opcode::EVENT);
|
||||
response->write_string("SCHEMA_CHANGE");
|
||||
response->write_string(to_string(event.change));
|
||||
response->write_string(to_string(event.target));
|
||||
response->write_string(event.keyspace);
|
||||
|
||||
Reference in New Issue
Block a user