---
sourceDocument: Brazil Workflow Data Fabric
sourceDocumentLink: https://www.servicenow.com/docs/r/integrate-applications

 Release :

    - brazil

ft:locale :

    - en-US

ft:publication_title :

    - Brazil Workflow Data Fabric

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# Concurrent imports

# Concurrent imports {#ariaid-title1}

Release version: Brazil  
Updated September 10, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Concurrent imports

Concurrent imports in ServiceNow allow you to split large incoming data sets into multiple import sets and transform them simultaneously.
This reduces the overall processing time, especially useful when importing large volumes of data with time-consuming scripts.
Concurrent imports are best suited for scenarios where the order of processing does not matter.
If order is important, you can partition the import sets to maintain sequential processing within each partition.
Show full answer Show less  
Note that concurrent imports introduce additional processing and monitoring overhead, so they should only be enabled after optimizing other parameters such as database indexes and transformation logic.

## Scheduling Concurrent Imports

To enable concurrent imports, select the **Concurrent Import** option on the Scheduled Data Import form. When triggered, data is loaded into a staging table and then transformed concurrently across multiple import sets. The number of concurrent import sets created depends on the system property `glide.scheduledimport.max.concurrent.importsets` (default is 10), and can vary based on your cluster size.

## Import Set Transformer Jobs and Monitoring

Each active node runs Import Set Transformer jobs that process import sets concurrently based on available worker threads. Concurrent Import Set records track all related import sets, jobs, and transform histories, allowing you to resume or reprocess import sets if needed.

The Concurrent Import Sets Jobs table shows the status and type of each job, helping you monitor concurrent import progress effectively.

## Partitioning and Hierarchical Imports

You can partition import sets to maintain processing order within partitions by defining a custom partition key in a script. Rows sharing the same partition key are processed sequentially within the same import set.

For complex workflows, hierarchical imports allow scheduling child imports to run after parent imports complete. For concurrent imports, child imports start only after all Import Set Transformer jobs in the parent finish, ensuring orderly execution through a generated execution plan.

## Synchronized Inserts

Using coalesce fields, concurrent imports check for existing records to update or insert new ones accordingly. To avoid duplicate inserts during concurrent processing, write locks are established on the target table when a record is inserted, preventing other import sets from inserting the same record simultaneously.

## Important Tables for Concurrent Imports

* **Concurrent Import Set (sysconcurrentimportset):** Stores details for each concurrent import set.
* **Concurrent Import Set Jobs (sysconcurrentimportsetjob):** Lists import sets queued for processing.
* **Execution Context for Scheduled Import (sysexecutioncontext):** Defines execution context and next scheduled imports in hierarchical imports.
* **Hierarchical Scheduled Import Execution Plan (sysexecutionplan):** Stores the execution plan tree for managing import order in hierarchies.

## Domain Separation

You can enable domain separation for concurrent imports by adding the `sysdomain` field to the scheduled import table. This ensures that import set loading and transformation jobs run within the specified domain context, supporting multi-domain environments.  
Split incoming data into multiple import sets and transform the import sets concurrently to reduce processing time.

Running a concurrent import can be helpful when order does not matter and imports take a long
time due to large data sets with time-consuming scripts. If order matters, you can split the
import into multiple partitions to ensure that each partition is processed in order.  
Note:  
Concurrent imports add processing and monitoring overhead. Use them only with large data sets.

Enable concurrent imports only after fine-tuning all other parameters, such as database indexes
and transformations.

## Scheduling concurrent imports {#concurrent-imports__section_kq2_bvb_vfb}

You enable concurrent imports by selecting Concurrent Import on the
Scheduled Data Import form. For instructions, see [Schedule a data import](https://www.servicenow.com/docs/eoOoCekJL66azyC8Pfknaw "Schedule imports to make it possible to specify that certain import operations occur at a regular interval.").

When the schedule runs a concurrent import, the system pulls the data from databases, Excel
spreadsheets, CSV files, or other sources to a temporary staging table, and then transforms the
data from the staging table to the target table.

When you run a concurrent import, the system creates multiple import sets, up to the value of
the glide.scheduled_import.max.concurrent.import_sets system property
(default = 10). For example, a two-node cluster produces four import sets, and a ten-node
cluster produces ten import sets.

## Import Set Transformer job {#concurrent-imports__section_qbl_r2c_vfb}

Each active node runs two Import Set Transformer jobs every minute, and those jobs poll the
Concurrent Import Sets Jobs queue, pick import sets from the queue, and transform those import
sets. All jobs run concurrently, depending on the availability of worker threads.

## Concurrent Import Set record

Each concurrent import creates a Concurrent Import Set record. The form view shows all related
import sets, concurrent import set jobs, and transform histories.

You can resume or reprocess any import set. For more information, see [Monitor concurrent import sets](https://www.servicenow.com/docs/Tlc1h~vE9UQrbri5iJ_kdw "Monitor concurrent import sets to check the status of import sets and import set jobs, resume or reprocess import sets, and view transform history.").

## Concurrent Import Sets Jobs queue {#concurrent-imports__section_jz1_dzb_vfb}

After loading data, the system adds the import sets to the Concurrent Import Sets Jobs table.
The Concurrent Import Sets Jobs table indicates the job type and status of each concurrent
import set job.

For more information, see [Monitor concurrent import set jobs](https://www.servicenow.com/docs/1D7~4c0egw176O10vvKrOA "Check the status of concurrent import set jobs.").

## Partitioning concurrent imports {#concurrent-imports__section_kls_34p_5fb}

You can partition import sets to maintain the processing order within each partition.

By default, the system allocates records to import sets in a round robin fashion. However, you
can write a custom script to define a custom partition key that identifies the
target import set. Every row with the same partition key adds to the same import set, and the
data in that import set is processed in sequential order.

## Hierarchical imports {#concurrent-imports__section_esl_mjc_vfb}

You can create a scheduled import set hierarchy by scheduling an import to run after another
import set completes. One parent scheduled import can have many child scheduled imports, and
each child scheduled import executes in the order specified. For concurrent scheduled imports,
child scheduled imports can be started only after all Import Set Transformer jobs complete.

The last Import Set Transformer job starts the next import in the hierarchy.

The system generates an execution plan at the beginning of parent import process. Each import
process uses the execution plan to fetch the next process to invoke. For concurrent imports, the
last Import Set Transformer job fetches the next import and executes it.

## Synchronized inserts {#concurrent-imports__section_urd_t4c_vfb}

Coalesce fields help define uniqueness among records. The transformation process checks for an
existing record with the coalesce values and updates the existing record, if it exists, or
inserts a new record if none exists. For more information, see [Updating records using coalesce](https://www.servicenow.com/docs/MbsHYjRYr~qKJfrgoSh0_g "The coalesce option allows you to update existing target table records when transforming import data.").

By default, concurrent imports allow each running import set to insert new records. When an
import set inserts a record, it establishes a write lock on the target table to prevent other
import sets from inserting the same record.

## Tables for concurrent imports {#concurrent-imports__section_wml_lrc_vfb}

{#concurrent-imports__table_iw1_nrc_vfb__entry__2}

| Table | Description |
|-|-|
| Concurrent Import Set (sys_concurrent_import_set) | Stores details of each concurrent import set in import set records. |
| Concurrent Import Set Jobs (sys_concurrent_import_set_job) | Lists the import sets to be processed. |
| Execution Context for Scheduled import (sys_execution_context) | Specifies the execution context for each scheduled import. The execution context specifies the next scheduled import to use when processing a hierarchical scheduled import. |
| Hierarchical scheduled import execution plan (sys_execution_plan). | Stores the execution plan for hierarchical imports. The execution plan is a tree structure that identifies which scheduled import runs after the preceding scheduled input. |
[ ]

{#concurrent-imports__table_iw1_nrc_vfb}

## Domain Separation with concurrent imports {#concurrent-imports__section_f21_nnp_5fb}

You can add the sys_domain field to a scheduled import table to enable domain separation for
the import set. Both import set loading and transform jobs run in the domain specified in the
scheduled import set job.

