Setting row-level TTL values from Pulsar fields
In the Apache Pulsar™ topic mapping, you can optionally specify which column should be used as the ttl (time-to-live) of the record being inserted into the database table.
The mapping setting provides a special property,
The format is:
mapping: 'col1=key.f1, col2=value.f1, __ttl=value.f2'
When you specify a
ttl value to be used while inserting the record, by mapping __ttl or .ttl static configuration, you can further specify a
The default is
If you want to specify a
ttl value in a unit such as
DataStax Apache Pulsar Connector automatically transforms the value to
SECONDS, which is the DSE
The transformation also applies for static .ttl field configuration:
ttl is provided via mapping, such as
mapping: `__ttl=value.f2, and by the
ttl static configuration (
ttl: 86400) the
ttl value from the mapping takes precedence and is used.
If you set
ttl in both resources, DataStax Apache Pulsar™ Connector writes a warning message in the log file.
When you configure
ttl, all rows for that topic table will have this same
DataStax Apache Pulsar™ Connector appends
AND TTL <configured-ttl-value> to the INSERT statement for those rows.
When doing dynamic configuration, if the
ttl field value is negative, an error is thrown during the insert of the record into a database table.
However, because the Pulsar connector is a streaming system, DataStax Apache Pulsar Connector resorts to inserting the record without the