• oda.nsf

    By Patrick Kwintensson 4 years ago

    I have this message in my console:

    [0D70:0007-0B3C] 2015-06-25 09:32:52 [ODA::WARNING] cannot find oda.nsf as user CN=pacific/O=acme. - using default values.

    what is this oda.nsf application?

    I found this on github:


    is it just a plain/ empty database with the file name of oda.nsf? can I configure the path somewhere since we don't want to have any custom databases in the root data folder?

    • By Paul S Withers 4 years ago

      The oda.nsf is where XOTS aggregates and manages XOTS tasks, so it's not really needed at this point and not totally required even if you're using XOTS tasks. There may be some more amendments to that database design when the scheduling part of XOTS is written (it's a little beyond my expertise at the moment and I don't want to crash lots of servers, but Quartz Scheduler has been mentioned as a good approach). The filepath can be configured in notes.ini variable, as org.openntf.domino.config.Configuration.initOdaDb() confirms:

      String s = sess.getEnvironmentString(“ODA_NSF”);

                  if (!s.isEmpty()) {
                      ODA_NSF = s;
                      Factory.println("INFO", "Using notes.ini variable ODA_NSF=" + ODA_NSF);
                  Database db = sess.getDatabase(ODA_NSF);
                  if (db == null) {
                      Factory.println("WARNING", "cannot find " + ODA_NSF + " as user " + sess.getEffectiveUserName()
                              + ". - using default values.");
                  } else if (!db.isOpen()) {
                      Factory.println("ERROR", "cannot open " + ODA_NSF + " as user " + sess.getEffectiveUserName()
                              + ". - using default values.");
                  } else {
                      odaDb_ = db;
                      Factory.println(Configuration.class, "Using " + db + " as configuration database.");

      I can't remember if XOTS scanner messages are written to the log on server load or whether that's been suppressed, but on HTTP load there is a XOTS listener that runs through the databases and gets all XOTS tasks and writes configuration details to that database. It also seems to write a log when a XOTS task runs.