This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit a3a73162e58885608a913f03de98281506e810a6 Author: Calvin Kirs <[email protected]> AuthorDate: Sat Feb 3 15:10:41 2024 +0800 [Fix](Job)Fix One-Time type JOB parameter verification error (#30779) --- .../doris/job/base/JobExecutionConfiguration.java | 3 +++ .../doris/job/base/JobExecutionConfigurationTest.java | 17 ++++++++++++++--- .../suites/job_p0/test_base_insert_job.groovy | 5 ++++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/job/base/JobExecutionConfiguration.java b/fe/fe-core/src/main/java/org/apache/doris/job/base/JobExecutionConfiguration.java index 553db9e966f..55b4ff79119 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/job/base/JobExecutionConfiguration.java +++ b/fe/fe-core/src/main/java/org/apache/doris/job/base/JobExecutionConfiguration.java @@ -92,6 +92,9 @@ public class JobExecutionConfiguration { if (timerDefinition.getStartTimeMs() == null) { throw new IllegalArgumentException("startTimeMs cannot be null"); } + if (isImmediate()) { + return; + } if (timerDefinition.getStartTimeMs() < System.currentTimeMillis()) { throw new IllegalArgumentException("startTimeMs cannot be less than current time"); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/job/base/JobExecutionConfigurationTest.java b/fe/fe-core/src/test/java/org/apache/doris/job/base/JobExecutionConfigurationTest.java index 053d41bd0b8..33a1178561d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/job/base/JobExecutionConfigurationTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/job/base/JobExecutionConfigurationTest.java @@ -36,7 +36,7 @@ public class JobExecutionConfigurationTest { configuration.setTimerDefinition(timerDefinition); List<Long> delayTimes = configuration.getTriggerDelayTimes( - 0L, 0L, 5000L); + 0L, 0L, 5000L); Assertions.assertEquals(1, delayTimes.size()); Assertions.assertEquals(1, delayTimes.get(0).longValue()); @@ -59,12 +59,23 @@ public class JobExecutionConfigurationTest { Assertions.assertEquals(2, delayTimes.size()); Assertions.assertArrayEquals(new Long[]{100L, 700L}, delayTimes.toArray()); delayTimes = configuration.getTriggerDelayTimes( - 200000L, 0L, 1100000L); + 200000L, 0L, 1100000L); Assertions.assertEquals(1, delayTimes.size()); - Assertions.assertArrayEquals(new Long[]{ 500L}, delayTimes.toArray()); + Assertions.assertArrayEquals(new Long[]{500L}, delayTimes.toArray()); delayTimes = configuration.getTriggerDelayTimes( 1001000L, 0L, 1000000L); Assertions.assertEquals(1, delayTimes.size()); } + @Test + public void testImmediate() { + JobExecutionConfiguration configuration = new JobExecutionConfiguration(); + configuration.setExecuteType(JobExecuteType.ONE_TIME); + configuration.setImmediate(true); + configuration.setImmediate(true); + TimerDefinition timerDefinition = new TimerDefinition(); + configuration.setTimerDefinition(timerDefinition); + configuration.checkParams(); + } + } diff --git a/regression-test/suites/job_p0/test_base_insert_job.groovy b/regression-test/suites/job_p0/test_base_insert_job.groovy index 6ba917bd576..b4400e89f2d 100644 --- a/regression-test/suites/job_p0/test_base_insert_job.groovy +++ b/regression-test/suites/job_p0/test_base_insert_job.groovy @@ -153,7 +153,10 @@ suite("test_base_insert_job") { sql """ CREATE JOB press ON SCHEDULE every 10 hour starts CURRENT_TIMESTAMP comment 'test for test&68686781jbjbhj//ncsa' DO insert into ${tableName} values ('2023-07-19', 99, 99); """ - Thread.sleep(2500) + Thread.sleep(5000) + def pressJob = sql """ select * from jobs("type"="insert") where name='press' """ + println pressJob + def recurringTableDatas = sql """ select count(1) from ${tableName} where user_id=99 and type=99 """ assert recurringTableDatas.get(0).get(0) == 1 sql """ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
