I'm currently trying to set up a build-in Kafka Connector from an enterprise-licensed GraphDB cluster. The connector should be SSL-enabled and requires a trust and key store to communicate properly with the cluster.
Our current producer configuration is as follows:
PREFIX :<http://www.ontotext.com/connectors/kafka#>
PREFIX inst:<http://www.ontotext.com/connectors/kafka/instance#>
INSERT DATA { inst:test_con :createConnector ''' {
"fields": [
...
],
"languages": [],
"types": [
...
],
"readonly": false,
"detectFields": false,
"importGraph": false,
"skipInitialIndexing": false,
"kafkaNode": "broker:9093",
"kafkaTopic": "my_topic",
"kafkaCompressionType": "snappy",
"kafkaProducerConfig": {
"security.protocol": "SSL",
"ssl.keystore.type": "PKCS12",
"ssl.truststore.type": "PKCS12",
"ssl.keystore.location": "/etc/system/certs/keystore.p12",
"ssl.keystore.password": "",
"ssl.truststore.location": "/etc/system/certs/truststore.p12",
"ssl.truststore.password": "",
"ssl.client.auth": "required",
"ssl.enabled.protocols": "TLSv1.3,TLSv1.2,TLSv1.1,TLSv1"
},
"kafkaIgnoreDeleteAll": false,
"kafkaPropagateConfig": false
} ''' .
}
This config is basically the same as we were using for another producer application as well (not in GraphDB). The other application could succesfully produce messages into our cluster.
However, when I try to create the producer with this config, I receive the following error message: "Error 500: Internal Server Error Unable to create connector: Transactional Id authorization failed."
In the official GraphDB docs, I found the following statement:
kafkaProducerConfig (JSON), optional, the settings for creating the Kafka producer. This option is passed directly to the Kafka producer when it is instantiated. Each key is a Kafka producer configuration property. Some config keys, e.g., transactional.id, are not allowed here. No default.
How can I know what the transactional id is, that Grahdb is trying to use here? Does someone have any experience with this?
Some side notes to the broker / target cluster:
- It is a managed cluster (I can't see any logs)
- It uses ACLs, the producer key is authorized for accessing the topic
- No transcaction id ACLs are defined
Any help is much appreciated!