From 6159f863ce07ab44ae4a1ec78705da059a2882a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Tue, 22 May 2018 15:22:29 +0300 Subject: [PATCH] Remove unnecessary locking The lock didn't really protect anything but since it was not explicitly initialized, it caused a hang. --- server/modules/routing/avrorouter/avro.cc | 2 -- server/modules/routing/avrorouter/avro_client.cc | 5 ----- server/modules/routing/avrorouter/avrorouter.hh | 1 - 3 files changed, 8 deletions(-) diff --git a/server/modules/routing/avrorouter/avro.cc b/server/modules/routing/avrorouter/avro.cc index dba8bad0e..b5f92b497 100644 --- a/server/modules/routing/avrorouter/avro.cc +++ b/server/modules/routing/avrorouter/avro.cc @@ -749,11 +749,9 @@ static void closeSession(MXS_ROUTER *instance, MXS_ROUTER_SESSION *router_sessio AvroSession *client = (AvroSession *) router_session; spinlock_acquire(&client->catch_lock); - spinlock_acquire(&client->file_lock); client->state = AVRO_CLIENT_UNREGISTERED; - spinlock_release(&client->file_lock); spinlock_release(&client->catch_lock); } diff --git a/server/modules/routing/avrorouter/avro_client.cc b/server/modules/routing/avrorouter/avro_client.cc index 89e3e38cf..80770a8ee 100644 --- a/server/modules/routing/avrorouter/avro_client.cc +++ b/server/modules/routing/avrorouter/avro_client.cc @@ -767,13 +767,11 @@ static bool avro_client_stream_data(AvroSession *client) bool ok = true; - spinlock_acquire(&client->file_lock); if (client->file_handle == NULL && (client->file_handle = maxavro_file_open(filename)) == NULL) { ok = false; } - spinlock_release(&client->file_lock); if (ok) { @@ -909,7 +907,6 @@ static void rotate_avro_file(AvroSession *client, char *fullname) client->avro_binfile[len] = 0; client->last_sent_pos = 0; - spinlock_acquire(&client->file_lock); maxavro_file_close(client->file_handle); if ((client->file_handle = maxavro_file_open(fullname)) == NULL) @@ -921,8 +918,6 @@ static void rotate_avro_file(AvroSession *client, char *fullname) MXS_INFO("Rotated '%s'@'%s' to file: %s", client->dcb->user, client->dcb->remote, fullname); } - - spinlock_release(&client->file_lock); } /** diff --git a/server/modules/routing/avrorouter/avrorouter.hh b/server/modules/routing/avrorouter/avrorouter.hh index fca244fa4..4a2928c8c 100644 --- a/server/modules/routing/avrorouter/avrorouter.hh +++ b/server/modules/routing/avrorouter/avrorouter.hh @@ -239,7 +239,6 @@ struct AvroSession enum avro_data_format format; /*< Stream JSON or Avro data */ char* uuid; /*< Client UUID */ SPINLOCK catch_lock; /*< Event catchup lock */ - SPINLOCK file_lock; /*< Protects rses_deleted */ Avro* router; /*< Pointer to the owning router */ MAXAVRO_FILE* file_handle; /*< Current open file handle */ uint64_t last_sent_pos; /*< The last record we sent */