Skip to content

Commit 25d6d51

Browse files
authored
Remove @StaticInitSafe annotation (#1331)
There was an issue around mapped configurations having the `@StaticInitSafe` annotation that led to _two_ instances (a "static" one and a "somewhet application-scoped" one) - this was fixed in Quarkus 3.21. One bug in smallrye-config is fixed for Quarkus > 3.21.0, another issue however remains. Since `@StaticInitSafe` annotated configs seem to cause some weird issues, it seems legit to remote that annotation altogether. This approach was [taken in Nessie](projectnessie/nessie#10606) as well. Investigations (via practical experiments) have proven that there's no measurable impact (runtime + heap) when doing this - and that's also been confirmed by Quarkus + Smallrye-config maintainers. Hence this change remotes that annotation from the code base.
1 parent 60b0f00 commit 25d6d51

File tree

14 files changed

+2
-31
lines changed

14 files changed

+2
-31
lines changed

extension/persistence/eclipselink/build.gradle.kts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,6 @@ dependencies {
3434

3535
implementation(libs.eclipselink)
3636

37-
implementation(platform(libs.quarkus.bom))
38-
implementation("io.quarkus:quarkus-core")
39-
4037
implementation(libs.slf4j.api)
4138

4239
val eclipseLinkDeps: String? = project.findProperty("eclipseLinkDeps") as String?
@@ -58,8 +55,8 @@ dependencies {
5855
compileOnly(libs.jakarta.annotation.api)
5956
compileOnly(libs.jakarta.enterprise.cdi.api)
6057
compileOnly(libs.jakarta.inject.api)
61-
compileOnly("io.smallrye.common:smallrye-common-annotation") // @Identifier
62-
compileOnly("io.smallrye.config:smallrye-config-core") // @ConfigMapping
58+
compileOnly(libs.smallrye.common.annotation) // @Identifier
59+
compileOnly(libs.smallrye.config.core) // @ConfigMapping
6360

6461
compileOnly(platform(libs.jackson.bom))
6562
compileOnly("com.fasterxml.jackson.core:jackson-annotations")

extension/persistence/eclipselink/src/main/java/org/apache/polaris/extension/persistence/impl/eclipselink/EclipseLinkConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@
1818
*/
1919
package org.apache.polaris.extension.persistence.impl.eclipselink;
2020

21-
import io.quarkus.runtime.annotations.StaticInitSafe;
2221
import io.smallrye.config.ConfigMapping;
2322
import io.smallrye.config.WithDefault;
2423
import java.nio.file.Path;
2524
import java.util.Optional;
2625

27-
@StaticInitSafe
2826
@ConfigMapping(prefix = "polaris.persistence.eclipselink")
2927
public interface EclipseLinkConfiguration {
3028

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/auth/QuarkusAuthenticationConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818
*/
1919
package org.apache.polaris.service.quarkus.auth;
2020

21-
import io.quarkus.runtime.annotations.StaticInitSafe;
2221
import io.smallrye.config.ConfigMapping;
2322
import org.apache.polaris.service.auth.AuthenticationConfiguration;
2423

25-
@StaticInitSafe
2624
@ConfigMapping(prefix = "polaris.authentication")
2725
public interface QuarkusAuthenticationConfiguration extends AuthenticationConfiguration {
2826

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/catalog/io/QuarkusFileIOConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,8 @@
1818
*/
1919
package org.apache.polaris.service.quarkus.catalog.io;
2020

21-
import io.quarkus.runtime.annotations.StaticInitSafe;
2221
import io.smallrye.config.ConfigMapping;
2322

24-
@StaticInitSafe
2523
@ConfigMapping(prefix = "polaris.file-io")
2624
public interface QuarkusFileIOConfiguration {
2725

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/config/QuarkusBehaviorChangesConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,13 @@
2121
import com.fasterxml.jackson.core.JsonProcessingException;
2222
import com.fasterxml.jackson.databind.JsonNode;
2323
import com.fasterxml.jackson.databind.ObjectMapper;
24-
import io.quarkus.runtime.annotations.StaticInitSafe;
2524
import io.smallrye.config.ConfigMapping;
2625
import java.util.ArrayList;
2726
import java.util.HashMap;
2827
import java.util.List;
2928
import java.util.Map;
3029
import org.apache.polaris.service.config.FeaturesConfiguration;
3130

32-
@StaticInitSafe
3331
@ConfigMapping(prefix = "polaris.behavior-changes")
3432
// FIXME: this should extend FeatureConfiguration, but that causes conflicts with
3533
// QuarkusFeaturesConfiguration

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/config/QuarkusFeaturesConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,10 @@
1818
*/
1919
package org.apache.polaris.service.quarkus.config;
2020

21-
import io.quarkus.runtime.annotations.StaticInitSafe;
2221
import io.smallrye.config.ConfigMapping;
2322
import java.util.Map;
2423
import org.apache.polaris.service.config.FeaturesConfiguration;
2524

26-
@StaticInitSafe
2725
@ConfigMapping(prefix = "polaris.features")
2826
public interface QuarkusFeaturesConfiguration extends FeaturesConfiguration {
2927

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/context/QuarkusRealmContextConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818
*/
1919
package org.apache.polaris.service.quarkus.context;
2020

21-
import io.quarkus.runtime.annotations.StaticInitSafe;
2221
import io.smallrye.config.ConfigMapping;
2322
import org.apache.polaris.service.context.RealmContextConfiguration;
2423

25-
@StaticInitSafe
2624
@ConfigMapping(prefix = "polaris.realm-context")
2725
public interface QuarkusRealmContextConfiguration extends RealmContextConfiguration {
2826

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/logging/QuarkusLoggingConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818
*/
1919
package org.apache.polaris.service.quarkus.logging;
2020

21-
import io.quarkus.runtime.annotations.StaticInitSafe;
2221
import io.smallrye.config.ConfigMapping;
2322
import java.util.Map;
2423

25-
@StaticInitSafe
2624
@ConfigMapping(prefix = "polaris.log")
2725
public interface QuarkusLoggingConfiguration {
2826

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/metrics/QuarkusMetricsConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818
*/
1919
package org.apache.polaris.service.quarkus.metrics;
2020

21-
import io.quarkus.runtime.annotations.StaticInitSafe;
2221
import io.smallrye.config.ConfigMapping;
2322
import java.util.Map;
2423

25-
@StaticInitSafe
2624
@ConfigMapping(prefix = "polaris.metrics")
2725
public interface QuarkusMetricsConfiguration {
2826

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/persistence/QuarkusPersistenceConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,8 @@
1818
*/
1919
package org.apache.polaris.service.quarkus.persistence;
2020

21-
import io.quarkus.runtime.annotations.StaticInitSafe;
2221
import io.smallrye.config.ConfigMapping;
2322

24-
@StaticInitSafe
2523
@ConfigMapping(prefix = "polaris.persistence")
2624
public interface QuarkusPersistenceConfiguration {
2725

0 commit comments

Comments
 (0)