Skip to content

Commit a462506

Browse files
zikanghZikang Han
authored andcommitted
Update dependencies to resolve vulnerabilities (#183)
* update pulsar-client * pulsar-client 2nd change * upgrade direct dependencies * bouncycastle: resolve build error * upgrade pulsar to 4.0.5 * fix PulsarTest --------- Co-authored-by: Zikang Han <zikang.han@your.hostname.com>
1 parent 688a78d commit a462506

File tree

5 files changed

+26
-11
lines changed

5 files changed

+26
-11
lines changed

pom.xml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,21 +66,22 @@
6666

6767
<!-- dependencies -->
6868
<!-- latest version from apache pulsar -->
69-
<pulsar.version>2.10.5</pulsar.version>
69+
<pulsar.version>4.0.5</pulsar.version>
7070
<scala.version>2.13.12</scala.version>
7171
<scala.binary.version>2.13</scala.binary.version>
7272
<scalatest.version>3.2.14</scalatest.version>
7373
<spark.version>3.4.1</spark.version>
74-
<commons-io.version>2.11.0</commons-io.version>
74+
<commons-io.version>2.19.0</commons-io.version>
7575
<testcontainers.version>1.18.3</testcontainers.version>
76+
<bouncycastle.version>1.78</bouncycastle.version>
7677

7778
<!-- plugin dependencies -->
7879
<maven.version>3.5.4</maven.version>
7980
<mvn-scalafmt.version>1.1.1640084764.9f463a9</mvn-scalafmt.version>
8081
<license-maven-plugin.version>4.1</license-maven-plugin.version>
8182
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
8283
<maven-dependency-plugin.version>3.3.0</maven-dependency-plugin.version>
83-
<maven-shade-plugin.version>3.4.0</maven-shade-plugin.version>
84+
<maven-shade-plugin.version>3.6.0</maven-shade-plugin.version>
8485
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
8586
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
8687
<scala-maven-plugin.version>4.8.1</scala-maven-plugin.version>
@@ -154,6 +155,12 @@
154155
<version>${commons-io.version}</version>
155156
</dependency>
156157

158+
<dependency>
159+
<groupId>org.bouncycastle</groupId>
160+
<artifactId>bcprov-jdk18on</artifactId>
161+
<version>${bouncycastle.version}</version>
162+
</dependency>
163+
157164
<!-- spark dependency -->
158165

159166
<dependency>
@@ -389,6 +396,7 @@
389396
<include>org.bouncycastle*:*</include>
390397
<include>org.lz4*:*</include>
391398
<include>commons-io:commons-io:jar:*</include>
399+
<include>io.opentelemetry:*</include> <!-- Add this -->
392400
</includes>
393401
</artifactSet>
394402
<filters>
@@ -408,6 +416,10 @@
408416
</filter>
409417
</filters>
410418
<relocations>
419+
<relocation>
420+
<pattern>io.opentelemetry</pattern>
421+
<shadedPattern>org.apache.pulsar.shade.io.opentelemetry</shadedPattern>
422+
</relocation>
411423
<relocation>
412424
<pattern>com.google</pattern>
413425
<shadedPattern>org.apache.pulsar.shade.com.google</shadedPattern>

src/main/scala/org/apache/spark/sql/pulsar/PulsarConfigurationUtils.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ import java.util.Locale
1818

1919
import scala.reflect._
2020

21+
import com.fasterxml.jackson.annotation.JsonIgnore
2122
import org.apache.pulsar.client.impl.conf.{
2223
ClientConfigurationData,
2324
ProducerConfigurationData,
2425
ReaderConfigurationData
2526
}
26-
import org.apache.pulsar.shade.com.fasterxml.jackson.annotation.JsonIgnore
2727

2828
object PulsarConfigurationUtils {
2929

src/main/scala/org/apache/spark/sql/pulsar/PulsarHelper.scala

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,10 @@ private[pulsar] case class PulsarHelper(
311311
private def getTopics(topicsPattern: String): Seq[String] = {
312312
val dest = TopicName.get(topicsPattern)
313313
val allTopics: ju.List[String] = client.getLookup
314-
.getTopicsUnderNamespace(dest.getNamespaceObject, CommandGetTopicsOfNamespace.Mode.ALL)
315-
.get()
314+
.getTopicsUnderNamespace(
315+
// passing an empty topicsHash because we don't cache the GetTopicsResponse
316+
dest.getNamespaceObject, CommandGetTopicsOfNamespace.Mode.ALL, topicsPattern, "")
317+
.get().getTopics
316318

317319
val allNonPartitionedTopics: ju.List[String] = allTopics.asScala
318320
.filter(t => !TopicName.get(t).isPartitioned)
@@ -348,7 +350,9 @@ private[pulsar] case class PulsarHelper(
348350
while (waitList.nonEmpty) {
349351
val topic = waitList.head
350352
try {
351-
client.getPartitionedTopicMetadata(topic).get()
353+
// setting metadataAutoCreationEnabled to false, and useFallbackForNonPIP344Brokers
354+
// to true to conform to non-breaking behavior.
355+
client.getPartitionedTopicMetadata(topic, false, true).get()
352356
waitList -= topic
353357
} catch {
354358
case NonFatal(_) =>

src/test/scala/org/apache/spark/sql/pulsar/PulsarAdmissionControlSuite.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import java.{util => ju}
44

55
import org.apache.pulsar.client.admin.PulsarAdmin
66
import org.apache.pulsar.client.api.MessageId
7-
import org.apache.pulsar.client.internal.DefaultImplementation
87
import org.apache.spark.sql.pulsar.PulsarSourceUtils.{getEntryId, getLedgerId}
98
import org.apache.spark.sql.streaming.Trigger.{Once, ProcessingTime}
109
import org.apache.spark.util.Utils
10+
import org.apache.pulsar.client.admin.PulsarAdminException.NotFoundException
1111

1212
class PulsarAdmissionControlSuite extends PulsarSourceTest {
1313

@@ -48,10 +48,9 @@ class PulsarAdmissionControlSuite extends PulsarSourceTest {
4848
// Need to call latestOffsetForTopicPartition so the helper instantiates
4949
// the admin
5050
val admissionControlHelper = new PulsarAdmissionControlHelper(adminUrl, conf)
51-
val e = intercept[RuntimeException] {
51+
val e = intercept[NotFoundException] {
5252
admissionControlHelper.latestOffsetForTopicPartition(topic, MessageId.earliest, approxSizeOfInt)
5353
}
54-
assert(e.getMessage.contains("Failed to load config into existing configuration data"))
5554
}
5655

5756
test("Admit entry in the middle of the ledger") {

src/test/scala/org/apache/spark/sql/pulsar/PulsarTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ trait PulsarTest extends BeforeAndAfterAll with BeforeAndAfterEach {
4949
self: SparkFunSuite =>
5050
import PulsarOptions._
5151

52-
val CURRENT_VERSION = "2.10.2"
52+
val CURRENT_VERSION = "4.0.5"
5353

5454
var pulsarContainer: PulsarContainer = null
5555
var serviceUrl: String = null

0 commit comments

Comments
 (0)