{"record":{"id":"19bdc8ff670ce375","repo":"apache/druid","slug":"cachedserializedgroupmappingmap-is-not-available-f","errorCode":null,"errorMessage":"cachedSerializedGroupMappingMap is not available from the coordinator, skipping fetch of group mappings for now.","messagePattern":"cachedSerializedGroupMappingMap is not available from the coordinator, skipping fetch of group mappings for now\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"extensions-core/druid-basic-security/src/main/java/org/apache/druid/security/basic/authorization/db/cache/CoordinatorPollingBasicAuthorizerCacheManager.java","lineNumber":439,"sourceCode":"      String prefix\n  ) throws Exception\n  {\n    RequestBuilder req = new RequestBuilder(\n        HttpMethod.GET,\n        StringUtils.format(\"/druid-ext/basic-security/authorization/db/%s/cachedSerializedGroupMappingMap\", prefix)\n    );\n    BytesFullResponseHolder responseHolder = coordinatorClient.request(\n        req,\n        new BytesFullResponseHandler()\n    );\n\n    final HttpResponseStatus status = responseHolder.getStatus();\n\n    // cachedSerializedGroupMappingMap is a new endpoint introduced in Druid 0.17.0. For backwards compatibility, if we\n    // get a 404 from the coordinator we stop retrying. This can happen during a rolling upgrade when a process\n    // running 0.17.0+ tries to access this endpoint on an older coordinator.\n    if (HttpResponseStatus.NOT_FOUND.equals(status)) {\n      LOG.warn(\"cachedSerializedGroupMappingMap is not available from the coordinator, skipping fetch of group mappings for now.\");\n      return null;\n    }\n\n    if (!HttpResponseStatus.OK.equals(status)) {\n      LOG.warn(\"Got an unexpected response status[%s] when loading group mappings.\", status);\n    }\n\n    byte[] groupRoleMapBytes = responseHolder.getContent();\n\n    GroupMappingAndRoleMap groupMappingAndRoleMap = objectMapper.readValue(\n        groupRoleMapBytes,\n        BasicAuthUtils.AUTHORIZER_GROUP_MAPPING_AND_ROLE_MAP_TYPE_REFERENCE\n    );\n    if (groupMappingAndRoleMap != null && commonCacheConfig.getCacheDirectory() != null) {\n      writeGroupMappingMapToDisk(prefix, groupRoleMapBytes);\n    }\n    return groupMappingAndRoleMap;\n  }","sourceCodeStart":421,"sourceCodeEnd":457,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/druid-basic-security/src/main/java/org/apache/druid/security/basic/authorization/db/cache/CoordinatorPollingBasicAuthorizerCacheManager.java#L421-L457","documentation":"CoordinatorPollingBasicAuthorizerCacheManager.tryFetchGroupMappingMapsFromCoordinator() polls the coordinator's group-mapping cache endpoint. A 404 means the endpoint (introduced in Druid 0.17.0) does not exist on the coordinator, so the fetch is skipped with this warning and null is returned. This is a deliberate backwards-compatibility path for rolling upgrades from pre-0.17.0 coordinators.","triggerScenarios":"Hitting GET coordinator/groupMappings cached endpoint on a coordinator older than 0.17.0, which lacks the endpoint and returns HTTP 404.","commonSituations":"Rolling upgrade: 0.17.0+ services running against an older coordinator; misrouted request to a non-coordinator service; stale reverse-proxy or load balancer pointing at an old coordinator.","solutions":["Finish the rolling upgrade so all coordinators run 0.17.0+","Verify the request is hitting a coordinator process of the correct version (check druid.coordinator config and service discovery)","If upgrades are intentionally mixed, this warning is expected and safe to ignore temporarily","Ensure the basic-security extension version is consistent across the cluster"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// check coordinator version capability before fetching\n// GET /status on the coordinator and verify version >= 0.17.0","typeGuard":null,"tryCatchPattern":"if (response.getStatus() == 404) {\n  // expected during rolling upgrade; fall back to local cached group mappings\n  return previousCachedMap;\n}","preventionTips":["Complete rolling upgrades promptly so all coordinators are 0.17.0+","Pin basic-security extension versions consistently cluster-wide","Route group-mapping fetches to the current coordinator leader","Treat this warning as benign during mixed-version windows"],"tags":["security","druid","upgrade-compatibility","http-404"],"backgroundTag":"http-non-200-response","analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}