docker:add delay after freeze
This commit is contained in:
parent
a12b6bae29
commit
2e48b57e25
@ -1 +1 @@
|
|||||||
18.09.0.330
|
18.09.0.331
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
Name: docker-engine
|
Name: docker-engine
|
||||||
Version: 18.09.0
|
Version: 18.09.0
|
||||||
Release: 330
|
Release: 331
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Summary: The open-source application container engine
|
Summary: The open-source application container engine
|
||||||
Group: Tools/Docker
|
Group: Tools/Docker
|
||||||
@ -229,6 +229,12 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Oct 12 2023 zhongjiawei<zhongjiawei1@huawei.com> - 18.09.0-331
|
||||||
|
- Type:bugfix
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:add delay after freeze
|
||||||
|
|
||||||
* Mon Oct 09 2023 Lu Jingxiao<lujingxiao@huawei.com> - 18.09.0-330
|
* Mon Oct 09 2023 Lu Jingxiao<lujingxiao@huawei.com> - 18.09.0-330
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- CVE:NA
|
- CVE:NA
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
6e79cc61cbbc23c3aa3368ef6159a04d0e6ecc04
|
27990572a4a6368c387a04649493a8a41bf26d57
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
From a1e170db821863c8a8062f599fab64d6c1d95210 Mon Sep 17 00:00:00 2001
|
From 2a6d6321956d0a6edbec7421357e14c01dc7f5ab Mon Sep 17 00:00:00 2001
|
||||||
From: chenjiankun <chenjiankun1@huawei.com>
|
From: chenjiankun <chenjiankun1@huawei.com>
|
||||||
Date: Fri, 13 Jan 2023 17:13:22 +0800
|
Date: Fri, 13 Jan 2023 17:13:22 +0800
|
||||||
Subject: [PATCH] docker: set freezer.state to Thawed to increase freeze
|
Subject: [PATCH] docker: set freezer.state to Thawed to increase freeze
|
||||||
@ -6,12 +6,15 @@ Subject: [PATCH] docker: set freezer.state to Thawed to increase freeze
|
|||||||
|
|
||||||
docker pause/unpause with parallel docker exec can lead to freezing
|
docker pause/unpause with parallel docker exec can lead to freezing
|
||||||
state, set freezer.state to Thawed to increase freeze chances
|
state, set freezer.state to Thawed to increase freeze chances
|
||||||
|
|
||||||
|
Occasional short sleep before reading the state back also improves
|
||||||
|
the chances to succeed in freezing in case of a very slow system.
|
||||||
---
|
---
|
||||||
components/engine/daemon/freezer/freezer.go | 21 +++++++++++++++++++++
|
components/engine/daemon/freezer/freezer.go | 28 +++++++++++++++++++++
|
||||||
1 file changed, 21 insertions(+)
|
1 file changed, 28 insertions(+)
|
||||||
|
|
||||||
diff --git a/components/engine/daemon/freezer/freezer.go b/components/engine/daemon/freezer/freezer.go
|
diff --git a/components/engine/daemon/freezer/freezer.go b/components/engine/daemon/freezer/freezer.go
|
||||||
index 6df176f2f..fde134887 100644
|
index 6df176f2f..bd45304f4 100644
|
||||||
--- a/components/engine/daemon/freezer/freezer.go
|
--- a/components/engine/daemon/freezer/freezer.go
|
||||||
+++ b/components/engine/daemon/freezer/freezer.go
|
+++ b/components/engine/daemon/freezer/freezer.go
|
||||||
@@ -186,6 +186,7 @@ func (f *freezer) updateCgroup(state string) error {
|
@@ -186,6 +186,7 @@ func (f *freezer) updateCgroup(state string) error {
|
||||||
@ -49,6 +52,20 @@ index 6df176f2f..fde134887 100644
|
|||||||
// In case this loop does not exit because it doesn't get the expected
|
// In case this loop does not exit because it doesn't get the expected
|
||||||
// state, let's write again this state, hoping it's going to be properly
|
// state, let's write again this state, hoping it's going to be properly
|
||||||
// set this time. Otherwise, this loop could run infinitely, waiting for
|
// set this time. Otherwise, this loop could run infinitely, waiting for
|
||||||
|
@@ -201,6 +222,13 @@ func (f *freezer) updateCgroup(state string) error {
|
||||||
|
if err := writeFile(f.path, "freezer.state", state); err != nil {
|
||||||
|
return fmt.Errorf("cannot write freezer.state for %#v", err)
|
||||||
|
}
|
||||||
|
+ if count%25 == 24 {
|
||||||
|
+ // Occasional short sleep before reading
|
||||||
|
+ // the state back also improves the chances to
|
||||||
|
+ // succeed in freezing in case of a very slow
|
||||||
|
+ // system.
|
||||||
|
+ time.Sleep(10 * time.Microsecond)
|
||||||
|
+ }
|
||||||
|
newState, err := readFile(f.path, "freezer.state")
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("read freezer.state failed after write: %v", err)
|
||||||
--
|
--
|
||||||
2.23.0
|
2.33.0
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user