- Updated Confluent Hub description
- Added a new SObjects sink connector to publish Salesforce PushTopic events previously captured with a different Salesforce PushTopic source connector. A use case for using these two connectors is copying events from one Salesforce account to another via Apache Kafka®.
- Added a new Platform Events sink connector to publish Salesforce Platform Events previously captured with a different Salesforce Platform Event source connector. A use case for using these two connectors is to copy events from one Salesforce account to another via Kafka.
- Include the Salesforce error code in the connector failure message.
- Improve the handling and reconnection logic of the connector. The connector now continues to immediately reconnect on many of the Salesforce errors, including authentication failures (401 errors), handshake denied (403 error), unknown clients (403 error), and incomplete handshake (403 error). The connector will delay reconnecting between 5 and 1 minutes when the errors signfiy that API limits were exceeded or if the server is too busy (403 error). The connector task will fail if any error is such that the connector cannot proceed, including unknown channel and other 404 errors, and 400, 413, and 500 errors.
- Updated support terms
- Fixed an issue where timestamps in PushTopic events and Platform events were parsed into the incorrect timestamps in the records written to Kafka.
- The connector that captures Salesforce PushTopic events was renamed to
io.confluent.salesforce.SalesforcePushTopicSourceConnector. The old class name
io.confluent.salesforce.SalesforceSourceConnectoris still available but has been deprecated. As soon as it is convenient, change your existing connector configurations to use
io.confluent.salesforce.SalesforcePushTopicSourceConnectorfor the connector class name.
- Add a new source connector to capture Salesforce Platform Events. This source connector is named
salesforce.initial.startconfiguration property for both Salesforce connectors to allow users to specify where a newly created connector should start replaying events. Use
allto send a replayId of -2 to Salesforce that replays all events enqueued within the last 24 hours, or use
latestto send a replayId of -1 to Salesforce that plays only events enqueued after the connector starts. The default is
latestin case there are more enqueued events than might be allowed by API limits.
- Added an ability to use an HTTP proxy. The
http.proxyconfiguration property is available in both Salesforce connectors. This property specifies the HTTP(S) proxy host and port the connector should use when talking to Salesforce. It defaults to a blank string, which corresponds to not using a proxy and directly connecting to Salesforce API.
- Corrected how the
salesforce.instanceproperty is interpreted. It now defaults to
https://login.salesforce.com, which provides backward compatibility that should work for most users. It can be set to
https://test.salesforce.comto use a test environment in Salesforce.
- Both connectors now automatically refresh the OAuth token when needed. Previously, the connector would stop writing events to Kafka after the OAuth token expired, or about 24 hours after it was last used.
- Once the Salesforce connectors successfully authenticate, any subsequent request failures are automatically retried using exponential backoff. A new
request.max.retries.time.msconnector configuration property specifies the maximum time in milliseconds that the connector retries failed requests after authentication succeeds. The backoff period for each retry attempt uses a randomization function that grows exponentially. But, if the total time spent retrying the request exceeds this duration (15 minutes by default) retries stop and the request fails. This will likely result in task failure.
- Both connectors now use a Confluent license upon startup and the connector configurations include license-related configuration properties. See Configuration Properties and Configuration Properties for details.
Salesforce Connector v1.0.0-Preview¶
Initial preview version.