MySQL Bug:No suitable 'keyring_component_metadata_query' service implementation found to fulfill the request


監控發現公司一台MySQL 8.0.26 的錯誤日志中出現大量下面告警信息:

 

[Warning] [MY-013712] [Server] No suitable 'keyring_component_metadata_query' service implementation found to fulfill the request.

 

  搜索資料發現,其實這個是一個Bug來着(詳情見參考資料的鏈接),如果MySQL實例沒有任何MySQL keyring組件的話,就可能遇到這個Bug

 

[13 May 12:43] Marcelo Altmann

Description:

I

If your server is started without any keyring component, querying performance_schema.keyring_component_status logs an warning to the error log:

 

 

 

 

2021-05-13T12:06:03.625555Z 112 [Warning] [MY-013712] [Server] No suitable 'keyring_component_metadata_query' service implementation found to fulfill the request.

 

 

 

How to repeat:

 

 

Start MySQL without any keyring component and log verbosity = 3.

 

Run: SELECT * FROM  performance_schema.keyring_component_status;

 

[13 May 12:50] MySQL Verification Team

Hello Marcelo,

 

 

 

 

Thank you for the report and feedback.

 

 

 

 

regards,

 

Umesh

 

[26 Aug 16:27] Marcelo Altmann

Patch generated based on tag mysql-8.0.26

 

 

 

 

(*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.

 

Contribution: bug_103684.patch (application/octet-stream, text), 824 bytes.

[27 Aug 14:00] MySQL Verification Team

Thank you for your contribution.

 

 

 

 

regards,

 

Umesh

 

 

檢查驗證,確實沒有任何mysql  keyring組件

 

mysql> SELECT * FROM performance_schema.keyring_component_status;
Empty set (0.00 sec)
mysql>

 

bug_103684.patch資料如下

 

diff --git a/sql/server_component/mysql_server_keyring_lockable_imp.cc b/sql/server_component/mysql_server_keyring_lockable_imp.cc
index 9c94d2ee8c5..7b6eb414e7d 100644
--- a/sql/server_component/mysql_server_keyring_lockable_imp.cc
+++ b/sql/server_component/mysql_server_keyring_lockable_imp.cc
@@ -391,7 +391,8 @@ DEFINE_BOOL_METHOD(Keyring_metadata_query_service_impl::is_initialized, ()) {
 DEFINE_BOOL_METHOD(Keyring_metadata_query_service_impl::init,
                    (my_h_keyring_component_metadata_iterator *
                     metadata_iterator)) {
-  if (check_service(internal_keyring_component_metadata_query,
+  if (internal_keyring_component_metadata_query == nullptr ||
+      check_service(internal_keyring_component_metadata_query,
                     COMPONENT_METADATA_QUERY))
     return true;
 

 

 

 

參考資料:

https://bugs.mysql.com/bug.php?id=103684

https://dev.mysql.com/doc/dev/mysql-server/latest/group__group__keyring__component__services__inventory.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM