dennishuo commented on issue #1076: URL: https://github.com/apache/polaris/issues/1076#issuecomment-2692693309
Confirmed with https://github.com/apache/polaris/pull/1092 and cranking up to concurrency of 100 that I get 99 failures and 1 success: $ ./gradlew :polaris-benchmarks:gatlingRun Configuration on demand is an incubating feature. > Task :polaris-benchmarks:gatlingRun Simulation IcebergRestSimulation started... ======================================================================================================================== 2025-03-02 11:43:58 GMT 2s elapsed ---- Requests -----------------------------------------------------------------------|---Total---|-----OK----|----KO---- > Global | 203 | 104 | 99 > Authenticate | 101 | 101 | 0 > Create Catalog | 1 | 1 | 0 > Create Namespace | 1 | 1 | 0 > Create Table | 100 | 1 | 99 ---- Errors ------------------------------------------------------------------------------------------------------------ > status.find.in([200, 209], 304), found 409 99 (100%) ---- Create catalog and namespace using the Iceberg REST API ----------------------------------------------------------- [################################################################################################################] 100% waiting: 0 / active: 0 / done: 1 ---- Create tables using the Iceberg REST API -------------------------------------------------------------------------- [################################################################################################################] 100% waiting: 0 / active: 0 / done: 100 ======================================================================================================================== Parsing log file(s)... Parsing log file(s) done in 0s. Generating reports... ======================================================================================================================== ---- Global Information -------------------------------------------------------------|---Total---|-----OK----|----KO---- > request count | 203 | 104 | 99 > min response time (ms) | 11 | 11 | 847 > max response time (ms) | 1,371 | 1,369 | 1,371 > mean response time (ms) | 666 | 174 | 1,182 > response time std deviation (ms) | 521 | 132 | 132 > response time 50th percentile (ms) | 274 | 168 | 1,186 > response time 75th percentile (ms) | 1,186 | 210 | 1,289 > response time 95th percentile (ms) | 1,351 | 261 | 1,362 > response time 99th percentile (ms) | 1,366 | 275 | 1,371 > mean throughput (rps) | 67.67 | 34.67 | 33 ---- Response Time Distribution ---------------------------------------------------------------------------------------- > OK: t < 800 ms 103 (50.74%) > OK: 800 ms <= t < 1200 ms 0 (0%) > OK: t >= 1200 ms 1 (0.49%) > KO 99 (48.77%) ---- Errors ------------------------------------------------------------------------------------------------------------ > status.find.in([200, 209], 304), found 409 99 (100%) ======================================================================================================================== Whereas if (1) *or* (2) aren't fixed, it shows reliable corruption in the backend with duplicates. If (1) and (2) are fixed but not (3), then the database remains correct with 1 unique table, but there will be erroneous `200` return codes. The `200` responses do return the "correct" metadata JSON (the really committed one, not new attempts to commit), but they should be 409s nonetheless. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
