fix time string to long

This commit is contained in:
Kent Yao 2018-05-25 14:40:03 +08:00
parent f7d5e24839
commit 2224421759
3 changed files with 16 additions and 1 deletions

View File

@ -123,4 +123,12 @@ object KyuubiSparkUtil extends Logging {
val sMinor = minorVersion(version)
tMajor > sMajor || (tMajor == sMajor && tMinor >= sMinor)
}
/**
* Convert a time parameter such as (50s, 100ms, or 250us) to microseconds for internal use. If
* no suffix is provided, the passed number is assumed to be in ms.
*/
def timeStringAsMs(str: String): Long = {
Utils.timeStringAsMs(str)
}
}

View File

@ -49,7 +49,8 @@ class KyuubiOperation(session: KyuubiSession, statement: String) extends Logging
private[this] val conf = session.sparkSession.conf
private[this] val operationTimeout = conf.get(OPERATION_IDLE_TIMEOUT.key).toLong
private[this] val operationTimeout =
KyuubiSparkUtil.timeStringAsMs(conf.get(OPERATION_IDLE_TIMEOUT.key))
private[this] var lastAccessTime = System.currentTimeMillis()
private[this] var hasResultSet: Boolean = false

View File

@ -148,4 +148,10 @@ class KyuubiSparkUtilSuite extends SparkFunSuite {
assert(!KyuubiSparkUtil.equalOrHigherThan("2.4.1"))
assert(!KyuubiSparkUtil.equalOrHigherThan("3.0.0"))
}
test("testTimeStringAsMs") {
assert(KyuubiSparkUtil.timeStringAsMs("50s") === 50000L)
assert(KyuubiSparkUtil.timeStringAsMs("50min") === 50 * 60 * 1000L)
assert(KyuubiSparkUtil.timeStringAsMs("100ms") === 100L)
}
}