**Build scan:**
https://gradle-enterprise.elastic.co/s/nmjznurkclizw/tests/:x-pack:plugin:security:internalClusterTest/org.elasticsearch.xpack.security.profile.ProfileDomainIntegTests/testConcurrentCreationOfNewProfiles

**Reproduction line:**
`./gradlew ':x-pack:plugin:security:internalClusterTest' --tests "org.elasticsearch.xpack.security.profile.ProfileDomainIntegTests.testConcurrentCreationOfNewProfiles" -Dtests.seed=DF7A58E7374EF2C7 -Dtests.locale=id-ID -Dtests.timezone=Europe/Ljubljana -Druntime.java=17`

**Applicable branches:**
master

**Reproduces locally?:**
No

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.xpack.security.profile.ProfileDomainIntegTests&tests.test=testConcurrentCreationOfNewProfiles

**Failure excerpt:**
```
com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an uncaught exception in thread: Thread[id=339, name=Thread-17, state=RUNNABLE, group=TGRP-ProfileDomainIntegTests]


  Caused by: java.lang.AssertionError: caught error when creating new profile: org.elasticsearch.action.UnavailableShardsException: at least one primary shard for the index [.security-profile-8] is unavailable

    at __randomizedtesting.SeedInfo.seed([DF7A58E7374EF2C7]:0)
    at org.junit.Assert.fail(Assert.java:88)
    at org.elasticsearch.xpack.security.profile.ProfileDomainIntegTests.lambda$testConcurrentCreationOfNewProfiles$0(ProfileDomainIntegTests.java:321)
    at java.lang.Thread.run(Thread.java:833)

```
x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/xpack/security/profile/ProfileDomainIntegTests.java
final ProfileService profileService = getInstanceFromRandomNode(ProfileService.class);
        final PlainActionFuture<Profile> future = new PlainActionFuture<>();
        profileService.getOrCreateProfileWithBackoff(subject, profileDocument, List.of(TimeValue.timeValueMillis(50)).iterator(), future);
        final ElasticsearchException e = expectThrows(ElasticsearchException.class, future::actionGet);
        assertThat(e.getMessage(), containsString("failed to retrieving profile [" + profileDocument.uid() + "] after all retries"));
    }
    public void testProfileDocumentPassCanAccessResourceCheck() {
        Authentication authentication = Authentication.newRealmAuthentication(
            AuthenticationTests.randomUser(),
            AuthenticationTests.randomRealmRef(randomBoolean())
        );
        if (randomBoolean()) {
            authentication = authentication.token();
        } else {
            authentication = authentication.runAs(AuthenticationTests.randomUser(), AuthenticationTests.randomRealmRef(randomBoolean()));
            if (randomBoolean()) {
                authentication = authentication.token();
            }
        }
        final Subject subject = AuthenticationContext.fromAuthentication(authentication).getEffectiveSubject();
        final ProfileService profileService = getInstanceFromRandomNode(ProfileService.class);
        final PlainActionFuture<Profile> future1 = new PlainActionFuture<>();
        profileService.activateProfile(authentication, future1);
        final String uid = future1.actionGet().uid();
        client().execute(RefreshAction.INSTANCE, new RefreshRequest(INTERNAL_SECURITY_PROFILE_INDEX_8)).actionGet();
        final PlainActionFuture<ProfileService.VersionedDocument> future2 = new PlainActionFuture<>();
        profileService.searchVersionedDocumentForSubject(subject, future2);
        final ProfileDocument profileDocument = future2.actionGet().doc();
        assertThat(profileDocument.uid(), equalTo(uid));
        assertThat(subject.canAccessResourcesOf(profileDocument.subject()), is(true));