Heimdall/Gjallarhorn: Minor changes to idle timeout.

This commit is contained in:
Kenneth Endfinger 2022-02-21 20:38:15 -05:00
parent e3d9eb80fc
commit c9d4fe1733
No known key found for this signature in database
GPG Key ID: C4E68E5647420E10
5 changed files with 18 additions and 6 deletions

View File

@ -65,6 +65,7 @@ class FoundationHeimdallPlugin : JavaPlugin(), Listener {
password = config.db.password
schema = "heimdall"
maximumPoolSize = 10
idleTimeout = Duration.ofMinutes(5).toMillis()
maxLifetime = Duration.ofMinutes(10).toMillis()
})
val initMigrationContent = FoundationHeimdallPlugin::class.java.getResourceAsStream(

View File

@ -28,6 +28,7 @@ class GjallarhornCommand : CliktCommand(invokeWithoutSubcommand = true) {
password = jdbcConnectionPassword
minimumIdle = dbPoolSize / 2
maximumPoolSize = dbPoolSize
idleTimeout = Duration.ofMinutes(5).toMillis()
maxLifetime = Duration.ofMinutes(10).toMillis()
})
val db = Database.connect(pool)

View File

@ -5,7 +5,6 @@ import cloud.kubelet.foundation.gjallarhorn.export.CombinedChunkFormat
import cloud.kubelet.foundation.gjallarhorn.state.BlockExpanse
import cloud.kubelet.foundation.gjallarhorn.state.BlockLogTracker
import cloud.kubelet.foundation.gjallarhorn.state.ChangelogSlice
import cloud.kubelet.foundation.gjallarhorn.state.SparseBlockStateMap
import cloud.kubelet.foundation.gjallarhorn.util.savePngFile
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.requireObject
@ -31,10 +30,8 @@ class ChunkExportLoaderCommand : CliktCommand("Chunk Export Loader", name = "chu
private val saveCombinedFormat by option("--save-combined-format").flag()
override fun run() {
val format: CombinedChunkFormat
val combinedFormatFile = exportDirectoryPath.resolve("combined.json").toFile()
format = if (loadCombinedFormat) {
val format = if (loadCombinedFormat) {
Json.decodeFromStream(CombinedChunkFormat.serializer(), combinedFormatFile.inputStream())
} else {
val tracker = BlockLogTracker(isConcurrent = true)

View File

@ -1,6 +1,9 @@
package cloud.kubelet.foundation.gjallarhorn.export
import cloud.kubelet.foundation.gjallarhorn.state.*
import cloud.kubelet.foundation.gjallarhorn.state.BlockCoordinate
import cloud.kubelet.foundation.gjallarhorn.state.BlockLogTracker
import cloud.kubelet.foundation.gjallarhorn.state.BlockState
import cloud.kubelet.foundation.gjallarhorn.state.SparseBlockStateMap
import cloud.kubelet.foundation.heimdall.export.ExportedChunk
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream
@ -10,7 +13,9 @@ import java.util.zip.GZIPInputStream
import kotlin.io.path.inputStream
import kotlin.io.path.listDirectoryEntries
class ChunkExportLoader(val map: SparseBlockStateMap? = null, val tracker: BlockLogTracker? = null) {
class ChunkExportLoader(
val map: SparseBlockStateMap? = null,
val tracker: BlockLogTracker? = null) {
fun loadAllChunksForWorld(path: Path, world: String, fast: Boolean = false, limit: Int? = null) {
var chunkFiles = path.listDirectoryEntries("${world}_chunk_*.json.gz")
if (limit != null) {

View File

@ -35,5 +35,13 @@ data class BlockCoordinate(
return BlockCoordinate(x, y, z)
}
fun minOf(coordinates: List<BlockCoordinate>): BlockCoordinate {
val x = coordinates.minOf { it.x }
val y = coordinates.minOf { it.y }
val z = coordinates.minOf { it.z }
return BlockCoordinate(x, y, z)
}
}
}