mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
Merge pull request #170 from overleaf/jpa-import-141
[DockerRunner] destroyOldContainers: fix a race confition
This commit is contained in:
commit
d9265b779f
2 changed files with 6 additions and 3 deletions
|
@ -642,6 +642,9 @@ module.exports = DockerRunner = {
|
|||
ttl
|
||||
) {
|
||||
if (name.slice(0, 9) === '/project-' && ttl <= 0) {
|
||||
// strip the / prefix
|
||||
// the LockManager uses the plain container name
|
||||
name = name.slice(1)
|
||||
return jobs.push(cb =>
|
||||
DockerRunner.destroyContainer(name, id, false, () => cb())
|
||||
)
|
||||
|
|
|
@ -688,19 +688,19 @@ describe('DockerRunner', function() {
|
|||
it('should destroy old containers', function() {
|
||||
this.DockerRunner.destroyContainer.callCount.should.equal(1)
|
||||
return this.DockerRunner.destroyContainer
|
||||
.calledWith('/project-old-container-name', 'old-container-id')
|
||||
.calledWith('project-old-container-name', 'old-container-id')
|
||||
.should.equal(true)
|
||||
})
|
||||
|
||||
it('should not destroy new containers', function() {
|
||||
return this.DockerRunner.destroyContainer
|
||||
.calledWith('/project-new-container-name', 'new-container-id')
|
||||
.calledWith('project-new-container-name', 'new-container-id')
|
||||
.should.equal(false)
|
||||
})
|
||||
|
||||
it('should not destroy non-project containers', function() {
|
||||
return this.DockerRunner.destroyContainer
|
||||
.calledWith('/totally-not-a-project-container', 'some-random-id')
|
||||
.calledWith('totally-not-a-project-container', 'some-random-id')
|
||||
.should.equal(false)
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in a new issue