1. Knowledge Base
  2. Implementation/Admin Learning Path

What do the Sync History statuses mean?

When viewing your Integration Sync Status table you will see the following statuses.

Last Updated: 02/09/2024

Integration Syncing

In order to make sense of the statuses shown in the integration sync history tab you should understand the following about how integration sync's work. 

First, NopSec controls the schedule an integration uses to begin it's sync with the scanner's API. You can work with your Customer Success team to update these schedules or run ad-hoc syncs.

Second, the process for a sync is as follows:

  1. NopSec authenticates to the API using the credentials provided for the integration.
    1. If the credentials provided do not authenticate we will display an error named "CREDENTIAL_ERROR"
    2. This typically means that the credentials are wrong, have expired, or the permissions set within the Scanner for these credentials is restricting access to the APIs we require.
  2. NopSec begins the sync process depending on the type of integration. As an example, we'll use an Infrastructure Integration such as Qualys.
    1. We may query several APIs looking for all Assets, Tags, and Vulnerabilities.
    2. Each scanner is slightly unique but in most cases they provide data in chunks. Each chunk is sent to NopSec until there are no more chunks to send.
    3. If there is an error in communicating with the scanner or in retrieving data the error will be an "API ERROR".
  3. As each chunk is retrieved from the scanner, NopSec begins to process each chunk looking to create or update Targets, Vulnerabilities, and Vuln Instance records in its backend.
    1. There is some processing done here to determine if the data being brought in belongs to existing Targets or not.
      1. If the data belongs to a Target that has been previously seen (last sync) then NopSec creates the vuln instance records and associates them to the Target. Because the Target has been previously seen NopSec has previously run a Data Access Query sync which means that NopSec knows which teams can see this Target. Because it knows which Teams can see this Target then all users for those teams will immediately (near real time after the chunk has been processed) begin to see these records in queries or dashboards. 
      2. If the data belongs to a NEW Target that has not been previously seen then NopSec does not yet know which Teams should have access to these Targets. NopSec creates the records but users have not been allowed access to view them yet. After ALL of the chunks have been processed NopSec runs a Data Access Query update and all Teams are refreshed and are now able to see the new targets. 
      3. This distinction is important to know because the Sync History will show a duration that is potentially very high, but that does not mean data was not available for that time period, it just means that net new Targets were not seen by users until Rsync completion. 
    2. If there is an error in this Chunk processing the error displayed is "GENERIC_ERROR". 
      1. The reason it is a generic error is because the error is an internal error within NopSec and not an error the user can affect. 
      2. If you see this error it does not mean your sync completely failed, it just represents that there was an error. NopSec will kickoff a retry process and oftentimes complete the full task without any other errors, however, the UI currently does not display these changes. The UI will continue to reflect the initial Generic Error.
      3. If you see a Generic Error for the first time in your sync history, we recommend you reach out to your Customer Success team to see if there's a reason.
  4. Once all data is processed from the scanner NopSec updates our sync date and displays a "FINISHED" status.
  5. In some cases depending on the scanner or use case you may see the following statuses:
    1. DELEGATED = This status refers to the task manager having created a second/child task to complete an action. For instance, say NopSec needed to create a Target it may delegate the task to a child process to do so then return back to the parent task to complete the original task. 

Statuses

STARTED Task has started
CREDENTIAL_ERROR NopSec has encountered an authentication error with the specific Scanner API. Check your credentials, scope, and permissions, then update Credentials in NopSec if needed.
API_ERROR NopSec has authenticated with your Scanner API but has encountered an error. This could be a Timeout, a Rate Limitation, or other issues related to NopSec's ability to retrieve data from your API.
GENERIC_ERROR If the error occurs within NopSec controlled code then the error will be displayed as GENERIC_ERROR. In these cases there's nothing you can immediately change to resolve the error. Please contact your Customer Success team to gain insight into this error.
DELEGATED If the task required to a second child task it delegates the task and waits for the child task to complete and return control to the parent task. 
FINISHED The task completed without errors.