Uploaded image for project: 'NetarchiveSuite'
  1. NetarchiveSuite
  2. NAS-2023

Localize database-upgrade in a single app

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • I50, 3.19.0
    • 3.18.0
    • None
    • None
    • SB/KB
    • Hide

      This is probably easiest to check using and old-derby database that needs to be updated.

      1.Install netarchiveSuite
      2. Go to admin-server, and disable the conf/update_external_harvest_database.sh script. Note that this script is currently only generated when using derby.
      3. Start the apps
      4. note that all apps that require tables to be updated, fail and die.
      5. run the update_external_harvest_database.sh manually.
      6. Restart the failing apps.
      7. All apps should have started successfully

      Alternate verification: Check all DBSpecifics.getInstance().updateTable() calls have been removed from the DBDAO classes:

      dk.netarkivet.harvester.datamodel.extendedfield.ExtendedFieldDBDAO.java
      dk.netarkivet.harvester.datamodel.extendedfield.ExtendedFieldTypeDBDAO.java
      dk.netarkivet.harvester.datamodel.extendedfield.ExtendedFieldValueDBDAO.java
      dk.netarkivet.harvester.datamodel.DomainDBDAO.java
      dk.netarkivet.harvester.datamodel.TemplateDBDAO.java
      dk.netarkivet.harvester.datamodel.ScheduleDBDAO.java
      dk.netarkivet.harvester.datamodel.RunningJobsInfoDBDAO.java
      dk.netarkivet.harvester.datamodel.HarvestDefinitionDBDAO.java
      dk.netarkivet.harvester.datamodel.GlobalCrawlerTrapListDBDAO.java
      dk.netarkivet.harvester.datamodel.JobDBDAO.java

      And that we now update using the tool: harvestdatabaseUpdateApplication

      Show
      This is probably easiest to check using and old-derby database that needs to be updated. 1.Install netarchiveSuite 2. Go to admin-server, and disable the conf/update_external_harvest_database.sh script. Note that this script is currently only generated when using derby. 3. Start the apps 4. note that all apps that require tables to be updated, fail and die. 5. run the update_external_harvest_database.sh manually. 6. Restart the failing apps. 7. All apps should have started successfully Alternate verification: Check all DBSpecifics.getInstance().updateTable() calls have been removed from the DBDAO classes: dk.netarkivet.harvester.datamodel.extendedfield.ExtendedFieldDBDAO.java dk.netarkivet.harvester.datamodel.extendedfield.ExtendedFieldTypeDBDAO.java dk.netarkivet.harvester.datamodel.extendedfield.ExtendedFieldValueDBDAO.java dk.netarkivet.harvester.datamodel.DomainDBDAO.java dk.netarkivet.harvester.datamodel.TemplateDBDAO.java dk.netarkivet.harvester.datamodel.ScheduleDBDAO.java dk.netarkivet.harvester.datamodel.RunningJobsInfoDBDAO.java dk.netarkivet.harvester.datamodel.HarvestDefinitionDBDAO.java dk.netarkivet.harvester.datamodel.GlobalCrawlerTrapListDBDAO.java dk.netarkivet.harvester.datamodel.JobDBDAO.java And that we now update using the tool: harvestdatabaseUpdateApplication

    Description

      We should localize updates to the harvestdatabase to a single application,
      i.e. the HarvestdatabaseUpdateApplication.
      The other applications should not attempt that, but just fail.
      Otherwise we risk that several apps try to update the same database table at the same time.

      Attachments

        Activity

          People

            svc Søren Vejrup Carlsen (Inactive)
            svc Søren Vejrup Carlsen (Inactive)
            Mikis Seth Sørensen Mikis Seth Sørensen (Inactive)
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: