Bug #42275 | Falcon hangs for any schedule set to " * * * * * " | ||
---|---|---|---|
Submitted: | 22 Jan 2009 19:16 | Modified: | 15 May 2009 17:06 |
Reporter: | Kevin Lewis | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S3 (Non-critical) |
Version: | 6.0.9 | OS: | Any |
Assigned to: | Sergey Vojtovich | CPU Architecture: | Any |
Tags: | F_HANDLER |
[22 Jan 2009 19:16]
Kevin Lewis
[22 Jan 2009 19:21]
Kevin Lewis
Sergey, This code change works in Falcon, but then the serve fails in sql_plugin.cc at line 622; if (pi->state & (PLUGIN_IS_READY | PLUGIN_IS_UNINITIALIZED)) the variable pi is null In the following code, I also capitalized "Invalid schedule... ---------------------------- Schedule::Schedule(const char *scheduleString) { + int elementsFound = 0; string = scheduleString; memset(elements, 0, sizeof (elements)); const char *p = string; deleted = false; useCount = 1; for (int n = 0; *p && n < SCHEDULE_ELEMENTS; ++n) { while (*p == ' ' || *p == '\t' || *p == '"') ++p; if (!*p) break; if (*p == '*') ++p; else if (ISDIGIT (*p)) { ASSERT (n >= 0 && n < SCHEDULE_ELEMENTS); + elementsFound++; elements [n] = new ScheduleElement (&p); int max = maxValues [n]; if (n == WEEKDAY) max = 7; for (ScheduleElement *element = elements [n]; element; element = element->next) if (element->from >= max || element->to >= max) throw SQLEXCEPTION (RUNTIME_ERROR, "Invalid schedule string \"%s\"", (const char*) string); } else throw SQLEXCEPTION (RUNTIME_ERROR, "Invalid schedule string \"%s\"", (const char*) string); } + if (!elementsFound) + throw SQLEXCEPTION (RUNTIME_ERROR, "invalid schedule string \"%s\"", (const char*) string); getNextEvent(); }
[26 Jan 2009 10:27]
Sergey Vojtovich
Reported another bug for the server issue, since it likely needs to be fixed in 5.1. See BUG#42345.
[2 Apr 2009 17:38]
Bugs System
Pushed into 6.0.11-alpha (revid:hky@sun.com-20090402144811-yc5kp8g0rjnhz7vy) (version source revid:svoj@sun.com-20090306124708-7z0yg7acbqm5xeex) (merge vers: 6.0.11-alpha) (pib:6)
[15 May 2009 17:06]
MC Brown
A note has been added to the 6.0.11 changelog: Using a falcon-scavenge-schedule of * * * * * would cause Falcon to never execute the required threads to operate.