You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Run the server using the getting-started docker compose file: docker compose -f getting-started/eclipselink/docker-compose.yml up
Export the client ID and secrets as environment variables: export CLIENT_ID=root CLIENT_SECRET=s3cr3t
Run ./gradlew :polaris-benchmarks:gatlingRun
The Gatling simulation runs many different users that first authenticate against the oauth API and then create a catalog with the name Catalog and the storage location /tmp/polaris2.
Actual Behavior
The Gatling output contains the number of successful catalog creation requests. In the example below, 21 of them succeeded:
Given that ALLOW_OVERLAPPING_CATALOG_URLS is set to false (the default value), only one catalog creation should succeed. And the /api/management/v1/catalogs endpoint should only list two catalogs: the one created by the docker compose file and the one created by Gatling.
Additional context
This file is the output from GET /api/management/v1/catalogs. It shows that 21 catalogs have been created with the same name and storage location. Some of them have the same creation timestamp, some don't.
I would say the issue is reproducible about 50% of the time.
System information
No response
The text was updated successfully, but these errors were encountered:
Unfortunately the ALLOW_OVERLAPPING_CATALOG_URLS check is not transactional. We need better semantics around these checks; it's an important consideration as we look more closely at the persistence layer. cc @jbonofre@dennishuo
Describe the bug
There is a race condition that makes it possible to create multiple catalogs with the same name and the same storage location.
To Reproduce
docker compose -f getting-started/eclipselink/docker-compose.yml up
export CLIENT_ID=root CLIENT_SECRET=s3cr3t
./gradlew :polaris-benchmarks:gatlingRun
The Gatling simulation runs many different users that first authenticate against the oauth API and then create a catalog with the name
Catalog
and the storage location/tmp/polaris2
.Actual Behavior
The Gatling output contains the number of successful catalog creation requests. In the example below, 21 of them succeeded:
Expected Behavior
Given that
ALLOW_OVERLAPPING_CATALOG_URLS
is set tofalse
(the default value), only one catalog creation should succeed. And the/api/management/v1/catalogs
endpoint should only list two catalogs: the one created by the docker compose file and the one created by Gatling.Additional context
This file is the output from
GET /api/management/v1/catalogs
. It shows that 21 catalogs have been created with the same name and storage location. Some of them have the same creation timestamp, some don't.I would say the issue is reproducible about 50% of the time.
System information
No response
The text was updated successfully, but these errors were encountered: