add error handling for addRequest

Change-Id: I46dfef76735f14abc1dc8d0a1d618a1963d4f8a0
diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index f674482..802049a 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -328,7 +328,13 @@
   std::string requestId = std::to_string(random::generateWord64());
   CaState requestState(m_config.m_caItem.m_caPrefix, requestId, requestType, Status::BEFORE_CHALLENGE, *clientCert,
                        makeBinaryBlock(tlv::ContentType_Key, aesKey, sizeof(aesKey)));
-  m_storage->addRequest(requestState);
+  try {
+    m_storage->addRequest(requestState);
+  }
+  catch (const std::runtime_error& e) {
+    requestId = std::to_string(random::generateWord64());
+    m_storage->addRequest(requestState);
+  }
   Data result;
   result.setName(request.getName());
   result.setFreshnessPeriod(DEFAULT_DATA_FRESHNESS_PERIOD);