{
  "schema_version": 2,
  "id": "integrate/redis-data-integration/troubleshooting",
  "title": "Troubleshooting",
  "url": "https://redis.io/docs/latest/integrate/redis-data-integration/troubleshooting/",
  "summary": "Solve and report simple problems with RDI",
  "aliases": [
    "/integrate/redis-data-integration/ingest/troubleshooting/"
  ],
  "tags": [
    "docs",
    "integrate",
    "rs",
    "rdi"
  ],
  "last_updated": "2026-10-13T23:41:57+03:00",
  "page_type": "content",
  "content_hash": "e7b0112e47772c6a4da455ec008a997193d98e03c97fb61aebd000149b7246ba",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "The following sections explain how you can get extra information from\nRedis Data Integration (RDI) to help you solve problems that you may encounter. Redis support may\nalso ask you to provide this information to help you resolve issues."
    },
    {
      "id": "install-debug",
      "title": "Debug information during installation",
      "role": "content",
      "text": "If the installer fails with an error, then try installing again with the\nlog level set to `DEBUG`:\n\n[code example]\n\nThis gives you more detail about the installation steps and can often\nhelp you to pinpoint the source of the error."
    },
    {
      "id": "rdi-logs",
      "title": "RDI logs",
      "role": "content",
      "text": "By default, RDI records the following logs in the host VM file system at\n`/opt/rdi/logs` (or whichever path you specified during installation);\n\n| Filename | Phase |\n| :-- | :-- |\n| `rdi_collector-collector-initializer.log` | Initializing the collector. |\n| `rdi_collector-debezium-ssl-init.log` | Establishing the connector SSL connections to the source and RDI database (if you are using SSL). |\n| `rdi_collector-collector-source.log` | Collector [change data capture (CDC)](https://redis.io/docs/latest/integrate/redis-data-integration/architecture) operations. |\n| `rdi_rdi-rdi-operator.log` | Main [RDI control plane](https://redis.io/docs/latest/integrate/redis-data-integration/architecture#how-rdi-is-deployed) component. |\n| `rdi_processor-processor.log` | RDI stream processing. |\n\nLogs are recorded at the minimum `INFO` level in a simple format that\nlog analysis tools can use.\n\n> [!NOTE]\n> Often during the initial sync phase, the collector source log will contain a message\n> saying RDI is out of\n> memory. This is not an error but an informative message to say that RDI\n> is applying *backpressure* to the collector. See\n> [Backpressure mechanism](https://redis.io/docs/latest/integrate/redis-data-integration/architecture#backpressure-mechanism)\n> in the Architecture guide for more information."
    },
    {
      "id": "unavailable-source-history",
      "title": "Recover from unavailable source log history",
      "role": "content",
      "text": "If the collector cannot resume from its saved position, check the collector source log\nfor unavailable or expired source log history. This differs from a missing offset,\nwhich is expected on first deployment or after a reset.\n\nWith `initial` mode, the collector can fail rather than start a new snapshot when the saved\nposition is unavailable. With `when_needed` mode, it will automatically snapshot the current\nselected data and resume streaming. A new snapshot after a restart can therefore\nindicate that the source history was no longer available. See\n[Choose a snapshot mode](https://redis.io/docs/latest/integrate/redis-data-integration/data-pipelines/pipeline-config#choose-a-snapshot-mode)\nfor the connector-specific behavior.\n\nPossible causes include:\n\n- The collector was stopped long enough for the source change log to expire.\n- A configuration change made the collector connect to another server with the same\n  data but different offsets.\n- A cleanup process removed the change log while RDI was running.\n- A crash and restore left the source without the saved offset.\n\nBefore you use a new snapshot to recover, check for\n[missed deletes and stale target records](https://redis.io/docs/latest/integrate/redis-data-integration/data-pipelines/pipeline-config#missed-deletes).\nA snapshot does not replay lost history or delete target records that are absent from\nthe source. Resetting the pipeline also leaves target records in place.\n\nIf the saved position is unavailable, work with Redis support to plan a target cleanup\nor rebuild before relying on the target as a complete copy. Check whether the target\ncontains data from other sources or applications before deleting any records. To reload\nexisting source rows, configure a mode that takes a data snapshot, then\n[reset the pipeline](https://redis.io/docs/latest/integrate/redis-data-integration/data-pipelines/deploy#reset-a-pipeline).\nReview the source's log retention so the required history remains available during\nfuture interruptions."
    },
    {
      "id": "dump-support-package",
      "title": "Dump support package",
      "role": "content",
      "text": "If you need to send a comprehensive set of forensics data to Redis support,\nrun the\n[`redis-di dump-support-package`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-dump-support-package)\ncommand from the CLI.\n\nThis command gathers the following data:\n\n- All the internal RDI components and their status\n- All internal RDI configuration\n- List of secret names used by RDI components (but not the secrets themselves)\n- RDI logs\n- RDI component versions\n- Text of the `config.yaml` file\n- Text of the Job configuration files\n- Rejected records along with the reason for their rejection (should not exist in production)"
    }
  ],
  "examples": [
    {
      "id": "install-debug-ex0",
      "language": "bash",
      "code": "./install.sh --log-level DEBUG",
      "section_id": "install-debug"
    }
  ]
}
