Skip to content

Commit

Permalink
[KYUUBI apache#3420][SPARK] Expose UI url on registering engine service
Browse files Browse the repository at this point in the history
### _Why are the changes needed?_

see detail in KYUUBI apache#3436

Splitting it out of a giant PR apache#4002 to perfect

### _How was this patch tested?_
- [x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [ ] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request

Closes apache#4459 from zwangsheng/3420.

Closes apache#3420

2fd9b31 [zwangsheng] [KYUUBI apache#3420]Fouce on spark web ui
3fbee02 [zwangsheng] [KYUUBI apache#3420] With inter config and expose explicit conf
09841d1 [zwangsheng] [KYUUBI apache#3420] Fix style
b47c3e5 [zwangsheng] [KYUUBI apache#3420] Fix unit test
b3ab3e2 [zwangsheng] [KYUUBI apache#3420] Expose more spark engine info
69292ab [zwangsheng] [KYUUBI apache#3420] Using common test case
cf889b0 [zwangsheng] [KYUUBI apache#3420] Fix unit test
1a0ac58 [zwangsheng] [KYUUBI apache#3420] Fix style
daf41de [zwangsheng] [KYUUBI apache#4453] Add etcd test
ab10383 [zwangsheng] [KYUUBI apache#3420 Add Spark Web UI Url in zk node]

Authored-by: zwangsheng <2213335496@qq.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
  • Loading branch information
zwangsheng authored and pan3793 committed Mar 16, 2023
1 parent b7290dc commit 58a4f58
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,13 @@ class SparkTBinaryFrontendService(
}

override def attributes: Map[String, String] = {
Map(KYUUBI_ENGINE_ID -> KyuubiSparkUtil.engineId)
val attributes = Map(
KYUUBI_ENGINE_ID -> KyuubiSparkUtil.engineId)
// TODO Support Spark Web UI Enabled SSL
sc.uiWebUrl match {
case Some(url) => attributes ++ Map(KYUUBI_ENGINE_URL -> url.split("//").last)
case None => attributes
}
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.apache.kyuubi.engine.spark

import java.util.UUID

import org.apache.kyuubi.config.KyuubiReservedKeys.{KYUUBI_ENGINE_ID, KYUUBI_ENGINE_URL}

trait SparkEngineRegisterSuite extends WithDiscoverySparkSQLEngine {

override def withKyuubiConf: Map[String, String] =
super.withKyuubiConf ++ Map("spark.ui.enabled" -> "true")

override val namespace: String = s"/kyuubi/deregister_test/${UUID.randomUUID.toString}"

test("Spark Engine Register Zookeeper with spark ui info") {
withDiscoveryClient(client => {
val info = client.getChildren(namespace).head.split(";")
assert(info.exists(_.startsWith(KYUUBI_ENGINE_ID)))
assert(info.exists(_.startsWith(KYUUBI_ENGINE_URL)))
})
}
}

class ZookeeperSparkEngineRegisterSuite extends SparkEngineRegisterSuite
with WithEmbeddedZookeeper {

override def withKyuubiConf: Map[String, String] =
super.withKyuubiConf ++ zookeeperConf
}

class EtcdSparkEngineRegisterSuite extends SparkEngineRegisterSuite
with WithEtcdCluster {
override def withKyuubiConf: Map[String, String] = super.withKyuubiConf ++ etcdConf
}

0 comments on commit 58a4f58

Please sign in to comment.