Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions regression-test/suites/cloud_p0/recycler/check_meta.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ suite("check_meta", "check_meta") {
def status = 200
def recyclerLastSuccessTime = -1
def recyclerLastFinishTime = -1
def waitTimeoutMs = 30 * 60 * 1000L
def recyclerWaitDeadline = caseStartTime + waitTimeoutMs

String jdbcUrl = context.config.jdbcUrl
String urlWithoutSchema = jdbcUrl.substring(jdbcUrl.indexOf("://") + 3)
Expand Down Expand Up @@ -89,6 +91,12 @@ suite("check_meta", "check_meta") {
if (recyclerLastSuccessTime > caseStartTime) {
break
}
if (System.currentTimeMillis() >= recyclerWaitDeadline) {
throw new IllegalStateException(
"Timed out waiting for recycler job after ${waitTimeoutMs / 1000}s: " +
"caseStartTime=${caseStartTime}, recyclerLastFinishTime=${recyclerLastFinishTime}, " +
"recyclerLastSuccessTime=${recyclerLastSuccessTime}")
}
} while (true)
assertEquals(recyclerLastFinishTime, recyclerLastSuccessTime)

Expand Down
11 changes: 10 additions & 1 deletion regression-test/suites/cloud_p0/recycler/test_checker.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,9 @@ suite("test_checker") {
// Make sure to complete at least one round of checking
def checkerLastSuccessTime = -1
def checkerLastFinishTime = -1
def waitTimeoutMs = 30 * 60 * 1000L
def checkerWaitStartTime = System.currentTimeMillis()
def checkerWaitDeadline = checkerWaitStartTime + waitTimeoutMs

def triggerChecker = {
def triggerCheckerApi = { checkFunc ->
Expand Down Expand Up @@ -233,6 +236,12 @@ suite("test_checker") {
if (checkerLastFinishTime > caseStartTime) {
break
}
if (System.currentTimeMillis() >= checkerWaitDeadline) {
throw new IllegalStateException(
"Timed out waiting for checker job after ${waitTimeoutMs / 1000}s: " +
"caseStartTime=${caseStartTime}, checkerLastFinishTime=${checkerLastFinishTime}, " +
"checkerLastSuccessTime=${checkerLastSuccessTime}")
}
} while (true)
assertTrue(checkerLastSuccessTime < checkerLastFinishTime) // Check MUST fail

Expand Down Expand Up @@ -298,4 +307,4 @@ suite("test_checker") {
}
}
}
}
}
17 changes: 17 additions & 0 deletions regression-test/suites/cloud_p0/recycler/test_recycler.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ suite("test_recycler") {
def caseStartTime = System.currentTimeMillis()
def recyclerLastSuccessTime = -1
def recyclerLastFinishTime = -1
def waitTimeoutMs = 30 * 60 * 1000L
def recyclerWaitDeadline = caseStartTime + waitTimeoutMs

// Make sure to complete at least one round of recycling
def getRecycleJobInfo = {
Expand Down Expand Up @@ -61,6 +63,12 @@ suite("test_recycler") {
if (recyclerLastFinishTime > caseStartTime) {
break
}
if (System.currentTimeMillis() >= recyclerWaitDeadline) {
throw new IllegalStateException(
"Timed out waiting for recycler job after ${waitTimeoutMs / 1000}s: " +
"caseStartTime=${caseStartTime}, recyclerLastFinishTime=${recyclerLastFinishTime}, " +
"recyclerLastSuccessTime=${recyclerLastSuccessTime}")
}
} while (true)
assertEquals(recyclerLastFinishTime, recyclerLastSuccessTime)

Expand All @@ -86,6 +94,8 @@ suite("test_recycler") {
// Make sure to complete at least one round of checking
def checkerLastSuccessTime = -1
def checkerLastFinishTime = -1
def checkerWaitStartTime = System.currentTimeMillis()
def checkerWaitDeadline = checkerWaitStartTime + waitTimeoutMs

def triggerChecker = {
def triggerCheckerApi = { checkFunc ->
Expand Down Expand Up @@ -139,6 +149,13 @@ suite("test_recycler") {
if (checkerLastSuccessTime > recyclerLastSuccessTime) {
break
}
if (System.currentTimeMillis() >= checkerWaitDeadline) {
throw new IllegalStateException(
"Timed out waiting for checker job after ${waitTimeoutMs / 1000}s: " +
"recyclerLastSuccessTime=${recyclerLastSuccessTime}, " +
"checkerLastFinishTime=${checkerLastFinishTime}, " +
"checkerLastSuccessTime=${checkerLastSuccessTime}")
}
} while (true)
assertEquals(checkerLastFinishTime, checkerLastSuccessTime)
}
Loading