取消正在进行的副本重分配,消费组->消费详情增加刷新按钮

This commit is contained in:
许晓东
2021-11-30 19:49:02 +08:00
parent 222ba34702
commit 20535027bf
9 changed files with 288 additions and 5 deletions

View File

@@ -2,14 +2,14 @@ package kafka.console
import com.xuxd.kafka.console.config.KafkaConfig
import kafka.admin.ReassignPartitionsCommand
import org.apache.kafka.clients.admin.ElectLeadersOptions
import org.apache.kafka.clients.admin.{ElectLeadersOptions, ListPartitionReassignmentsOptions, PartitionReassignment}
import org.apache.kafka.clients.consumer.KafkaConsumer
import org.apache.kafka.common.serialization.ByteArrayDeserializer
import org.apache.kafka.common.{ElectionType, TopicPartition}
import java.util.concurrent.TimeUnit
import java.util.{Collections, Properties}
import scala.jdk.CollectionConverters.{CollectionHasAsScala, ListHasAsScala, MapHasAsScala, SeqHasAsJava, SetHasAsJava, SetHasAsScala}
import scala.jdk.CollectionConverters.{CollectionHasAsScala, ListHasAsScala, MapHasAsJava, MapHasAsScala, SeqHasAsJava, SetHasAsJava, SetHasAsScala}
/**
* kafka-console-ui.
@@ -231,4 +231,26 @@ class OperationConsole(config: KafkaConfig, topicConsole: TopicConsole,
(false, e.getMessage)
}).asInstanceOf[(Boolean, String)]
}
/**
* current reassigning is active.
*/
def currentReassignments(): util.Map[TopicPartition, PartitionReassignment] = {
withAdminClientAndCatchError(admin => {
admin.listPartitionReassignments(withTimeoutMs(new ListPartitionReassignmentsOptions)).reassignments().get()
}, e => {
Collections.emptyMap()
log.error("listPartitionReassignments error.", e)
}).asInstanceOf[util.Map[TopicPartition, PartitionReassignment]]
}
def cancelPartitionReassignments(reassignments: util.Set[TopicPartition]): util.Map[TopicPartition, Throwable] = {
withAdminClientAndCatchError(admin => {
val res = ReassignPartitionsCommand.cancelPartitionReassignments(admin, reassignments.asScala.toSet)
res.asJava
}, e => {
log.error("cancelPartitionReassignments error.", e)
throw e
}).asInstanceOf[util.Map[TopicPartition, Throwable]]
}
}