Skip to content

Commit 8482d3e

Browse files
committed
MLE-23466 - Merge develop into master
2 parents 383c361 + b0d2a03 commit 8482d3e

File tree

90 files changed

+418
-1583
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+418
-1583
lines changed

.github/workflows/pr-workflow.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: 🏷️ JIRA ID Validator
2+
3+
on:
4+
# Using pull_request_target instead of pull_request to handle PRs from forks
5+
pull_request_target:
6+
types: [opened, edited, reopened, synchronize]
7+
# No branch filtering - will run on all PRs
8+
9+
jobs:
10+
jira-pr-check:
11+
name: 🏷️ Validate JIRA ticket ID
12+
# Use the reusable workflow from the central repository
13+
uses: marklogic/pr-workflows/.github/workflows/jira-id-check.yml@main
14+
with:
15+
# Pass the PR title from the event context
16+
pr-title: ${{ github.event.pull_request.title }}

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ In the Control Center GUI, you can verify the MarkLogic Kafka connector instance
173173
3. Click on the "marklogic-purchases-sink" connector
174174

175175
You can then verify that data is being written to MarkLogic by using MarkLogic's qconsole application to inspect the
176-
contents of the `kafka-test-content` database.
176+
contents of the `data-hub-FINAL` database.
177177

178178
### Load a MarkLogic Kafka source connector instance
179179
You can also load an instance of the MarkLogic Kafka source connector that will read rows from the `demo/purchases`

Jenkinsfile

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,27 @@ pipeline{
66
buildDiscarder logRotator(artifactDaysToKeepStr: '7', artifactNumToKeepStr: '', daysToKeepStr: '30', numToKeepStr: '')
77
}
88
environment{
9-
JAVA_HOME_DIR="/home/builder/java/openjdk-1.8.0-262"
9+
JAVA_HOME_DIR="/home/builder/java/jdk-11.0.2"
1010
GRADLE_DIR =".gradle"
1111
DMC_USER = credentials('MLBUILD_USER')
1212
DMC_PASSWORD = credentials('MLBUILD_PASSWORD')
1313
}
1414
stages{
1515
stage('tests'){
1616
steps{
17-
copyRPM 'Release','11.0.0'
17+
copyRPM 'Release','11.3.0'
1818
setUpML '$WORKSPACE/xdmp/src/Mark*.rpm'
1919
sh label:'setup', script: '''#!/bin/bash
20-
cd kafka-connector
20+
cd kafka-connector/test-app
2121
echo mlPassword=admin >> gradle-local.properties
2222
'''
2323
sh label:'deploy project', script: '''#!/bin/bash
2424
export JAVA_HOME=$JAVA_HOME_DIR
2525
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
2626
export PATH=$GRADLE_USER_HOME:$JAVA_HOME/bin:$PATH
27-
cd kafka-connector
28-
./gradlew mlDeploy
27+
cd kafka-connector/test-app
28+
./gradlew hubInit
29+
./gradlew mlDeploy -PmlPassword=admin
2930
'''
3031
sh label:'test', script: '''#!/bin/bash
3132
export JAVA_HOME=$JAVA_HOME_DIR

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright © 2023 MarkLogic Corporation.
1+
Copyright (c) 2019-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
22

33
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
44

NOTICE.txt

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,17 @@
11
MarkLogic® Connector for Kafka
22

3-
Copyright © 2024 MarkLogic Corporation. All Rights Reserved.
3+
Copyright © 2019-2025 MarkLogic Corporation. All Rights Reserved.
44

55
To the extent required by the applicable open-source license, a complete machine-readable copy of the source code corresponding to such code is available upon request. This offer is valid to anyone in receipt of this information and shall expire three years following the date of the final distribution of this product version by Progress Software Corporation. To obtain such source code, send an email to [email protected]. Please specify the product and version for which you are requesting source code.
66

7-
Summary
7+
Third Party Notices
88

99
marklogic-data-hub 6.1.1 (Apache-2.0)
1010
ml-app-deployer 5.0.0 (Apache-2.0)
1111
jackson-dataformat-csv 2.17.2 (Apache-2.0)
1212

1313
Common Licenses
1414

15-
Apache License 2.0 (Apache-2.0)
16-
17-
Third-Party Components
18-
19-
The following is a list of the third-party components used by MarkLogic® Connector for Kafka v1.10.0 (last updated November 1, 2024):
20-
21-
marklogic-data-hub 6.1.1 (Apache-2.0)
22-
https://repo1.maven.org/maven2/com/marklogic/marklogic-data-hub/6.1.1/
23-
For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
24-
25-
ml-app-deployer 5.0.0 (Apache-2.0)
26-
https://repo1.maven.org/maven2/com/marklogic/ml-app-deployer/5.0.0/
27-
For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
28-
29-
jackson-dataformat-csv 2.17.2 (Apache-2.0)
30-
https://repo1.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-csv/2.17.2/
31-
For the full text of the Apache-2.0 license, see Apache License 2.0 (Apache-2.0)
32-
33-
Copyright Statements
34-
Copyright ©2009 FasterXML, LLC
35-
36-
License Text (http://spdx.org/licenses/Apache-2.0)
37-
Made available under the Apache License 2.0. See Appendix for full text.
38-
39-
Source materials are available for download at: https://github.com/FasterXML/jackson-databind
40-
41-
Common Licenses
42-
43-
This section shows the text of common third-party licenses used by MarkLogic® Connector for Kafka v1.10.0 (last updated November 1, 2024):
44-
4515
Apache License 2.0 (Apache-2.0)
4616
https://spdx.org/licenses/Apache-2.0.html
4717

build.gradle

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ plugins {
44
id 'com.gradleup.shadow' version '8.3.4'
55

66
// Only used for testing
7-
id 'com.marklogic.ml-gradle' version '5.0.0'
87
id 'jacoco'
98
id "org.sonarqube" version "5.1.0.4882"
109

@@ -27,16 +26,29 @@ repositories {
2726
configurations {
2827
documentation
2928
assets
29+
30+
configurations.all {
31+
resolutionStrategy {
32+
// Force v4.5.0 of commons-collections4 to avoid CVEs in v4.4.0 from transitive dependecies:
33+
// CVE-2025-48924 (https://www.cve.org/CVERecord?id=CVE-2025-48924) and
34+
// CVE-2020-15250 (https://www.cve.org/CVERecord?id=CVE-2020-15250)
35+
force "org.apache.commons:commons-collections4:4.5.0"
36+
37+
// Force v3.18 of commons-lang3 to avoid CVE-2025-48924
38+
// (https://www.cve.org/CVERecord?id=CVE-2025-48924), without also
39+
// upgrading ml-app-deployer to 6.0.0, which we are not ready to do yet.
40+
force 'org.apache.commons:commons-lang3:3.18.0'
41+
}
42+
}
3043
}
3144

3245
ext {
33-
// Even though Kafka Connect 3.7.0 is out, we're staying with 3.6.1 in order to continue
34-
// using the third-party Kafka JUnit tool. See https://github.com/mguenther/kafka-junit?tab=readme-ov-file
35-
kafkaVersion = "3.8.1"
46+
kafkaVersion = "3.9.1"
3647
}
3748

3849
dependencies {
39-
compileOnly "org.apache.kafka:connect-runtime:${kafkaVersion}"
50+
def kafkaConnectRuntime = "org.apache.kafka:connect-runtime:${kafkaVersion}"
51+
compileOnly kafkaConnectRuntime
4052
compileOnly "org.slf4j:slf4j-api:1.7.36"
4153

4254
// Force DHF to use the latest version of ml-app-deployer, which minimizes security vulnerabilities
@@ -60,16 +72,20 @@ dependencies {
6072
testImplementation 'com.marklogic:marklogic-junit5:1.5.0'
6173

6274
testImplementation "org.apache.kafka:connect-json:${kafkaVersion}"
63-
64-
// Can be deleted when the disabled kafka-junit tests are deleted.
65-
testImplementation 'net.mguenther.kafka:kafka-junit:3.6.0'
75+
testImplementation kafkaConnectRuntime
6676

6777
testImplementation "org.apache.avro:avro-compiler:1.12.0"
6878

6979
// Forcing logback to be used for test logging
70-
testImplementation "ch.qos.logback:logback-classic:1.3.14"
80+
testImplementation "ch.qos.logback:logback-classic:1.5.18"
7181
testImplementation "org.slf4j:jcl-over-slf4j:2.0.16"
7282

83+
// Automatic loading of test framework implementation dependencies is deprecated.
84+
// https://docs.gradle.org/current/userguide/upgrading_version_8.html#test_framework_implementation_dependencies
85+
// Without this, once using JUnit 5.12 or higher, Gradle will not find any tests and report an error of:
86+
// org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests
87+
testRuntimeOnly "org.junit.platform:junit-platform-launcher:1.13.4"
88+
7389
documentation files('LICENSE.txt')
7490
documentation files('NOTICE.txt')
7591
documentation files('README.md')

config/marklogic-sink.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ ml.connection.password=
5353
# Set to 'true' to customize how an SSL connection is created. Only supported if securityContextType is 'BASIC' or 'DIGEST'.
5454
# ml.connection.enableCustomSsl=true
5555
# The TLS version to use for custom SSL
56-
# ml.connection.customSsl.tlsVersion=TLSv1.2
56+
# ml.connection.customSsl.tlsVersion=TLS
5757
# The host verification strategy for custom SSL; either 'ANY', 'COMMON', or 'STRICT'
5858
# ml.connection.customSsl.hostNameVerifier=ANY
5959
# Set this to true for 2-way SSL; defaults to 1-way SSL

config/marklogic-source.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ ml.connection.password=kafkatest
4747
# Set to 'true' to customize how an SSL connection is created. Only supported if securityContextType is 'BASIC' or 'DIGEST'.
4848
# ml.connection.enableCustomSsl=true
4949
# The TLS version to use for custom SSL
50-
# ml.connection.customSsl.tlsVersion=TLSv1.2
50+
# ml.connection.customSsl.tlsVersion=TLS
5151
# The host verification strategy for custom SSL; either 'ANY', 'COMMON', or 'STRICT'
5252
# ml.connection.customSsl.hostNameVerifier=ANY
5353
# Set this to true for 2-way SSL; defaults to 1-way SSL

docs/configuring-the-connector.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ The MarkLogic connector provides two options for configuring the usage of SSL wh
9494

9595
If a custom SSL approach is used, you can use the following properties to configure this approach:
9696

97-
- `ml.connection.customSsl.tlsVersion` = the TLS version to use for constructing an `SSLContext`. Defaults to `TLSv1.2`.
97+
- `ml.connection.customSsl.tlsVersion` = the TLS version to use for constructing an `SSLContext`. Defaults to `TLS`, permitting the JVM to use the highest version possible.
9898
- `ml.connection.customSsl.mutualAuth` = `true` to configure mutual, or "2-way", SSL authentication
9999

100100
If `ml.connection.customSsl.mutualAuth` is set to `true`, you must also configure these properties:

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
group=com.marklogic
2-
version=1.10.0
2+
version=1.11.0
33

44
# For the Confluent Connector Archive
55
componentOwner=marklogic

0 commit comments

Comments
 (0)