File 0627-Handle-delete-table-definitions.patch of Package erlang
From 71f39a354bb3d11236a8686ac49fd6ab6ca5fe19 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Tue, 25 Aug 2020 17:16:33 +0200
Subject: [PATCH] Handle delete table definitions
The table meta data migth have been deleted when we try to load the
table. Handle that by ignoring it.
---
lib/mnesia/src/mnesia_controller.erl | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/mnesia/src/mnesia_controller.erl b/lib/mnesia/src/mnesia_controller.erl
index 0f221b0c1f..f8e4e584bf 100644
--- a/lib/mnesia/src/mnesia_controller.erl
+++ b/lib/mnesia/src/mnesia_controller.erl
@@ -1581,6 +1581,14 @@ initial_safe_loads() ->
last_consistent_replica(Tab, Downs) ->
Cs = val({Tab, cstruct}),
+ case ?catch_val({Tab, cstruct}) of
+ #cstruct{} = Cs ->
+ last_consistent_replica(Cs, Tab, Downs);
+ _ ->
+ false
+ end.
+
+last_consistent_replica(Cs, Tab, Downs) ->
Storage = mnesia_lib:cs_to_storage_type(node(), Cs),
Ram = Cs#cstruct.ram_copies,
Disc = Cs#cstruct.disc_copies,
--
2.26.2