@@ -708,8 +708,8 @@ void RocksDBEngine::start() {
708708 addFamily (RocksDBColumnFamilyManager::Family::FulltextIndex);
709709 addFamily (RocksDBColumnFamilyManager::Family::ReplicatedLogs);
710710
711- std::vector<rocksdb::ColumnFamilyHandle*> cfHandles;
712- size_t const numberOfColumnFamilies = RocksDBColumnFamilyManager::minNumberOfColumnFamilies;
711+
712+ size_t const minNumberOfColumnFamilies = RocksDBColumnFamilyManager::minNumberOfColumnFamilies;
713713 bool dbExisted = false ;
714714 {
715715 rocksdb::Options testOptions;
@@ -744,12 +744,21 @@ void RocksDBEngine::start() {
744744
745745 LOG_TOPIC (" 528b8" , DEBUG, arangodb::Logger::STARTUP)
746746 << " found existing column families: " << names;
747+ auto const replicatedLogsName = RocksDBColumnFamilyManager::name (
748+ RocksDBColumnFamilyManager::Family::ReplicatedLogs);
747749
748750 for (auto const & it : cfFamilies) {
749751 auto it2 = std::find (existingColumnFamilies.begin (),
750752 existingColumnFamilies.end (), it.name );
751-
752753 if (it2 == existingColumnFamilies.end ()) {
754+
755+ if (it.name == replicatedLogsName) {
756+ LOG_TOPIC (" 293c3" , INFO, Logger::STARTUP)
757+ << " column family " << replicatedLogsName
758+ << " is missing and will be created." ;
759+ continue ;
760+ }
761+
753762 LOG_TOPIC (" d9df8" , FATAL, arangodb::Logger::STARTUP)
754763 << " column family '" << it.name << " ' is missing in database"
755764 << " . if you are upgrading from an earlier alpha or beta version "
@@ -760,11 +769,11 @@ void RocksDBEngine::start() {
760769 }
761770 }
762771
763- if (existingColumnFamilies.size () < numberOfColumnFamilies ) {
772+ if (existingColumnFamilies.size () < minNumberOfColumnFamilies ) {
764773 LOG_TOPIC (" e99ec" , FATAL, arangodb::Logger::STARTUP)
765774 << " unexpected number of column families found in database ("
766- << cfHandles .size () << " ). "
767- << " expecting at least " << numberOfColumnFamilies
775+ << existingColumnFamilies .size () << " ). "
776+ << " expecting at least " << minNumberOfColumnFamilies
768777 << " . if you are upgrading from an earlier alpha or beta version "
769778 " of ArangoDB 3.2, "
770779 << " it is required to restart with a new database directory and "
@@ -774,6 +783,7 @@ void RocksDBEngine::start() {
774783 }
775784 }
776785
786+ std::vector<rocksdb::ColumnFamilyHandle*> cfHandles;
777787 rocksdb::Status status =
778788 rocksdb::TransactionDB::Open (_options, transactionOptions, _path,
779789 cfFamilies, &cfHandles, &_db);
@@ -795,10 +805,10 @@ void RocksDBEngine::start() {
795805 << " unable to initialize RocksDB column families" ;
796806 FATAL_ERROR_EXIT ();
797807 }
798- if (cfHandles.size () < numberOfColumnFamilies ) {
808+ if (cfHandles.size () < minNumberOfColumnFamilies ) {
799809 LOG_TOPIC (" e572e" , FATAL, arangodb::Logger::STARTUP)
800810 << " unexpected number of column families found in database. "
801- << " got " << cfHandles.size () << " , expecting at least " << numberOfColumnFamilies ;
811+ << " got " << cfHandles.size () << " , expecting at least " << minNumberOfColumnFamilies ;
802812 FATAL_ERROR_EXIT ();
803813 }
804814
0 commit comments