Skip to content

Latest commit

 

History

History
156 lines (128 loc) · 4.61 KB

File metadata and controls

156 lines (128 loc) · 4.61 KB

OpenLogReplicator.json config file

Author: Adam Leszczyński <aleszczynski@bersler.com>, version: 1.9.0, date: 2026-01-31

This section describes the JSON configuration file used by OpenLogReplicator. The configuration is a single JSON object that contains top-level elements such as source, target and global options. Files matching the documented schema ensure predictable behavior across upgrades.

JSON config file main elements

JSON config file main elements

The configuration file must contain a single JSON object with the parameters documented below. Use the version field to verify compatibility when upgrading the application.

Table 1. Global parameters
Parameter Type / constraints Description and notes

source

list of source elements, mandatory

One or more source entries describing where redo logs come from. Typical deployments use a single source element.

target

list of target elements, mandatory

One or more target entries describing sinks / outputs. Typical deployments use a single target element.

version

string, max length: 256, mandatory

Exact configuration schema version. Current required value: "1.9.0".

TIP: Use the version field as a guard during upgrades. Consult the release notes for schema changes before reusing an old configuration file.

dump-path

string, max length: 256, default: .

Directory where logdump-style files are written when dump-redo-log is enabled.

NOTE: Path may be relative to the process working directory. Ensure the process user can write to this location.

dump-raw-data

integer, min: 0, max: 1, default: 0

When enabled, prints a HEX dump of vector data in DUMP-<nnn>.trace for deeper analysis.

  • 0 — disabled (default).

  • 1 — include full hex dump per vector.

NOTE: Only applicable when dump-redo-log is non-zero.

dump-redo-log

integer, min: 0, max: 2, default: 0

Create human-readable dumps of processed redo logs.

  • 0 — no dump (default).

  • 1 — produce per-file ` <database>-<nnn>.logdump` similar to logdump.

  • 2 — extended dump with additional internal details (e.g., supplemental log groups).

CAUTION: Dumps are intended for debugging and may not exactly match the external logdump utility output.

log-level

integer, min: 0, max: 4, default: 2

Verbosity of messages written to stderr.

  • 0 — Silent

  • 1 — Error

  • 2 — Warning (default)

  • 3 — Info

  • 4 — Debug

memory

element of memory

Configuration of memory settings.

metrics

element of metrics

Group of options used for collecting metrics of OpenLogReplicator.

state

element of state

Configuration of state settings to store checkpoint information.

trace

integer, min: 0, max: 1048575, default: 0

Bitmask selecting detailed trace output. See source code for available trace flags.

CAUTION: Trace codes and bit assignments may change between releases.

Note
  • Validate version before starting; mismatched versions indicate incompatible configuration semantics.

  • Ensure directories referenced by dump-path and other file-related parameters are writable by the process user.

  • Use conservative log-level and trace settings in production. Enable higher verbosity only when diagnosing specific issues.

  • When modifying the configuration for an existing deployment (especially source/target names or format), create fresh checkpoints when necessary to avoid restart or recovery issues.

Example minimal configuration (JSON)
{
  "version": "1.9.0",
  "source": [
    {
      "alias": "SOURCE",
      "name": "DBNAME",
      "reader": {
        "type": "online",
        "user": "user1",
        "password": "Password1",
        "server": "//host:1521/SERVICE"
      },
      "format": {
        "type": "json"
      },
      "filter": {
        "table": [
          {"owner": "OWNER1", "table": "TABLENAME1", "key": "COL1,COL2,COL3"},
          {"owner": "OWNER1", "table": "TABLENAME2"},
          {"owner": "OWNER2", "table": "TAB.*"}
        ]
      }
    }
  ],
  "target": [
    {
      "alias": "KAFKA",
      "source": "SOURCE",
      "writer": {
        "type": "kafka",
        "topic": "TOPIC",
        "properties": {
          "bootstrap.servers": "localhost:9092"
        }
      }
    }
  ]
}