Not entitled: component [repository-s3] after update from 8.17.4 to 8.18.0

Noticed this in the log after updating from 8.17.4 to the just-released 8.18.0.
It occurred in the first startup, and any restart since.

[2025-04-15T14:44:04,795][INFO ][o.e.n.Node               ] [node-0-dev] Default Locale [en_US]
[2025-04-15T14:44:05,162][WARN ][o.e.e.r.p.P.r.ALL-UNNAMED] [node-0-dev] Not entitled: component [repository-s3], module [ALL-UNNAMED], class [class com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider], entitlement [file], operation [read], path [/nonexistent/.aws/config]
org.elasticsearch.entitlement.runtime.api.NotEntitledException: component [repository-s3], module [ALL-UNNAMED], class [class com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider], entitlement [file], operation [read], path [/nonexistent/.aws/config]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.notEntitled(PolicyManager.java:572) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:395) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:359) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:338) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.check$java_io_File$exists(ElasticsearchEntitlementChecker.java:1451) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at java.io.File.exists(File.java) ~[?:?]
        at com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider.getLocation(SharedConfigDefaultLocationProvider.java:36) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.profile.path.AwsProfileFileLocationProviderChain.getLocation(AwsProfileFileLocationProviderChain.java:41) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.auth.profile.internal.BasicProfileConfigFileLoader.getProfilesConfigFile(BasicProfileConfigFileLoader.java:69) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.auth.profile.internal.BasicProfileConfigFileLoader.getProfile(BasicProfileConfigFileLoader.java:55) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.retry.internal.RetryModeResolver.profile(RetryModeResolver.java:103) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.retry.internal.RetryModeResolver.resolveRetryMode(RetryModeResolver.java:89) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.retry.internal.RetryModeResolver.<init>(RetryModeResolver.java:55) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.retry.internal.RetryModeResolver.<init>(RetryModeResolver.java:48) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.retry.RetryPolicy.<clinit>(RetryPolicy.java:35) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.retry.PredefinedRetryPolicies.<clinit>(PredefinedRetryPolicies.java:32) ~[aws-java-sdk-core-1.12.270.jar:?]
        at com.amazonaws.ClientConfiguration.<clinit>(ClientConfiguration.java:89) ~[aws-java-sdk-core-1.12.270.jar:?]
        at java.lang.Class.forName0(Native Method) ~[?:?]
        at java.lang.Class.forName(Class.java:463) ~[?:?]
        at java.lang.Class.forName(Class.java:454) ~[?:?]
        at org.elasticsearch.repositories.s3.S3RepositoryPlugin.lambda$static$0(S3RepositoryPlugin.java:54) ~[repository-s3-8.18.0.jar:8.18.0]
        at java.security.AccessController.doPrivileged(AccessController.java:74) ~[?:?]
        at org.elasticsearch.repositories.s3.S3RepositoryPlugin.<clinit>(S3RepositoryPlugin.java:48) ~[repository-s3-8.18.0.jar:8.18.0]
        at jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) ~[?:?]
        at jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1166) ~[?:?]
        at jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:341) ~[?:?]
        at jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:104) ~[?:?]
        at jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:143) ~[?:?]
        at java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:546) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:496) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:483) ~[?:?]
        at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:514) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.plugins.PluginsService.loadBundle(PluginsService.java:427) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.plugins.PluginsService.lambda$loadPluginBundles$2(PluginsService.java:219) ~[elasticsearch-8.18.0.jar:?]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186) ~[?:?]
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[?:?]
        at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
        at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939) ~[?:?]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[?:?]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[?:?]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153) ~[?:?]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176) ~[?:?]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[?:?]
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[?:?]
        at org.elasticsearch.plugins.PluginsService.loadPluginBundles(PluginsService.java:219) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:94) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.node.NodeServiceProvider.newPluginService(NodeServiceProvider.java:57) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.node.NodeConstruction.createEnvironment(NodeConstruction.java:480) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.node.NodeConstruction.prepareConstruction(NodeConstruction.java:274) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.node.Node.<init>(Node.java:201) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.bootstrap.Elasticsearch$2.<init>(Elasticsearch.java:384) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.bootstrap.Elasticsearch.initPhase3(Elasticsearch.java:384) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:96) ~[elasticsearch-8.18.0.jar:?]
[2025-04-15T14:44:05,955][INFO ][o.e.p.PluginsService     ] [node-0-dev] loaded module [repository-url]

Environment:
RHEL9
self-managed
Update downloaded from official elasticsearch repo.
Updated from 8.17.4 to 8.18.0 (rpm x86_64)
Despite the warning related to S3-repository, all nodes are still showing as connected under Verification Status (Kibana), and I'm able to create new snapshots. I noticed it took longer (26s vs 4s), but unsure if related or just network issue. It doesn't appear to be causing any actual issues.
So far, I've only updated 1 of 3 nodes in my cluster. I'll update if the behavior changes once the whole cluster is updated.

Possibly related: S3-repository plugin complaining missing “/nonexistent/.aws/config” “read”
However, I have the default logging and am still seeing this.
in log4j2.properties:

logger.com_amazonaws_auth_profile_internal_BasicProfileConfigFileLoader.name = com.amazonaws.auth.profile.internal.BasicProfileConfigFileLoader
logger.com_amazonaws_auth_profile_internal_BasicProfileConfigFileLoader.level = error

Update: Whole cluster updated. Still able to reach S3 snapshot repo, and create new snapshots.
But I still see warnings in the log as NotEntitledException.

When checking connection with Verify Repository (Kibana):

[2025-04-15T15:53:56,347][WARN ][o.e.e.r.p.P.r.ALL-UNNAMED] [node-0-dev] Not entitled: component [repository-s3], module [ALL-UNNAMED], class [class com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider], entitlement [file], operation [read], path [/nonexistent/.aws/config]
org.elasticsearch.entitlement.runtime.api.NotEntitledException: component [repository-s3], module [ALL-UNNAMED], class [class com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider], entitlement [file], operation [read], path [/nonexistent/.aws/config]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.notEntitled(PolicyManager.java:572) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:395) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:359) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:338) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.check$java_io_File$exists(ElasticsearchEntitlementChecker.java:1451) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at java.io.File.exists(File.java) ~[?:?]
        at com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider.getLocation(SharedConfigDefaultLocationProvider.java:36) ~[?:?]
        at com.amazonaws.profile.path.AwsProfileFileLocationProviderChain.getLocation(AwsProfileFileLocationProviderChain.java:41) ~[?:?]
        at com.amazonaws.services.s3.internal.UseArnRegionResolver.getProfilesConfigFile(UseArnRegionResolver.java:110) ~[?:?]
        at com.amazonaws.services.s3.internal.UseArnRegionResolver.getProfile(UseArnRegionResolver.java:96) ~[?:?]
        at com.amazonaws.services.s3.internal.UseArnRegionResolver.profile(UseArnRegionResolver.java:76) ~[?:?]
        at com.amazonaws.services.s3.internal.UseArnRegionResolver.resolveUseArnRegion(UseArnRegionResolver.java:64) ~[?:?]
        at com.amazonaws.services.s3.internal.UseArnRegionResolver.<init>(UseArnRegionResolver.java:53) ~[?:?]
        at com.amazonaws.services.s3.internal.UseArnRegionResolver.<init>(UseArnRegionResolver.java:48) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3Client.<clinit>(AmazonS3Client.java:464) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3Builder$1.apply(AmazonS3Builder.java:35) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3Builder$1.apply(AmazonS3Builder.java:32) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3ClientBuilder.build(AmazonS3ClientBuilder.java:64) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3ClientBuilder.build(AmazonS3ClientBuilder.java:28) ~[?:?]
        at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46) ~[?:?]
        at java.security.AccessController.doPrivileged(AccessController.java:74) ~[?:?]
        at org.elasticsearch.repositories.s3.SocketAccess.doPrivileged(SocketAccess.java:32) ~[?:?]
        at org.elasticsearch.repositories.s3.S3Service.buildClient(S3Service.java:190) ~[?:?]
        at org.elasticsearch.repositories.s3.S3Service.client(S3Service.java:145) ~[?:?]
        at org.elasticsearch.repositories.s3.S3BlobStore.clientReference(S3BlobStore.java:299) ~[?:?]
        at org.elasticsearch.repositories.s3.S3BlobContainer.executeSingleUpload(S3BlobContainer.java:463) ~[?:?]
        at org.elasticsearch.repositories.s3.S3BlobContainer.lambda$writeBlob$1(S3BlobContainer.java:144) ~[?:?]
        at java.security.AccessController.doPrivileged(AccessController.java:251) ~[?:?]
        at org.elasticsearch.repositories.s3.SocketAccess.doPrivilegedIOException(SocketAccess.java:38) ~[?:?]
        at org.elasticsearch.repositories.s3.S3BlobContainer.writeBlob(S3BlobContainer.java:142) ~[?:?]
        at org.elasticsearch.common.blobstore.BlobContainer.writeBlob(BlobContainer.java:124) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.verify(BlobStoreRepository.java:3769) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.repositories.VerifyNodeRepositoryAction$TransportAction.doExecute(VerifyNodeRepositoryAction.java:61) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.repositories.VerifyNodeRepositoryAction$TransportAction.doExecute(VerifyNodeRepositoryAction.java:38) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:135) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.ActionFilter$Simple.apply(ActionFilter.java:54) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:132) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.MappedActionFilters$MappedFilterChain.proceed(MappedActionFilters.java:71) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.MappedActionFilters.apply(MappedActionFilters.java:49) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:132) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$4(SecurityActionFilter.java:182) ~[?:?]
        at org.elasticsearch.action.ActionListenerImplementations$DelegatingFailureActionListener.onResponse(ActionListenerImplementations.java:219) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.authz.AuthorizationService.authorizeSystemUser(AuthorizationService.java:685) ~[?:?]
        at org.elasticsearch.xpack.security.authz.AuthorizationService.authorize(AuthorizationService.java:317) ~[?:?]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$5(SecurityActionFilter.java:178) ~[?:?]
        at org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImplementations.java:247) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:97) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.authc.AuthenticatorChain.authenticate(AuthenticatorChain.java:93) ~[?:?]
        at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:264) ~[?:?]
        at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:173) ~[?:?]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.applyInternal(SecurityActionFilter.java:174) ~[?:?]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:131) ~[?:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:132) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction.handleExecution(TransportAction.java:96) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction.executeDirect(TransportAction.java:55) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.HandledTransportAction.lambda$new$0(HandledTransportAction.java:51) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$1.doRun(SecurityServerTransportInterceptor.java:579) ~[?:?]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$3.onResponse(SecurityServerTransportInterceptor.java:632) ~[?:?]
        at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$3.onResponse(SecurityServerTransportInterceptor.java:621) ~[?:?]
        at org.elasticsearch.xpack.security.authz.AuthorizationService.authorizeSystemUser(AuthorizationService.java:685) ~[?:?]
        at org.elasticsearch.xpack.security.authz.AuthorizationService.authorize(AuthorizationService.java:317) ~[?:?]
        at org.elasticsearch.xpack.security.transport.ServerTransportFilter.lambda$inbound$1(ServerTransportFilter.java:114) ~[?:?]
        at org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImplementations.java:247) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:97) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.authc.AuthenticatorChain.authenticate(AuthenticatorChain.java:93) ~[?:?]
        at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:264) ~[?:?]
        at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:201) ~[?:?]
        at org.elasticsearch.xpack.security.transport.ServerTransportFilter.authenticate(ServerTransportFilter.java:127) ~[?:?]
        at org.elasticsearch.xpack.security.transport.ServerTransportFilter.inbound(ServerTransportFilter.java:105) ~[?:?]
        at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler.messageReceived(SecurityServerTransportInterceptor.java:643) ~[?:?]
        at org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:76) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.transport.InboundHandler.doHandleRequest(InboundHandler.java:289) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.transport.InboundHandler$1.doRun(InboundHandler.java:302) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1044) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27) ~[elasticsearch-8.18.0.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) ~[?:?]
        at java.lang.Thread.run(Thread.java:1447) ~[?:?]
[2025-04-15T15:53:56,418][WARN ][o.e.e.r.p.P.r.ALL-UNNAMED] [node-0-dev] Not entitled: component [repository-s3], module [ALL-UNNAMED], class [class com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider], entitlement [file], operation [read], path [/nonexistent/.aws/config]
org.elasticsearch.entitlement.runtime.api.NotEntitledException: component [repository-s3], module [ALL-UNNAMED], class [class com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider], entitlement [file], operation [read], path [/nonexistent/.aws/config]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.notEntitled(PolicyManager.java:572) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:395) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:359) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:338) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.check$java_io_File$exists(ElasticsearchEntitlementChecker.java:1451) ~[elasticsearch-entitlement-8.18.0.jar:?]
        at java.io.File.exists(File.java) ~[?:?]
        at com.amazonaws.profile.path.config.SharedConfigDefaultLocationProvider.getLocation(SharedConfigDefaultLocationProvider.java:36) ~[?:?]
        at com.amazonaws.profile.path.AwsProfileFileLocationProviderChain.getLocation(AwsProfileFileLocationProviderChain.java:41) ~[?:?]
        at com.amazonaws.monitoring.ProfileCsmConfigurationProvider.getProfilesConfigFile(ProfileCsmConfigurationProvider.java:145) ~[?:?]
        at com.amazonaws.monitoring.ProfileCsmConfigurationProvider.getProfile(ProfileCsmConfigurationProvider.java:136) ~[?:?]
        at com.amazonaws.monitoring.ProfileCsmConfigurationProvider.getConfiguration(ProfileCsmConfigurationProvider.java:90) ~[?:?]
        at com.amazonaws.monitoring.CsmConfigurationProviderChain.getConfiguration(CsmConfigurationProviderChain.java:45) ~[?:?]
        at com.amazonaws.AmazonWebServiceClient.getCsmConfiguration(AmazonWebServiceClient.java:1112) ~[?:?]
        at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:240) ~[?:?]
        at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:225) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:723) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3Builder$1.apply(AmazonS3Builder.java:35) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3Builder$1.apply(AmazonS3Builder.java:32) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3ClientBuilder.build(AmazonS3ClientBuilder.java:64) ~[?:?]
        at com.amazonaws.services.s3.AmazonS3ClientBuilder.build(AmazonS3ClientBuilder.java:28) ~[?:?]
        at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46) ~[?:?]
        at java.security.AccessController.doPrivileged(AccessController.java:74) ~[?:?]
        at org.elasticsearch.repositories.s3.SocketAccess.doPrivileged(SocketAccess.java:32) ~[?:?]
        at org.elasticsearch.repositories.s3.S3Service.buildClient(S3Service.java:190) ~[?:?]
        at org.elasticsearch.repositories.s3.S3Service.client(S3Service.java:145) ~[?:?]
        at org.elasticsearch.repositories.s3.S3BlobStore.clientReference(S3BlobStore.java:299) ~[?:?]
        at org.elasticsearch.repositories.s3.S3BlobContainer.executeSingleUpload(S3BlobContainer.java:463) ~[?:?]
        at org.elasticsearch.repositories.s3.S3BlobContainer.lambda$writeBlob$1(S3BlobContainer.java:144) ~[?:?]
        at java.security.AccessController.doPrivileged(AccessController.java:251) ~[?:?]
        at org.elasticsearch.repositories.s3.SocketAccess.doPrivilegedIOException(SocketAccess.java:38) ~[?:?]
        at org.elasticsearch.repositories.s3.S3BlobContainer.writeBlob(S3BlobContainer.java:142) ~[?:?]
        at org.elasticsearch.common.blobstore.BlobContainer.writeBlob(BlobContainer.java:124) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.verify(BlobStoreRepository.java:3769) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.repositories.VerifyNodeRepositoryAction$TransportAction.doExecute(VerifyNodeRepositoryAction.java:61) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.repositories.VerifyNodeRepositoryAction$TransportAction.doExecute(VerifyNodeRepositoryAction.java:38) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:135) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.ActionFilter$Simple.apply(ActionFilter.java:54) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:132) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.MappedActionFilters$MappedFilterChain.proceed(MappedActionFilters.java:71) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.MappedActionFilters.apply(MappedActionFilters.java:49) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:132) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$4(SecurityActionFilter.java:182) ~[?:?]
        at org.elasticsearch.action.ActionListenerImplementations$DelegatingFailureActionListener.onResponse(ActionListenerImplementations.java:219) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.authz.AuthorizationService.authorizeSystemUser(AuthorizationService.java:685) ~[?:?]
        at org.elasticsearch.xpack.security.authz.AuthorizationService.authorize(AuthorizationService.java:317) ~[?:?]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$applyInternal$5(SecurityActionFilter.java:178) ~[?:?]
        at org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImplementations.java:247) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:97) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.authc.AuthenticatorChain.authenticate(AuthenticatorChain.java:93) ~[?:?]
        at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:264) ~[?:?]
        at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:173) ~[?:?]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.applyInternal(SecurityActionFilter.java:174) ~[?:?]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:131) ~[?:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:132) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction.handleExecution(TransportAction.java:96) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.TransportAction.executeDirect(TransportAction.java:55) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.support.HandledTransportAction.lambda$new$0(HandledTransportAction.java:51) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$1.doRun(SecurityServerTransportInterceptor.java:579) ~[?:?]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$3.onResponse(SecurityServerTransportInterceptor.java:632) ~[?:?]
        at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$3.onResponse(SecurityServerTransportInterceptor.java:621) ~[?:?]
        at org.elasticsearch.xpack.security.authz.AuthorizationService.authorizeSystemUser(AuthorizationService.java:685) ~[?:?]
        at org.elasticsearch.xpack.security.authz.AuthorizationService.authorize(AuthorizationService.java:317) ~[?:?]
        at org.elasticsearch.xpack.security.transport.ServerTransportFilter.lambda$inbound$1(ServerTransportFilter.java:114) ~[?:?]
        at org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImplementations.java:247) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:97) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.xpack.security.authc.AuthenticatorChain.authenticate(AuthenticatorChain.java:93) ~[?:?]
        at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:264) ~[?:?]
        at org.elasticsearch.xpack.security.authc.AuthenticationService.authenticate(AuthenticationService.java:201) ~[?:?]
        at org.elasticsearch.xpack.security.transport.ServerTransportFilter.authenticate(ServerTransportFilter.java:127) ~[?:?]
        at org.elasticsearch.xpack.security.transport.ServerTransportFilter.inbound(ServerTransportFilter.java:105) ~[?:?]
        at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler.messageReceived(SecurityServerTransportInterceptor.java:643) ~[?:?]
        at org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:76) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.transport.InboundHandler.doHandleRequest(InboundHandler.java:289) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.transport.InboundHandler$1.doRun(InboundHandler.java:302) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1044) ~[elasticsearch-8.18.0.jar:?]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27) ~[elasticsearch-8.18.0.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) ~[?:?]
        at java.lang.Thread.run(Thread.java:1447) ~[?:?]

Win 10, the same error, clean unziped version. For the first time I have got an error on startup even I am in ELK world since v7. Not even the debug mode didn't provide more info. ES don't want to start.

[2025-04-16T18:03:23,660][DEBUG][o.e.e.r.p.PolicyManager  ] [elk1] Entitlement trivially allowed from system module [java.base]
[2025-04-16T18:03:23,661][ERROR][o.e.b.Elasticsearch      ] [elk1] fatal exception while booting Elasticsearch
java.lang.ExceptionInInitializerError: null
	at com.amazonaws.util.VersionInfoUtils.userAgent(VersionInfoUtils.java:142) ~[?:?]
	at com.amazonaws.util.VersionInfoUtils.initializeUserAgent(VersionInfoUtils.java:137) ~[?:?]
	at com.amazonaws.util.VersionInfoUtils.getUserAgent(VersionInfoUtils.java:100) ~[?:?]
	at com.amazonaws.ClientConfiguration.<clinit>(ClientConfiguration.java:94) ~[?:?]
	at java.lang.Class.forName0(Native Method) ~[?:?]
	at java.lang.Class.forName(Class.java:463) ~[?:?]
	at java.lang.Class.forName(Class.java:454) ~[?:?]
	at org.elasticsearch.repositories.s3.S3RepositoryPlugin.lambda$static$0(S3RepositoryPlugin.java:54) ~[?:?]
	at java.security.AccessController.doPrivileged(AccessController.java:74) ~[?:?]
	at org.elasticsearch.repositories.s3.S3RepositoryPlugin.<clinit>(S3RepositoryPlugin.java:48) ~[?:?]
	at jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) ~[?:?]
	at jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1166) ~[?:?]
	at jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:341) ~[?:?]
	at jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:104) ~[?:?]
	at jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:143) ~[?:?]
	at java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:546) ~[?:?]
	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:496) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:483) ~[?:?]
	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:514) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.plugins.PluginsService.loadBundle(PluginsService.java:427) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.plugins.PluginsService.lambda$loadPluginBundles$2(PluginsService.java:219) ~[elasticsearch-9.0.0.jar:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[?:?]
	at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[?:?]
	at org.elasticsearch.plugins.PluginsService.loadPluginBundles(PluginsService.java:219) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:94) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.NodeServiceProvider.newPluginService(NodeServiceProvider.java:56) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.NodeConstruction.createEnvironment(NodeConstruction.java:454) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.NodeConstruction.prepareConstruction(NodeConstruction.java:272) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.Node.<init>(Node.java:185) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch$2.<init>(Elasticsearch.java:425) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch.initPhase3(Elasticsearch.java:425) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:101) ~[elasticsearch-9.0.0.jar:?]
Caused by: org.elasticsearch.entitlement.runtime.api.NotEntitledException: component [repository-s3], module [ALL-UNNAMED], class [class com.fasterxml.jackson.core.TokenStreamFactory], entitlement [file], operation [read], path [C:\ELK9\elasticsearch\modules\repository-s3\aws-java-sdk-core-1.12.746.jar]
	at org.elasticsearch.entitlement.runtime.policy.PolicyManager.notEntitled(PolicyManager.java:572) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:395) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:359) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.checkURLFileRead(ElasticsearchEntitlementChecker.java:2776) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.handleNetworkOrFileUrlCheck(ElasticsearchEntitlementChecker.java:670) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.checkEntitlementForUrl(ElasticsearchEntitlementChecker.java:690) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.check$java_net_URL$openStream(ElasticsearchEntitlementChecker.java:713) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at java.net.URL.openStream(URL.java) ~[?:?]
	at com.fasterxml.jackson.core.TokenStreamFactory._optimizedStreamFromURL(TokenStreamFactory.java:262) ~[?:?]
	at com.fasterxml.jackson.core.JsonFactory.createParser(JsonFactory.java:1115) ~[?:?]
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3703) ~[?:?]
	at com.amazonaws.internal.config.InternalConfig.loadfrom(InternalConfig.java:261) ~[?:?]
	at com.amazonaws.internal.config.InternalConfig.load(InternalConfig.java:274) ~[?:?]
	at com.amazonaws.internal.config.InternalConfig$Factory.<clinit>(InternalConfig.java:347) ~[?:?]
	... 40 more

@Patrick_Doyle and @rjernst are looking at this.

Thanks for reporting with details!

2 Likes

The windows error is different. That's a fatal error. I'm working on reproducing it now.

The earlier warning from @ATecha is harmless, and the question in that case is why the warning isn't suppressed as it should be by this.

Just to supply a little more context for @ATecha...

The AWS client library checks for configuration in a number of places, one of which is forbidden. The AWS client supports this by catching SecurityException and proceeding to look for configuration elsewhere. This occurs with both the old SecurityManager system and with the new Entitlements system.

The logger settings you found are to silence warnings from the AWS library itself. We also added a warning to help with troubleshooting, but in your case, it's noise just like the AWS library's warning, and it also should have been suppressed by the log4j2.properties file.

Patrick - Thanks for the additional context, that helped me solve the issue!

I just checked, and my log4j2.properties doesn't have that line. It's missing a few extra lines, actually. I did find them in the log4j2.properties.rpmnew, but that file is dated April 10, and having double-checked my logs, I don't see this warning when the node was still on 8.17.4, even though I did do a reboot before updating.

I added some extra filters to my own, so after merging my log4j2.properties with the .rpmnew from 8.18.0, the warning is gone. My log4j2.properties was just missing some settings.

Below are the entitlement settings that were missing from mine.
The last 2 are tacked on to the end of the file. Are they not with the other entitlements_* because they're for x-pack?

EDIT: Was this change in the release notes anywhere? I don't remember seeing it, but it's possible I missed it.

logger.entitlements_ingest_attachment.name = org.elasticsearch.entitlement.runtime.policy.PolicyManager.ingest-attachment.ALL-UNNAMED
logger.entitlements_ingest_attachment.level = error

logger.entitlements_repository_gcs.name = org.elasticsearch.entitlement.runtime.policy.PolicyManager.repository-gcs.ALL-UNNAMED
logger.entitlements_repository_gcs.level = error

logger.entitlements_repository_s3.name = org.elasticsearch.entitlement.runtime.policy.PolicyManager.repository-s3.ALL-UNNAMED
logger.entitlements_repository_s3.level = error


#These 2 are at the bottom instead of with the others.

logger.entitlements_xpack_security.name = org.elasticsearch.entitlement.runtime.policy.PolicyManager.x-pack-security.org.elasticsearch.security
logger.entitlements_xpack_security.level = error

logger.entitlements_inference.name = org.elasticsearch.entitlement.runtime.policy.PolicyManager.x-pack-inference.software.amazon.awssdk.profiles
logger.entitlements_inference.level = error

These settings already existed in log4j2.properties - ES 9.0.0 - elasticsearch-9.0.0-windows-x86_64.zip, fresh, no upgrade. I have set debug, no addition info in logs which could lead to a trace.

On the screen, when run elasticsearch.bat

[2025-04-17T05:25:09,873][WARN ][o.e.e.r.p.P.r.ALL-UNNAMED] [elk1] Not entitled: component [repository-s3], module [ALL-UNNAMED], class [class com.fasterxml.jackson.core.TokenStreamFactory], entitlement [file], operation [read], path [C:\ELK9\elasticsearch\modules\repository-s3\aws-java-sdk-core-1.12.746.jar]org.elasticsearch.entitlement.runtime.api.NotEntitledException: component [repository-s3], module [ALL-UNNAMED], class [class com.fasterxml.jackson.core.TokenStreamFactory], entitlement [file], operation [read], path [C:\ELK9\elasticsearch\modules\repository-s3\aws-java-sdk-core-1.12.746.jar]
        at org.elasticsearch.entitlement@9.0.0/org.elasticsearch.entitlement.runtime.policy.PolicyManager.notEntitled(PolicyManager.java:572)
        at org.elasticsearch.entitlement@9.0.0/org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:395)
        at org.elasticsearch.entitlement@9.0.0/org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:359)
        at org.elasticsearch.entitlement@9.0.0/org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.checkURLFileRead(ElasticsearchEntitlementChecker.java:2776)
        at org.elasticsearch.entitlement@9.0.0/org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.handleNetworkOrFileUrlCheck(ElasticsearchEntitlementChecker.java:670)

See logs for more details.

[2025-04-17T05:25:09,884][ERROR][o.e.b.Elasticsearch      ] [elk1] fatal exception while booting Elasticsearchjava.lang.ExceptionInInitializerError: null
        at com.amazonaws.util.VersionInfoUtils.userAgent(VersionInfoUtils.java:142)
        at com.amazonaws.util.VersionInfoUtils.initializeUserAgent(VersionInfoUtils.java:137)
        at com.amazonaws.util.VersionInfoUtils.getUserAgent(VersionInfoUtils.java:100)
        at com.amazonaws.ClientConfiguration.<clinit>(ClientConfiguration.java:94)
        at java.base/java.lang.Class.forName0(Native Method)

See logs for more details.

ERROR: Elasticsearch did not exit normally - check the logs at c:\ELK9\elasticsearch\logs\elastdemo.log
[2025-04-17T05:25:09,886][DEBUG][o.e.e.r.p.P.(.o.e.server ] [elk1] Entitled: component [(server)], module [org.elasticsearch.server], class [class org.elasticsearch.bootstrap.Bootstrap], entitlement [exit_v_m]

In clustename.log

[2025-04-17T05:25:09,884][ERROR][o.e.b.Elasticsearch      ] [elk1] fatal exception while booting Elasticsearch
java.lang.ExceptionInInitializerError: null
	at com.amazonaws.util.VersionInfoUtils.userAgent(VersionInfoUtils.java:142) ~[?:?]
	at com.amazonaws.util.VersionInfoUtils.initializeUserAgent(VersionInfoUtils.java:137) ~[?:?]
	at com.amazonaws.util.VersionInfoUtils.getUserAgent(VersionInfoUtils.java:100) ~[?:?]
	at com.amazonaws.ClientConfiguration.<clinit>(ClientConfiguration.java:94) ~[?:?]
	at java.lang.Class.forName0(Native Method) ~[?:?]
	at java.lang.Class.forName(Class.java:463) ~[?:?]
	at java.lang.Class.forName(Class.java:454) ~[?:?]
	at org.elasticsearch.repositories.s3.S3RepositoryPlugin.lambda$static$0(S3RepositoryPlugin.java:54) ~[?:?]
	at java.security.AccessController.doPrivileged(AccessController.java:74) ~[?:?]
	at org.elasticsearch.repositories.s3.S3RepositoryPlugin.<clinit>(S3RepositoryPlugin.java:48) ~[?:?]
	at jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) ~[?:?]
	at jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1166) ~[?:?]
	at jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:341) ~[?:?]
	at jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:104) ~[?:?]
	at jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:143) ~[?:?]
	at java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:546) ~[?:?]
	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:496) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:483) ~[?:?]
	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:514) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.plugins.PluginsService.loadBundle(PluginsService.java:427) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.plugins.PluginsService.lambda$loadPluginBundles$2(PluginsService.java:219) ~[elasticsearch-9.0.0.jar:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[?:?]
	at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[?:?]
	at org.elasticsearch.plugins.PluginsService.loadPluginBundles(PluginsService.java:219) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:94) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.NodeServiceProvider.newPluginService(NodeServiceProvider.java:56) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.NodeConstruction.createEnvironment(NodeConstruction.java:454) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.NodeConstruction.prepareConstruction(NodeConstruction.java:272) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.Node.<init>(Node.java:185) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch$2.<init>(Elasticsearch.java:425) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch.initPhase3(Elasticsearch.java:425) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:101) ~[elasticsearch-9.0.0.jar:?]
Caused by: org.elasticsearch.entitlement.runtime.api.NotEntitledException: component [repository-s3], module [ALL-UNNAMED], class [class com.fasterxml.jackson.core.TokenStreamFactory], entitlement [file], operation [read], path [C:\ELK9\elasticsearch\modules\repository-s3\aws-java-sdk-core-1.12.746.jar]
	at org.elasticsearch.entitlement.runtime.policy.PolicyManager.notEntitled(PolicyManager.java:572) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:395) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.policy.PolicyManager.checkFileRead(PolicyManager.java:359) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.checkURLFileRead(ElasticsearchEntitlementChecker.java:2776) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.handleNetworkOrFileUrlCheck(ElasticsearchEntitlementChecker.java:670) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.checkEntitlementForUrl(ElasticsearchEntitlementChecker.java:690) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at org.elasticsearch.entitlement.runtime.api.ElasticsearchEntitlementChecker.check$java_net_URL$openStream(ElasticsearchEntitlementChecker.java:713) ~[elasticsearch-entitlement-9.0.0.jar:?]
	at java.net.URL.openStream(URL.java) ~[?:?]
	at com.fasterxml.jackson.core.TokenStreamFactory._optimizedStreamFromURL(TokenStreamFactory.java:262) ~[?:?]
	at com.fasterxml.jackson.core.JsonFactory.createParser(JsonFactory.java:1115) ~[?:?]
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3703) ~[?:?]
	at com.amazonaws.internal.config.InternalConfig.loadfrom(InternalConfig.java:261) ~[?:?]
	at com.amazonaws.internal.config.InternalConfig.load(InternalConfig.java:274) ~[?:?]
	at com.amazonaws.internal.config.InternalConfig$Factory.<clinit>(InternalConfig.java:347) ~[?:?]
	... 40 more
[2025-04-17T05:25:09,886][DEBUG][o.e.e.r.p.P.(.o.e.server ] [elk1] Entitled: component [(server)], module [org.elasticsearch.server], class [class org.elasticsearch.bootstrap.Bootstrap], entitlement [exit_v_m]

@Rios yes, your case is different: in your case the problem is not just a warning, it is a real issue, likely a Windows-only bug related to paths. But this is still a guess for now, we are working hard and trying to repro this -- as our windows CI tests do not hit this, so we need to figure out why and what's different.

2 Likes

Feel free to make a debug version of any jar/lib package, will test it.

Actually, I was able to repro and found it.
Fortunately the workaround is easy:
cd C:\ELK9\elasticsearch\bin

Notice C: vs c:
Unfortunately, drive letters are case insensitive in Windows, and we are not treating them as such. This is a bug and will be fixed, but should be easy for you to work around. Can you try it please?

2 Likes

It's working. THANK YOU!!!
What a weird issue.

{
  "name" : "elk1",
  "cluster_name" : "elastdemo",
  "version" : {
    "number" : "9.0.0",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "112859b85d50de2a7e63f73c8fc70b99eea24291",
    "build_date" : "2025-04-08T15:13:46.049795831Z",
    "build_snapshot" : false,
    "lucene_version" : "10.1.0",
    "minimum_wire_compatibility_version" : "8.18.0",
    "minimum_index_compatibility_version" : "8.0.0"
  },
  "tagline" : "You Know, for Search"
}
2 Likes