mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-26 09:32:01 +00:00
Remove mysqlxx::Pool::Entry assignment operator
v2: fix tidy 86789491be/binary_tidy/build_log.log
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
This commit is contained in:
parent
55ccad507b
commit
9ba10ca604
@ -228,7 +228,6 @@ Pool::Entry Pool::tryGet()
|
||||
for (auto connection_it = connections.cbegin(); connection_it != connections.cend();)
|
||||
{
|
||||
Connection * connection_ptr = *connection_it;
|
||||
/// Fixme: There is a race condition here b/c we do not synchronize with Pool::Entry's copy-assignment operator
|
||||
if (connection_ptr->ref_count == 0)
|
||||
{
|
||||
{
|
||||
|
@ -64,17 +64,6 @@ public:
|
||||
decrementRefCount();
|
||||
}
|
||||
|
||||
Entry & operator= (const Entry & src) /// NOLINT
|
||||
{
|
||||
pool = src.pool;
|
||||
if (data)
|
||||
decrementRefCount();
|
||||
data = src.data;
|
||||
if (data)
|
||||
incrementRefCount();
|
||||
return * this;
|
||||
}
|
||||
|
||||
bool isNull() const
|
||||
{
|
||||
return data == nullptr;
|
||||
|
@ -13,13 +13,11 @@ mysqlxx::Pool::Entry getWithFailover(mysqlxx::Pool & connections_pool)
|
||||
|
||||
constexpr size_t max_tries = 3;
|
||||
|
||||
mysqlxx::Pool::Entry worker_connection;
|
||||
|
||||
for (size_t try_no = 1; try_no <= max_tries; ++try_no)
|
||||
{
|
||||
try
|
||||
{
|
||||
worker_connection = connections_pool.tryGet();
|
||||
mysqlxx::Pool::Entry worker_connection = connections_pool.tryGet();
|
||||
|
||||
if (!worker_connection.isNull())
|
||||
{
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <Common/randomNumber.h>
|
||||
#include <Common/setThreadName.h>
|
||||
#include <base/sleep.h>
|
||||
#include <base/scope_guard.h>
|
||||
#include <boost/algorithm/string/split.hpp>
|
||||
#include <boost/algorithm/string/trim.hpp>
|
||||
#include <Parsers/CommonParsers.h>
|
||||
@ -532,13 +533,17 @@ static inline void dumpDataForTables(
|
||||
bool MaterializedMySQLSyncThread::prepareSynchronized(MaterializeMetadata & metadata)
|
||||
{
|
||||
bool opened_transaction = false;
|
||||
mysqlxx::PoolWithFailover::Entry connection;
|
||||
|
||||
while (!isCancelled())
|
||||
{
|
||||
try
|
||||
{
|
||||
connection = pool.tryGet();
|
||||
mysqlxx::PoolWithFailover::Entry connection = pool.tryGet();
|
||||
SCOPE_EXIT({
|
||||
if (opened_transaction)
|
||||
connection->query("ROLLBACK").execute();
|
||||
});
|
||||
|
||||
if (connection.isNull())
|
||||
{
|
||||
if (settings->max_wait_time_when_mysql_unavailable < 0)
|
||||
@ -602,9 +607,6 @@ bool MaterializedMySQLSyncThread::prepareSynchronized(MaterializeMetadata & meta
|
||||
{
|
||||
tryLogCurrentException(log);
|
||||
|
||||
if (opened_transaction)
|
||||
connection->query("ROLLBACK").execute();
|
||||
|
||||
if (settings->max_wait_time_when_mysql_unavailable < 0)
|
||||
throw;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user