You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/docs/asciidoc/User-Guide.adoc
+17-2Lines changed: 17 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ This guide assumes you are familiar with Spark set up and Spark Structured Strea
35
35
36
36
=== Supported Platforms
37
37
38
-
The connector is built on the Spark Structured Streaming API and has been tested on Azure Databricks(15.4 LTS (includes Apache Spark 3.5.0, Scala 2.12) with photon acceleration disabled). Since the Databricks runtime is consistent across all supported cloud platforms(AWS & Google Cloud), it is expected to behave similarly in other Databricks environments. Additionally, the connector has been validated on vanilla Apache Spark, ensuring compatibility with any platform that supports standard Spark deployments.
38
+
The connector is built on the Spark Structured Streaming API and has been tested on Azure Databricks(15.4 LTS (includes Apache Spark 3.5.0, Scala 2.12) with photon acceleration disabled and 16.4 LTS(includes Apache Spark 3.5.2, Scala 2.12)). Since the Databricks runtime is consistent across all supported cloud platforms(AWS & Google Cloud), it is expected to behave similarly in other Databricks environments. Additionally, the connector has been validated on vanilla Apache Spark, ensuring compatibility with any platform that supports standard Spark deployments.
39
39
40
40
=== Quick Start common steps
41
41
@@ -67,12 +67,27 @@ Solace Spark connector relies on Spark Checkpointing mechanism to resume from la
67
67
68
68
=== Checkpoint Handling
69
69
70
-
Starting from version 3.1.0 connector, solace connection is now executed on worker node instead of driver node. This give us the ability to utilize cluster resource efficiently and also improves processing performance. The connector uses Solace LVQ to store checkpoint along with Spark Checkpoint.
70
+
Starting from version 3.1.0 connector, solace connection is now executed on worker node instead of driver node. This gives us the ability to utilize cluster resource efficiently and also improves processing performance. The connector uses Solace LVQ to store checkpoint along with Spark Checkpoint.
71
71
72
72
NOTE: In case of recovery, connector uses offset state from LVQ to identify last successfully processed messages. Hence, it is recommended not to delete or modify offset state in LVQ.
73
73
74
74
In some cases, there might be checkpoint failures as spark may fail to write to checkpoint during instance crash or unavailability or other reasons. Though the connector will handle duplicates in most cases, we recommend to keep your downstream systems idempotent.
75
75
76
+
==== Pre-requisites for LVQ creation
77
+
The following pre-requisites are applicable for LVQ that are provisioned by Solace Administrator.
78
+
1. The Queue should be of type Exclusive
79
+
2. Spool Quota should be set to 0
80
+
3. Owner of the Queue should be the client username used by the micro integration
81
+
4. Non-Owner access should be set to No Access to prevent unauthorized access
82
+
5. Add a topic subscription
83
+
6. Ensure the ACL applied to the user has publish access to the topic subscribed by LVQ
84
+
85
+
The following pre-requisites are applicable if the micro integration need to create LVQ if it doesn't exist.
86
+
87
+
1. Ensure the Client Profile applied to the user has "Allow Client to Create Endpoints" enabled.
88
+
2. Ensure the ACL applied to the user has publish and subscribe access to the topic subscribed by LVQ. The Subscribe access is required to programmatically apply the topic subscription to LVQ.
89
+
3. The Micro Integration will create a LVQ with pre-requisites mentioned in above section.
90
+
76
91
=== User Authentication
77
92
78
93
Solace Spark Connector supports Basic, Client Certificate and OAuth authentication to Solace. Client Credentials flow is supported when connecting using OAuth.
a| Set this value if your Solace Message has unique ID in message header. Supported Values are
212
-
213
-
* MESSAGE_ID
214
-
* CORRELATION_ID
215
-
* APPLICATION_MESSAGE_ID
216
-
* <CUSTOM_USER_PROPERTY> - refers to one of headers in user properties
217
-
Header.
218
-
219
-
Note: Default value uses replication group message ID property as offset indicator. ReplicationGroupMessageId is a unique message id across a broker cluster.
log.info("SolaceSparkConnector - Initial Offset from LVQ is not available, the micro integration will use the available offset in checkpoint else a new checkpoint state will be created");
log.warn("SolaceSparkConnector - Exception when deserializing offset. May be due incompatible formats. Connector will try to migrate to latest offset format.");
log.error("SolaceSparkConnector - Exception when migrating offset to latest format.");
244
-
thrownewRuntimeException("SolaceSparkConnector - Exception when migrating offset to latest format.", e);
253
+
thrownewRuntimeException("SolaceSparkConnector - Exception when migrating offset to latest format. Please delete the checkpoint and restart the micro integration", e);
0 commit comments