HeartSaVioR commented on a change in pull request #25760: [SPARK-29054][SS]
Invalidate Kafka consumer when new delegation token available
URL: https://github.com/apache/spark/pull/25760#discussion_r325534687
##########
File path:
external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaDataConsumerSuite.scala
##########
@@ -96,47 +103,86 @@ class KafkaDataConsumerSuite extends SharedSparkSession
with PrivateMethodTester
val context1 = new TaskContextImpl(0, 0, 0, 0, 0, null, null, null)
TaskContext.setTaskContext(context1)
- val consumer1 = KafkaDataConsumer.acquire(topicPartition, kafkaParams)
-
- // any method call which requires consumer is necessary
- consumer1.getAvailableOffsetRange()
-
- val consumer1Underlying = consumer1._consumer
- assert(consumer1Underlying.isDefined)
-
- consumer1.release()
-
- assert(consumerPool.size(key) === 1)
- // check whether acquired object is available in pool
- val pooledObj = consumerPool.borrowObject(key, kafkaParams)
- assert(consumer1Underlying.get.eq(pooledObj))
- consumerPool.returnObject(pooledObj)
+ val consumer1Underlying = initSingleConsumer(kafkaParams, key)
val context2 = new TaskContextImpl(0, 0, 0, 0, 1, null, null, null)
TaskContext.setTaskContext(context2)
- val consumer2 = KafkaDataConsumer.acquire(topicPartition, kafkaParams)
-
- // any method call which requires consumer is necessary
- consumer2.getAvailableOffsetRange()
+ val consumer2Underlying = initSingleConsumer(kafkaParams, key)
- val consumer2Underlying = consumer2._consumer
- assert(consumer2Underlying.isDefined)
// here we expect different consumer as pool will invalidate for task
reattempt
assert(consumer2Underlying.get.ne(consumer1Underlying.get))
+ } finally {
+ TaskContext.unset()
+ }
+ }
- consumer2.release()
+ test("same KafkaDataConsumer instance in case of same token") {
+ try {
+ val kafkaParams = getKafkaParams()
+ val key = new CacheKey(groupId, topicPartition)
- // The first consumer should be removed from cache, but the consumer
after invalidate
Review comment:
This code lines got removed. Does it mean the patch breaks the verification
here?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]