Skip to main content

Striim Platform 5.0 documentation

Yugabyte programmer's reference

Yugabyte Reader properties

Before you can use this adapter, Yugabyte must be configured as described in Configuring YugabyteDB to use Yugabyte Reader.

If this reader will be deployed to a Forwarding Agent, install the driver as described in Install the PostgreSQL JDBC driver.

Striim provides wizards for creating applications that read from YugabyteDB and write to various targets. See Creating an application using a wizard for details.

property

type

default value

notes

Bidirectional Marker Table

String

Not supported in this release.

CDDL Action

enum

Process

Appears in Flow Designer only when CDDL Capture is True. See Handling schema evolution.

CDDL Capture

Boolean

False

See Handling schema evolution.

Do not use Find and Replace DDL unless instructed to by Striim support.

CDDL Tracking Table

String

Appears in Flow Designer only when CDDL Capture is True.

Connection Retry Policy

String

retryInterval=30, maxRetries=3

With the default setting, if a connection attempt is unsuccessful, the adapter will try again in 30 seconds (retryInterval. If the second attempt is unsuccessful, in 30 seconds it will try a third time (maxRetries). If that is unsuccessful, the adapter will fail and log an exception. Negative values are not supported.

Connection URL

String

jdbc:postgresql:// followed by the primary server's IP address or network name, a colon, the port number, and a slash followed by the database name. If the database name is omitted, the Username value is used as the database name.

Yugabyte Reader cannot read from a replica (standby) server since the replication slot is in the primary server.

Excluded Tables

String

Data for any tables specified here will not be returned. For example, if Tables uses a wildcard, data from any tables specified here will be omitted. Multiple table names (separated by semicolons) and wildcards may be used exactly as for Tables.

Filter Transaction Boundaries

Boolean

True

With the default value of True, begin and commit transactions are filtered out. Set to False to include begin and commit transactions.

JAAS Configuration

String

If you Enable Kerberos authentication, use this property to configure it.

To authenticate using Kerberos, specify java.security.krb5.realm=<Kerberos realm>; java.security.krb5.kdc=<Kerberos server IP address or network name>; javax.security.auth.useSubjectCredsOnly=false; java.security.auth.login.config=/<path>/login.conf.

For example, java.security.krb5.realm=MYDOMAIN.COM; java.security.krb5.kdc=kdc.mydomain.com; javax.security.auth.useSubjectCredsOnly=false; java.security.auth.login.config=/home/Jdbc/Security/login.conf.

You must also append the appropriate application name from the specified 'login.conf (see Enable Kerberos authentication) to the connection URL. For example, jdbc:postgresql://<ip address>:<port>/<database name>&jaasApplicationName=<application name>.

Password

encrypted password

the password specified for the username (see Encrypted passwords)

Replication Slot Name

String

striim_slot

The name of the replication slot created as described in Configuring YugabyteDB to use Yugabyte Reader. If you have multiple instances of Yugabyte Reader, each must have its own slot.

Start LSN

String

By default, only new transactions are read. Optionally, specify a log sequence number to start reading from that point.

If you are using schema evolution (see Handling schema evolution, set a Start LSN only if you are sure that there have been no DDL changes after that point.Handling schema evolution

Tables

String

The table(s) for which to return change data. Tables must have primary keys or REPLICA IDENTITY set to FULL (required for logical replication).

Names are case-sensitive. Specify source table names as <schema>.<table>) (The database is specified in the connection URL.)

Do not modify this property when CDDL Capture is True or recovery is enabled for the application.

You may specify multiple tables as a list separated by semicolons or using the following wildcards in the schema and/or table names only (not in the database name):

  • %: any series of characters

  • _: any single character

For example, %.% would include all tables in all schemas in the database specified in the connection URL.

The % wildcard is allowed only at the end of the string. For example, mydb.prefix% is valid, but mydb.%suffix is not.

All tables specified must have primary keys. Tables without primary keys are not included in output.

Known issue DEV-27752: this adapter can not read partitioned tables. See wal2json issue #259.

If any specified tables are missing Striim will issue a warning. If none of the specified tables exists, start will fail with a "found no tables" error.

If you have multiple instances of Yugabyte Reader, each should read a separate set of tables.

Username

String

the login name for the user created as described in Configuring YugabyteDB to use Yugabyte Reader

Yugabyte Config

String

{"ReplicationPluginConfig": {"Name": "WAL2JSON", "Format": "1"}}

Change 1 to 2 to use wal2json format 2 (see the wal2json readme for more information).