Parcourir la source

[2421] Catch ZoneValidationException at a higher level

Also split the iterator vs. file log message ids, so that they
are used only in one place each.
Mukund Sivaraman il y a 12 ans
Parent
commit
0d08fcb9a4
2 fichiers modifiés avec 14 ajouts et 33 suppressions
  1. 5 19
      src/lib/datasrc/client_list.cc
  2. 9 14
      src/lib/datasrc/datasrc_messages.mes

+ 5 - 19
src/lib/datasrc/client_list.cc

@@ -14,6 +14,7 @@
 
 
 #include "client_list.h"
+#include "exceptions.h"
 #include "client.h"
 #include "factory.h"
 #include "memory/memory_client.h"
@@ -180,14 +181,8 @@ ConfigurableClientList::configure(const ConstElementPtr& config,
                         } catch (const isc::dns::MasterLoadError& mle) {
                             LOG_ERROR(logger, DATASRC_MASTERLOAD_ERROR)
                                 .arg(mle.what());
-                        } catch (const ZoneDataUpdater::NullRRset& e) {
-                            LOG_ERROR(logger, DATASRC_LOAD_NULL_RRSET_ERROR)
-                                .arg(e.what());
-                        } catch (const ZoneDataUpdater::AddError& e) {
-                            LOG_ERROR(logger, DATASRC_LOAD_ADD_ERROR)
-                                .arg(e.what());
-                        } catch (const isc::datasrc::memory::EmptyZone& e) {
-                            LOG_ERROR(logger, DATASRC_LOAD_EMPTY_ZONE_ERROR)
+                        } catch (const ZoneValidationException& e) {
+                            LOG_ERROR(logger, DATASRC_LOAD_FROM_FILE_ERROR)
                                 .arg(e.what());
                         }
                     } else {
@@ -205,17 +200,8 @@ ConfigurableClientList::configure(const ConstElementPtr& config,
                         }
                         try {
                             cache->load(origin, *iterator);
-                        } catch (const isc::dns::MasterLoadError& mle) {
-                            LOG_ERROR(logger, DATASRC_MASTERLOAD_ERROR)
-                                .arg(mle.what());
-                        } catch (const ZoneDataUpdater::NullRRset& e) {
-                            LOG_ERROR(logger, DATASRC_LOAD_NULL_RRSET_ERROR)
-                                .arg(e.what());
-                        } catch (const ZoneDataUpdater::AddError& e) {
-                            LOG_ERROR(logger, DATASRC_LOAD_ADD_ERROR)
-                                .arg(e.what());
-                        } catch (const isc::datasrc::memory::EmptyZone& e) {
-                            LOG_ERROR(logger, DATASRC_LOAD_EMPTY_ZONE_ERROR)
+                        } catch (const ZoneValidationException& e) {
+                            LOG_ERROR(logger, DATASRC_LOAD_FROM_ITERATOR_ERROR)
                                 .arg(e.what());
                         }
                     }

+ 9 - 14
src/lib/datasrc/datasrc_messages.mes

@@ -310,20 +310,15 @@ An error was found in the zone data for a MasterFiles zone. The zone
 is not loaded. The specific error is shown in the message, and should
 be addressed.
 
-% DATASRC_LOAD_ADD_ERROR %1
-An error was found in the zone data when it was being loaded. The zone
-was not loaded. The specific error is shown in the message, and should
-be addressed.
-
-% DATASRC_LOAD_NULL_RRSET_ERROR %1
-A NULL RRset was passed to be added to a zone. The zone was not
-loaded. The specific error is shown in the message, and should be
-addressed.
-
-% DATASRC_LOAD_EMPTY_ZONE_ERROR %1
-A zone was asked to be loaded without any zone data. The zone was not
-loaded. The specific error is shown in the message, and should be
-addressed.
+% DATASRC_LOAD_FROM_FILE_ERROR %1
+An error was found in the zone data when it was being loaded from a
+file. The zone was not loaded. The specific error is shown in the
+message, and should be addressed.
+
+% DATASRC_LOAD_FROM_ITERATOR_ERROR %1
+An error was found in the zone data when it was being loaded from an
+iterator. The zone was not loaded. The specific error is shown in the
+message, and should be addressed.
 
 % DATASRC_MEM_ADD_RRSET adding RRset '%1/%2' into zone '%3'
 Debug information. An RRset is being added to the in-memory data source.