mirror of
https://github.com/GayPizzaSpecifications/foundation.git
synced 2025-08-03 05:30:55 +00:00
Heimdall/Gjallarhorn: Minor changes to idle timeout.
This commit is contained in:
@ -65,6 +65,7 @@ class FoundationHeimdallPlugin : JavaPlugin(), Listener {
|
|||||||
password = config.db.password
|
password = config.db.password
|
||||||
schema = "heimdall"
|
schema = "heimdall"
|
||||||
maximumPoolSize = 10
|
maximumPoolSize = 10
|
||||||
|
idleTimeout = Duration.ofMinutes(5).toMillis()
|
||||||
maxLifetime = Duration.ofMinutes(10).toMillis()
|
maxLifetime = Duration.ofMinutes(10).toMillis()
|
||||||
})
|
})
|
||||||
val initMigrationContent = FoundationHeimdallPlugin::class.java.getResourceAsStream(
|
val initMigrationContent = FoundationHeimdallPlugin::class.java.getResourceAsStream(
|
||||||
|
@ -28,6 +28,7 @@ class GjallarhornCommand : CliktCommand(invokeWithoutSubcommand = true) {
|
|||||||
password = jdbcConnectionPassword
|
password = jdbcConnectionPassword
|
||||||
minimumIdle = dbPoolSize / 2
|
minimumIdle = dbPoolSize / 2
|
||||||
maximumPoolSize = dbPoolSize
|
maximumPoolSize = dbPoolSize
|
||||||
|
idleTimeout = Duration.ofMinutes(5).toMillis()
|
||||||
maxLifetime = Duration.ofMinutes(10).toMillis()
|
maxLifetime = Duration.ofMinutes(10).toMillis()
|
||||||
})
|
})
|
||||||
val db = Database.connect(pool)
|
val db = Database.connect(pool)
|
||||||
|
@ -5,7 +5,6 @@ import cloud.kubelet.foundation.gjallarhorn.export.CombinedChunkFormat
|
|||||||
import cloud.kubelet.foundation.gjallarhorn.state.BlockExpanse
|
import cloud.kubelet.foundation.gjallarhorn.state.BlockExpanse
|
||||||
import cloud.kubelet.foundation.gjallarhorn.state.BlockLogTracker
|
import cloud.kubelet.foundation.gjallarhorn.state.BlockLogTracker
|
||||||
import cloud.kubelet.foundation.gjallarhorn.state.ChangelogSlice
|
import cloud.kubelet.foundation.gjallarhorn.state.ChangelogSlice
|
||||||
import cloud.kubelet.foundation.gjallarhorn.state.SparseBlockStateMap
|
|
||||||
import cloud.kubelet.foundation.gjallarhorn.util.savePngFile
|
import cloud.kubelet.foundation.gjallarhorn.util.savePngFile
|
||||||
import com.github.ajalt.clikt.core.CliktCommand
|
import com.github.ajalt.clikt.core.CliktCommand
|
||||||
import com.github.ajalt.clikt.core.requireObject
|
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()
|
private val saveCombinedFormat by option("--save-combined-format").flag()
|
||||||
|
|
||||||
override fun run() {
|
override fun run() {
|
||||||
val format: CombinedChunkFormat
|
|
||||||
|
|
||||||
val combinedFormatFile = exportDirectoryPath.resolve("combined.json").toFile()
|
val combinedFormatFile = exportDirectoryPath.resolve("combined.json").toFile()
|
||||||
format = if (loadCombinedFormat) {
|
val format = if (loadCombinedFormat) {
|
||||||
Json.decodeFromStream(CombinedChunkFormat.serializer(), combinedFormatFile.inputStream())
|
Json.decodeFromStream(CombinedChunkFormat.serializer(), combinedFormatFile.inputStream())
|
||||||
} else {
|
} else {
|
||||||
val tracker = BlockLogTracker(isConcurrent = true)
|
val tracker = BlockLogTracker(isConcurrent = true)
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package cloud.kubelet.foundation.gjallarhorn.export
|
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 cloud.kubelet.foundation.heimdall.export.ExportedChunk
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import kotlinx.serialization.json.decodeFromStream
|
import kotlinx.serialization.json.decodeFromStream
|
||||||
@ -10,7 +13,9 @@ import java.util.zip.GZIPInputStream
|
|||||||
import kotlin.io.path.inputStream
|
import kotlin.io.path.inputStream
|
||||||
import kotlin.io.path.listDirectoryEntries
|
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) {
|
fun loadAllChunksForWorld(path: Path, world: String, fast: Boolean = false, limit: Int? = null) {
|
||||||
var chunkFiles = path.listDirectoryEntries("${world}_chunk_*.json.gz")
|
var chunkFiles = path.listDirectoryEntries("${world}_chunk_*.json.gz")
|
||||||
if (limit != null) {
|
if (limit != null) {
|
||||||
|
@ -35,5 +35,13 @@ data class BlockCoordinate(
|
|||||||
|
|
||||||
return BlockCoordinate(x, y, z)
|
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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user