line / centraldogma

Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2
https://line.github.io/centraldogma/
Apache License 2.0
604 stars 118 forks source link

The official Docker image is shipped with broken configuration #1003

Closed trustin closed 3 months ago

trustin commented 3 months ago

The default configuration shipped with our official Docker image did not catch up with the configuration format change brought by #993. As a result, the official Docker image does not start up correctly without overriding the default configuration:

2024-08-01 09:35:13.531 [ERROR](c.l.c.s.Main) [main] Failed to start the Central Dogma:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "mirroringEnabled" (class com.linecorp.centraldogma.server.CentralDogmaConfig), not marked as ignorable (23 known properties: "dataDir", "numRepositoryWorkers", "gracefulShutdownTimeout", "trustedProxyAddresses", "replication", "cors", "csrfTokenRequiredForThrift", "clientAddressSources", "ports", "maxNumConnections", "webAppEnabled", "accessLogFormat", "requestTimeoutMillis", "tls", "pluginConfigs", "maxRemovedRepositoryAgeMillis", "webAppTitle", "numWorkers", "idleTimeoutMillis", "authentication", "maxFrameLength", "repositoryCacheSpec", "writeQuotaPerRepository"])
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 42, column: 2] (through reference chain: com.linecorp.centraldogma.server.CentralDogmaConfig["mirroringEnabled"])
    at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
    at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1153)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2241)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1793)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperties(BeanDeserializerBase.java:1743)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:546)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1493)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:348)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:185)
    at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4905)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3713)
    at com.linecorp.centraldogma.server.CentralDogmaConfig.load(CentralDogmaConfig.java:183)
    at com.linecorp.centraldogma.server.CentralDogma.forConfig(CentralDogma.java:216)
    at com.linecorp.centraldogma.server.Main.start(Main.java:135)
    at com.linecorp.centraldogma.server.Main.main(Main.java:238)

Perhaps we should improve our build process so that we make sure our Docker image starts up as expected?

Originally reported by @thomasbruggink

ikhoon commented 3 months ago

Fixed by #1010