Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Nomad
Commits
7ba9b8f5
Commit
7ba9b8f5
authored
9 years ago
by
Alex Dadgar
Browse files
Options
Download
Email Patches
Plain Diff
Always remove periodic jobs in fsm
parent
9e6457eb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
nomad/fsm.go
+7
-15
nomad/fsm.go
nomad/periodic.go
+8
-5
nomad/periodic.go
with
15 additions
and
20 deletions
+15
-20
nomad/fsm.go
+
7
-
15
View file @
7ba9b8f5
...
...
@@ -262,28 +262,20 @@ func (n *nomadFSM) applyDeregisterJob(buf []byte, index uint64) interface{} {
panic
(
fmt
.
Errorf
(
"failed to decode request: %v"
,
err
))
}
job
,
err
:=
n
.
state
.
JobByID
(
req
.
JobID
)
if
err
!=
nil
{
if
err
:=
n
.
state
.
DeleteJob
(
index
,
req
.
JobID
);
err
!=
nil
{
n
.
logger
.
Printf
(
"[ERR] nomad.fsm: DeleteJob failed: %v"
,
err
)
return
err
}
if
err
:=
n
.
state
.
DeleteJob
(
index
,
req
.
JobID
);
err
!=
nil
{
n
.
logger
.
Printf
(
"[ERR] nomad.fsm:
DeleteJob
failed: %v"
,
err
)
if
err
:=
n
.
periodicDispatcher
.
Remove
(
req
.
JobID
);
err
!=
nil
{
n
.
logger
.
Printf
(
"[ERR] nomad.fsm:
periodicDispatcher.Remove
failed: %v"
,
err
)
return
err
}
if
job
.
IsPeriodic
()
{
if
err
:=
n
.
periodicDispatcher
.
Remove
(
req
.
JobID
);
err
!=
nil
{
n
.
logger
.
Printf
(
"[ERR] nomad.fsm: periodicDispatcher.Remove failed: %v"
,
err
)
return
err
}
if
err
:=
n
.
state
.
DeletePeriodicLaunch
(
index
,
req
.
JobID
);
err
!=
nil
{
n
.
logger
.
Printf
(
"[ERR] nomad.fsm: DeletePeriodicLaunch failed: %v"
,
err
)
return
err
}
}
// We always delete from the periodic launch table because it is possible that
// the job was updated to be non-perioidic, thus checking if it is periodic
// doesn't ensure we clean it up properly.
n
.
state
.
DeletePeriodicLaunch
(
index
,
req
.
JobID
)
return
nil
}
...
...
This diff is collapsed.
Click to expand it.
nomad/periodic.go
+
8
-
5
View file @
7ba9b8f5
...
...
@@ -197,11 +197,14 @@ func (p *PeriodicDispatch) removeLocked(jobID string) error {
return
nil
}
if
job
,
tracked
:=
p
.
tracked
[
jobID
];
tracked
{
delete
(
p
.
tracked
,
jobID
)
if
err
:=
p
.
heap
.
Remove
(
job
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to remove tracked job %v: %v"
,
jobID
,
err
)
}
job
,
tracked
:=
p
.
tracked
[
jobID
]
if
!
tracked
{
return
nil
}
delete
(
p
.
tracked
,
jobID
)
if
err
:=
p
.
heap
.
Remove
(
job
);
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to remove tracked job %v: %v"
,
jobID
,
err
)
}
// Signal an update.
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help