summaryrefslogtreecommitdiff
path: root/sql/log_event_server.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-11-16 13:58:22 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2021-11-16 13:58:22 +0200
commit0269d491eaf02556817654e6365ebf50eb4616fc (patch)
treea1fd8a60456a50a2b3c716a5e3a999f87bd2b088 /sql/log_event_server.cc
parent079516f00efc526682aca727ac918ebf2322a16d (diff)
downloadmariadb-git-0269d491eaf02556817654e6365ebf50eb4616fc.tar.gz
MDEV-27047: Replication fails to remove affected queries from query cache
Rows_log_event::do_apply_event(): Correct the mistake that was made in the merge 5f8561a6bcdb66e05ca539365cce33a9fc1817a2. In Galera, the query cache will be invalidated near the end of the function.
Diffstat (limited to 'sql/log_event_server.cc')
-rw-r--r--sql/log_event_server.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/log_event_server.cc b/sql/log_event_server.cc
index 79f197d4ec3..093adebf536 100644
--- a/sql/log_event_server.cc
+++ b/sql/log_event_server.cc
@@ -5573,14 +5573,16 @@ int Rows_log_event::do_apply_event(rpl_group_info *rgi)
}
}
-#if defined(WITH_WSREP) && defined(HAVE_QUERY_CACHE)
+#ifdef HAVE_QUERY_CACHE
/*
Moved invalidation right before the call to rows_event_stmt_cleanup(),
to avoid query cache being polluted with stale entries,
*/
- if (WSREP(thd) && wsrep_thd_is_applying(thd))
+# ifdef WITH_WSREP
+ if (!WSREP(thd) && !wsrep_thd_is_applying(thd))
+# endif /* WITH_WSREP */
query_cache.invalidate_locked_for_write(thd, rgi->tables_to_lock);
-#endif /* WITH_WSREP && HAVE_QUERY_CACHE */
+#endif /* HAVE_QUERY_CACHE */
}
table= m_table= rgi->m_table_map.get_table(m_table_id);