#include "memory/zone_table_segment.h"
#include "memory/zone_writer.h"
#include "memory/zone_data_loader.h"
+#include "memory/zone_data_updater.h"
#include "logger.h"
#include <dns/masterload.h>
#include <util/memory_segment_local.h>
using boost::dynamic_pointer_cast;
using isc::datasrc::memory::InMemoryClient;
using isc::datasrc::memory::ZoneTableSegment;
+using isc::datasrc::memory::ZoneDataUpdater;
namespace isc {
namespace datasrc {
} 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)
+ .arg(e.what());
}
} else {
ZoneIteratorPtr iterator;
isc_throw(isc::Unexpected, "Got NULL iterator "
"for zone " << origin);
}
- cache->load(origin, *iterator);
+ 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)
+ .arg(e.what());
+ }
}
}
}
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_MEM_ADD_RRSET adding RRset '%1/%2' into zone '%3'
Debug information. An RRset is being added to the in-memory data source.