Make rabbit_table:wait/2 silent when checking if cmq are used
This commit is contained in:
		
							parent
							
								
									04d8afe1a3
								
							
						
					
					
						commit
						430a6b469b
					
				|  | @ -75,7 +75,7 @@ are_cmqs_used(_) -> | |||
|                     %% may be unavailable. For instance, Mnesia needs another | ||||
|                     %% replica on another node before it considers it to be | ||||
|                     %% available. | ||||
|                     rabbit_table:wait( | ||||
|                     rabbit_table:wait_silent( | ||||
|                       [rabbit_runtime_parameters], _Retry = true), | ||||
|                     are_cmqs_used1(); | ||||
|                 false -> | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
| 
 | ||||
| -export([ | ||||
|     create/0, create/2, ensure_local_copies/1, ensure_table_copy/3, | ||||
|     wait_for_replicated/1, wait/1, wait/2, | ||||
|     wait_for_replicated/1, wait/1, wait/2, wait_silent/2, | ||||
|     force_load/0, is_present/0, is_empty/0, needs_default_data/0, | ||||
|     check_schema_integrity/1, | ||||
|     clear_ram_only_tables/0, maybe_clear_ram_only_tables/0, | ||||
|  | @ -109,19 +109,40 @@ wait(TableNames, Retry) -> | |||
|     {Timeout, Retries} = retry_timeout(Retry), | ||||
|     wait(TableNames, Timeout, Retries). | ||||
| 
 | ||||
| wait_silent(TableNames, Retry) -> | ||||
|     %% The check to validate if the deprecated feature | ||||
|     %% Classic Mirrored Queues is in use, calls this wait | ||||
|     %% for tables to ensure `rabbit_runtime_parameters` are | ||||
|     %% ready. This happens every time a user clicks on any | ||||
|     %% tab on the management UI (to warn about deprecated ff | ||||
|     %% in use), which generates some suspicious | ||||
|     %% `Waiting for Mnesia tables...` log messages. | ||||
|     %% They're normal, but better to avoid them as it might | ||||
|     %% confuse users, wondering if there is any issue with Mnesia. | ||||
|     {Timeout, Retries} = retry_timeout(Retry), | ||||
|     wait(TableNames, Timeout, Retries, _Silent = true). | ||||
| 
 | ||||
| wait(TableNames, Timeout, Retries) -> | ||||
|     wait(TableNames, Timeout, Retries, _Silent = false). | ||||
| 
 | ||||
| wait(TableNames, Timeout, Retries, Silent) -> | ||||
|     %% Wait for tables must only wait for tables that have already been declared. | ||||
|     %% Otherwise, node boot returns a timeout when the Khepri ff is enabled from the start | ||||
|     ExistingTables = mnesia:system_info(tables), | ||||
|     MissingTables = TableNames -- ExistingTables, | ||||
|     TablesToMigrate = TableNames -- MissingTables, | ||||
|     wait1(TablesToMigrate, Timeout, Retries). | ||||
|     wait1(TablesToMigrate, Timeout, Retries, Silent). | ||||
| 
 | ||||
| wait1(TableNames, Timeout, Retries) -> | ||||
| wait1(TableNames, Timeout, Retries, Silent) -> | ||||
|     %% We might be in ctl here for offline ops, in which case we can't | ||||
|     %% get_env() for the rabbit app. | ||||
|     rabbit_log:info("Waiting for Mnesia tables for ~tp ms, ~tp retries left", | ||||
|                     [Timeout, Retries - 1]), | ||||
|     case Silent of | ||||
|         true -> | ||||
|             ok; | ||||
|         false -> | ||||
|             rabbit_log:info("Waiting for Mnesia tables for ~tp ms, ~tp retries left", | ||||
|                             [Timeout, Retries - 1]) | ||||
|     end, | ||||
|     Result = case mnesia:wait_for_tables(TableNames, Timeout) of | ||||
|                  ok -> | ||||
|                      ok; | ||||
|  | @ -134,13 +155,23 @@ wait1(TableNames, Timeout, Retries) -> | |||
|              end, | ||||
|     case {Retries, Result} of | ||||
|         {_, ok} -> | ||||
|             rabbit_log:info("Successfully synced tables from a peer"), | ||||
|             ok; | ||||
|             case Silent of | ||||
|                 true -> | ||||
|                     ok; | ||||
|                 false -> | ||||
|                     rabbit_log:info("Successfully synced tables from a peer"), | ||||
|                     ok | ||||
|             end; | ||||
|         {1, {error, _} = Error} -> | ||||
|             throw(Error); | ||||
|         {_, {error, Error}} -> | ||||
|             rabbit_log:warning("Error while waiting for Mnesia tables: ~tp", [Error]), | ||||
|             wait1(TableNames, Timeout, Retries - 1) | ||||
|             case Silent of | ||||
|                 true -> | ||||
|                     ok; | ||||
|                 false -> | ||||
|                     rabbit_log:warning("Error while waiting for Mnesia tables: ~tp", [Error]) | ||||
|             end, | ||||
|             wait1(TableNames, Timeout, Retries - 1, Silent) | ||||
|     end. | ||||
| 
 | ||||
| retry_timeout(_Retry = false) -> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue