> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LOAD

> Reference for the `LOAD` DLC operation, covering the `DlcLoadRequest` fields (topics, overrides, scope, branch, garbage collection) and the `DlcLoadResponse` and `LoadReport` returned.

## Overview

The following request fields control which topics load, into which branch, and with what scope.

## Request

<Tabs>
  <Tab title="Java">
    ### `DlcLoadRequest`

    | Key                   | Required | Type                            | Description                                                                                          |
    | --------------------- | :------: | :------------------------------ | ---------------------------------------------------------------------------------------------------- |
    | topics                |     Y    | `Set<String>`                   | Set of topics or aliases.                                                                            |
    | topicOverrides        |          | `Set<ILoadingTopicDescription>` | Topic overrides.                                                                                     |
    | scope                 |          | `IDlcScope`                     | [Scope Parameters](/functional/scope-parameters)                                                     |
    | branch                |          | `String`                        | The branch to operate on.                                                                            |
    | performGcOnStart      |          | `Boolean`                       | Perform a [Garbage collection](/functional/garbage-collection) before the datastore transaction.     |
    | performGcOnCompletion |          | `Boolean`                       | Perform a [Garbage collection](/functional/garbage-collection) after the datastore transaction.      |
    | sourceName            |          | `String`                        | The source name to operate on. See [source to topic matching](/functional/source-to-topic-matching). |
    | sourceType            |          | `DlcSourceType`                 | The source type to operate on. See [source to topic matching](/functional/source-to-topic-matching). |

    #### Example:

    ```Java theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
    DlcLoadRequest.builder()
        .topics("Topic1", "Topic2") // Required
        .topicOverrides(Set.of(CsvTopicDescription.builder("TopicToOverride", "glob:file*.csv")...build()))
        .scope(DlcScope.of("ScopeKey1", "ScopeValue1"))
        .branch("BranchToLoadInto")
        .sourceName("NameOfSourceToUse")
        .sourceType(DlcSourceType.LOCAL_SOURCE)
        .build();
    ```
  </Tab>

  <Tab title="JSON">
    ### `DlcLoadRequestDTO`

    | Key                   | Required | Type                               | Description                                                                                          |
    | --------------------- | :------: | :--------------------------------- | ---------------------------------------------------------------------------------------------------- |
    | topics                |     Y    | `Set<String>`                      | Set of topics or aliases.                                                                            |
    | csvTopicOverrides     |          | `Map<String, CsvTopicProperties>`  | CSV Topic overrides.                                                                                 |
    | jdbcTopicOverrides    |          | `Map<String, JdbcTopicProperties>` | JDBC Topic overrides.                                                                                |
    | scope                 |          | `Map<String, Object>`              | [Scope Parameters](/functional/scope-parameters)                                                     |
    | branch                |          | `String`                           | The branch to operate on.                                                                            |
    | performGcOnStart      |          | `Boolean`                          | Perform a [Garbage collection](/functional/garbage-collection) before the datastore transaction.     |
    | performGcOnCompletion |          | `Boolean`                          | Perform a Garbage collection after the datastore transaction.                                        |
    | sourceName            |          | `String`                           | The source name to operate on. See [source to topic matching](/functional/source-to-topic-matching). |
    | sourceType            |          | `DlcSourceType`                    | The source type to operate on. See [source to topic matching](/functional/source-to-topic-matching). |

    #### Example:

    ```json theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
    {
      "operation": "LOAD",
      "topics": ["Topic1", "Topic2"],
      "csvTopicOverrides": {
        "TopicToOverride": {
          "path": "glob:file*.csv"
        }
      },
      "scope": {
        "ScopeKey1": "ScopeValue1"
      },
      "branch": "BranchToLoadInto",
      "performGcOnStart": true,
      "performGcOnCompletion": true,
      "sourceName": "NameOfSourceToUse",
      "sourceType": "LOCAL_SOURCE"
    }
    ```
  </Tab>
</Tabs>

## Response

<Tabs>
  <Tab title="Java">
    ### `DlcLoadResponse`

    | Key    | Type         | Description                                           |
    | ------ | :----------- | ----------------------------------------------------- |
    | report | `LoadReport` | Report of what occurred during the loading operation. |
    | status | `DlcStatus`  | Status of the DLC Operation.                          |

    ### `LoadReport`

    | Key               | Type                                                        | Description                                                                                                                                                                                                              |
    | ----------------- | :---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | parsingReport     | `Map<String, Map<String, ITopicParsingReport>>`             | Per source and per topic parsing report provided by the Atoti API. Will contain fine-grain details. Needs to be enabled either in the Source Configuration or through global property `activeviam.msg.reporting.enabled` |
    | errors            | `Map<String, List<DlcMessageCollector.OnError>>`            | Errors that occurred while loading.                                                                                                                                                                                      |
    | messagesPublished | `Map<String, List<DlcMessageCollector.OnMessagePublished>>` | The Atoti message when the records are published to the datastore.                                                                                                                                                       |
    | messageStarted    | `Map<String, List<DlcMessageCollector.OnMessageStarted>>`   | The Atoti message when the records are sent to the Tuple Publisher.                                                                                                                                                      |

    ### `DlcStatus`

    A simple enum to capture if the DLC request was executed.

    | Key   | Description                                     |
    | ----- | ----------------------------------------------- |
    | OK    | Request was handled successfully.               |
    | ERROR | Request was not able to be performed correctly. |
  </Tab>

  <Tab title="JSON">
    ### `DlcLoadResponseDTO`

    | Key               | Type                                                        | Description                                                                                                                                                                                                              |
    | ----------------- | :---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | parsingReport     | `Map<String, Map<String, ITopicParsingReport>>`             | Per source and per topic parsing report provided by the Atoti API. Will contain fine-grain details. Needs to be enabled either in the Source Configuration or through global property `activeviam.msg.reporting.enabled` |
    | errors            | `Map<String, List<DlcMessageCollector.OnError>>`            | Errors that occurred while loading.                                                                                                                                                                                      |
    | messagesPublished | `Map<String, List<DlcMessageCollector.OnMessagePublished>>` | The Atoti message when the records are published to the datastore.                                                                                                                                                       |
    | messageStarted    | `Map<String, List<DlcMessageCollector.OnMessageStarted>>`   | The Atoti message when the records are sent to the Tuple Publisher.                                                                                                                                                      |
    | status            | `DlcStatus`                                                 | Status of the DLC Operation.                                                                                                                                                                                             |

    #### Example:

    ```json theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
    {
      "parsingReport": {},
      "errors": {},
      "messagesPublished": {
        "sourceName": [
          {
            "key": "FileSystemFileInfo [fullName=root/file.csv, lastModifiedTime=Tue Feb 25 16:14:22 EST 2025]",
            "info": {
              "publishedObjectCount": 30,
              "characterCount": 6342,
              "lineCount": 31,
              "byteCount": 6342,
              "elapsedTime": 0.021108000,
              "aggregatedTime": 15301750,
              "aggregatedReadingTime": 3976791,
              "aggregatedDecodingTime": 78834,
              "aggregatedParsingTime": 702750,
              "aggregatedPublicationTime": 10543375,
              "exceptions": [],
              "creationTime": "2025-03-18T00:59:18.449823Z",
              "numberSkippedLines": 1
            }
          }
        ]
      },
      "messageStarted": {
        "sourceName": [
          {
            "key": "FileSystemFileInfo [fullName=root/file.csv, lastModifiedTime=Tue Feb 25 16:14:22 EST 2025]"
          }
        ]
      },
      "status": "OK"
    }
    ```
  </Tab>
</Tabs>
