{"record":{"id":"2c0864cbb8c35d0b","repo":"quarkusio/quarkus","slug":"hibernate-search-activated-explicitly-for-persiste","errorCode":null,"errorMessage":"Hibernate Search activated explicitly for persistence unit '${puName}', but the Hibernate Search extension was disabled at build time. If you want Hibernate Search to be active for this persistence unit, you must set '${enabledPropertyKey}' to 'true' at build time. If you don't want Hibernate Search to be active for this persistence unit, you must leave '${activePropertyKey}' unset or set it to 'false'.","messagePattern":"Hibernate Search activated explicitly for persistence unit '(.+?)', but the Hibernate Search extension was disabled at build time\\. If you want Hibernate Search to be active for this persistence unit, you must set '(.+?)' to 'true' at build time\\. If you don't want Hibernate Search to be active for this persistence unit, you must leave '(.+?)' unset or set it to 'false'\\.","errorType":"exception","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"extensions/hibernate-search-orm-elasticsearch/runtime/src/main/java/io/quarkus/hibernate/search/orm/elasticsearch/runtime/HibernateSearchElasticsearchRecorder.java","lineNumber":104,"sourceCode":"\n    public HibernateOrmIntegrationRuntimeInitListener createRuntimeInitListener(\n            HibernateSearchOrmElasticsearchMapperContext mapperContext,\n            List<HibernateOrmIntegrationRuntimeInitListener> integrationRuntimeInitListeners) {\n        HibernateSearchElasticsearchRuntimeConfigPersistenceUnit puConfig = runtimeConfig.getValue()\n                .persistenceUnits()\n                .get(mapperContext.persistenceUnitName);\n        return new HibernateSearchIntegrationRuntimeInitListener(mapperContext, puConfig,\n                integrationRuntimeInitListeners);\n    }\n\n    public void checkNoExplicitActiveTrue() {\n        for (var entry : runtimeConfig.getValue().persistenceUnits().entrySet()) {\n            var config = entry.getValue();\n            if (config.active().orElse(false)) {\n                var puName = entry.getKey();\n                String enabledPropertyKey = HibernateSearchElasticsearchRuntimeConfig.extensionPropertyKey(\"enabled\");\n                String activePropertyKey = mapperPropertyKey(puName, \"active\");\n                throw new ConfigurationException(\n                        \"Hibernate Search activated explicitly for persistence unit '\" + puName\n                                + \"', but the Hibernate Search extension was disabled at build time.\"\n                                + \" If you want Hibernate Search to be active for this persistence unit, you must set '\"\n                                + enabledPropertyKey\n                                + \"' to 'true' at build time.\"\n                                + \" If you don't want Hibernate Search to be active for this persistence unit, you must leave '\"\n                                + activePropertyKey\n                                + \"' unset or set it to 'false'.\",\n                        Set.of(enabledPropertyKey, activePropertyKey));\n            }\n        }\n    }\n\n    public HibernateOrmIntegrationRuntimeInitListener createRuntimeInitInactiveListener() {\n        return new HibernateSearchIntegrationRuntimeInitInactiveListener();\n    }\n\n    public Supplier<ActiveResult> checkActiveSupplier(String persistenceUnitName) {","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/hibernate-search-orm-elasticsearch/runtime/src/main/java/io/quarkus/hibernate/search/orm/elasticsearch/runtime/HibernateSearchElasticsearchRecorder.java#L86-L122","documentation":"When the Hibernate Search Elasticsearch extension was disabled at build time (quarkus.hibernate-search-orm.enabled=false), the runtime checkNoExplicitActiveTrue verifies that no persistence unit explicitly sets active=true. If one does, it throws a ConfigurationException explaining the contradiction: an explicitly activated PU cannot work because the extension's runtime init was disabled at build time.","triggerScenarios":"At runtime startup: runtime config contains quarkus.hibernate-search-orm.\"<pu>\".active=true (config.active().orElse(false)) for some persistence unit while the extension was disabled at build time (quarkus.hibernate-search-orm.enabled=false), and disableHibernateSearchRuntimeInit calls checkNoExplicitActiveTrue.","commonSituations":"Disabling the extension at build time for faster tests/dev while leaving a stale per-PU active=true in application.properties or an env var/profile (e.g. %prod) that only appears at runtime; multi-PU apps where one PU's config was not cleaned up.","solutions":["Remove quarkus.hibernate-search-orm.\"<puName>\".active=true (leave active unset) if Hibernate Search is not needed for that PU","Set quarkus.hibernate-search-orm.enabled=true at build time if Hibernate Search should be active for that persistence unit","Check profile-specific overrides and environment variables (QUARKUS_HIBERNATE_SEARCH_ORM_...ACTIVE) that may set active=true only in some environments"],"exampleFix":"// before\nquarkus.hibernate-search-orm.enabled=false\nquarkus.hibernate-search-orm.\"default\".active=true\n// after (want Hibernate Search)\nquarkus.hibernate-search-orm.enabled=true\n// or (don't want it): remove the active=true line entirely","handlingStrategy":"validation","validationCode":"// Build-time/runtime consistency check:\nboolean buildTimeEnabled = Boolean.parseBoolean(config.getProperty(\"quarkus.hibernate-search-orm.enabled\", \"true\"));\nString puActive = config.getProperty(\"quarkus.hibernate-search-orm.\\\"default\\\".active\");\nif (!buildTimeEnabled && Boolean.parseBoolean(puActive)) {\n  throw new IllegalStateException(\"Remove per-PU active=true or set quarkus.hibernate-search-orm.enabled=true\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Never set per-persistence-unit active=true together with extension-level enabled=false","Search all profiles (%prod, %test) and env vars for ACTIVE overrides when disabling the extension","When disabling Hibernate Search at build time, purge all related active properties in the same change"],"tags":["quarkus","hibernate-search","build-time-vs-runtime-config","configuration-exception","active-flag"],"backgroundTag":"conflicting-config-build-time-vs-runtime","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}