From 7a53782985e3a560810dc74fddf8d4a31bf36c5e Mon Sep 17 00:00:00 2001 From: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com> Date: Thu, 8 Oct 2026 12:20:51 +0800 Subject: [PATCH] test(auth): bound row lock fixture wait Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com> --- .../controller/AccountMergeFlowIntegrationTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/AccountMergeFlowIntegrationTest.java b/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/AccountMergeFlowIntegrationTest.java index 86609eb7..6242ae69 100644 --- a/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/AccountMergeFlowIntegrationTest.java +++ b/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/AccountMergeFlowIntegrationTest.java @@ -177,6 +177,7 @@ class AccountMergeFlowIntegrationTest { CountDownLatch start = new CountDownLatch(1); try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { Future lockHolder = executor.submit(() -> new TransactionTemplate(transactionManager).execute(status -> { + jdbcTemplate.execute("set local lock_timeout = '5s'"); jdbcTemplate.queryForObject( "select id from account_merge_request where id = ? for update", Long.class, requestId); locked.countDown(); @@ -188,7 +189,11 @@ class AccountMergeFlowIntegrationTest { } return null; })); - assertThat(locked.await(10, TimeUnit.SECONDS)).isTrue(); + if (!locked.await(10, TimeUnit.SECONDS)) { + releaseLock.countDown(); + lockHolder.cancel(true); + throw new AssertionError("Could not acquire the fixture row lock"); + } Future confirm = executor.submit(() -> { start.await(); try {