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

During the harvester Registration phase the harvester shuts down if its channel ID is unknown

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.4
    • Labels:
      None
    • Sprint:
      NAS 5.4
    • Verification:
      Hide

      In a running NAS instance.

      1. Log into any harvester
      2. Go to the conf directory and change the settings for a harvester to an invalid channel name - ie any name that doesn't exist in the system
      3. Restart the harvester
      4. Check the logs for a statement that an email warning has been sent.
      5. Check that you receive a mail like
        Host: sb-test-har-001.statsbiblioteket.dk
        Date: Wed Apr 25 14:15:20 CEST 2018
        dk.netarkivet.harvester.heritrix3.HarvestControllerServer.visit(HarvestControllerServer.java:243)
        Received message stating that channel 'HIPRIORITY' is invalid. Will stop. Probable cause: the channel is not one of the known channels stored in the channels table
        
      Show
      In a running NAS instance. Log into any harvester Go to the conf directory and change the settings for a harvester to an invalid channel name - ie any name that doesn't exist in the system Restart the harvester Check the logs for a statement that an email warning has been sent. Check that you receive a mail like Host: sb-test-har-001.statsbiblioteket.dk Date: Wed Apr 25 14:15:20 CEST 2018 dk.netarkivet.harvester.heritrix3.HarvestControllerServer.visit(HarvestControllerServer.java:243) Received message stating that channel 'HIPRIORITY' is invalid. Will stop. Probable cause: the channel is not one of the known channels stored in the channels table

      Description

      During the harvester Registration phase the harvester shuts down if its channel ID is unknown

      @Override
          public void visit(HarvesterRegistrationResponse msg) {
              // If we have already started or the message notifies for another channel, resend it.
              String channelName = msg.getHarvestChannelName();
              if (status.isChannelValid() || !CHANNEL.equals(channelName)) {
                  // Controller has already started
                  jmsConnection.resend(msg, msg.getTo());
                  if (log.isTraceEnabled()) {
                      log.trace("Resending harvest channel validity message for channel '{}'", channelName);
                  }
                  return;
              }
      
              if (!msg.isValid()) {
                  log.error("Received message stating that channel '{}' is invalid. Will stop. "
                              + "Probable cause: the channel is not one of the known channels stored in the channels table", channelName);
                  close();
                  return;
              }
      

      It should also send a notification about the problem before shutting down.

        Attachments

          Activity

            People

            • Assignee:
              svc Søren Vejrup Carlsen
              Reporter:
              svc Søren Vejrup Carlsen
            • Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - Not Specified
                Not Specified
                Logged:
                Time Spent - 1m
                1m