execute

in lib/core/filtering/validation_job_runner.rb [21:48]


      def execute
        Utility::Logger.info("Starting a validation job for connector #{@connector_settings.id}.")

        validation_result = @connector_class.validate_filtering(@connector_settings.filtering[:draft])

        
        ElasticConnectorActions.update_filtering_validation(@connector_settings.id, { Core::Filtering::DEFAULT_DOMAIN => validation_result })

        @validation_finished = true
      rescue StandardError => e
        Utility::ExceptionTracking.log_exception(e)
        validation_failed_result = { :state => Core::Filtering::ValidationStatus::INVALID,
                                     :errors => [
                                       { :ids => [], :messages => ['Unknown problem occurred while validating, see logs for details.'] }
                                     ] }
        ElasticConnectorActions.update_filtering_validation(@connector_settings.id, { DEFAULT_DOMAIN => validation_failed_result })
      ensure
        if !@validation_finished && !@status[:error].present?
          @status[:error] = 'Validation thread did not finish execution. Check connector logs for more details.'
        end

        if @status[:error]
          Utility::Logger.warn("Failed to validate filtering for connector #{@connector_settings.id} with error '#{@status[:error]}'.")
        else
          Utility::Logger.info("Successfully validated filtering for connector #{@connector_settings.id}.")
        end
      end