[mesos-site] branch asf-site updated: Updated the website built from mesos SHA: f130544.
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/mesos-site.git The following commit(s) were added to refs/heads/asf-site by this push: new feb5269 Updated the website built from mesos SHA: f130544. feb5269 is described below commit feb5269112b5fdf1a68ff82a7af366c2471d05f1 Author: jenkins AuthorDate: Tue Jan 29 00:47:01 2019 + Updated the website built from mesos SHA: f130544. --- content/blog/feed.xml| 67 +- content/blog/index.html | 4 + content/blog/mesos-1-7-1-released/index.html | 251 +++ content/documentation/building/index.html| 4 +- content/documentation/latest/building/index.html | 4 +- content/documentation/latest/upgrades/index.html | 4 +- content/documentation/upgrades/index.html| 4 +- content/downloads/index.html | 14 +- content/index.html | 4 +- content/sitemap.xml | 4 + 10 files changed, 346 insertions(+), 14 deletions(-) diff --git a/content/blog/feed.xml b/content/blog/feed.xml index 07e5b4b..b852df7 100644 --- a/content/blog/feed.xml +++ b/content/blog/feed.xml @@ -4,7 +4,72 @@ http://mesos.apache.org/blog http://mesos.apache.org/blog"; /> http://mesos.apache.org/blog/feed.xml"; rel="self"/> - 2019-01-24T00:00:00+00:00 + 2019-01-28T00:00:00+00:00 + +http://mesos.apache.org/blog/mesos-1-7-1-released/ + + + Apache Mesos 1.7.1 Released + +2019-01-28T00:00:00+00:00 + + Chun-Hung Hsiao & Gastón Kleiman + + +Apache Mesos 1.7.1 is now available for download;. As we continue to focus on performance, the community can get access to the latest performance improvements in this release. The experimental support for Container Storage Interface (CSI) has been improved in this release as well. Last but not least, this release include [...] + +
Specifically, the following critical bugs are resolved in this release:
+ ++
+ + +- MESOS-9131; - Health checks launching nested containers while a container is being destroyed lead to unkillable tasks.
+- MESOS-9228; - SLRP does not clean up plugin containers after it is removed.
+- MESOS-9279; - Docker Containerizer ‘usage’ call might be expensive if mount table is big.
+- MESOS-9281; - SLRP gets a stale checkpoint after system crash.
+- MESOS-9283; - Docker containerizer actor can get backlogged with large number of containers.
+- MESOS-9308; - URI disk profile adaptor could deadlock.
+- MESOS-9317; - Some master endpoints do not handle failed authorization properly.
+- MESOS-9334; - Container stuck at ISOLATING state due to libevent poll never returns.
+- MESOS-9419; - Executor to framework message crashes master if framework has not re-registered.
+- MESOS-9474; - Master does not respect authorization result for
+CREATE_DISK
andDESTROY_DISK
.- MESOS-9480; - Master may skip processing authorization results for
+LAUNCH_GROUP
.- MESOS-9501; - Mesos executor fails to terminate and gets stuck after agent host reboot.
+- MESOS-9502; - IOswitchboard cleanup could get stuck due to FD leak from a race.
+- MESOS-9508; - Official 1.7.0 tarball can’t be built on Ubuntu 16.04 LTS.
+And this release includes the following critical improvements:
+ ++
- MESOS-6765; - “Make the Resources wrapper ”“copy-on-write”“ to improve performance.”
+- MESOS-9239; - Improve sorting performance in the DRF sorter.
svn commit: r32180 - /release/mesos/1.7.0/
Author: chhsiao Date: Tue Jan 29 00:02:43 2019 New Revision: 32180 Log: Removed mesos-1.7.0. Removed: release/mesos/1.7.0/
[mesos] branch master updated (3b9bf30 -> f130544)
This is an automated email from the ASF dual-hosted git repository. chhsiao pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git. from 3b9bf30 Minor typo fix in downloads page. new 3a1225d Updated the website and added the blog post for the 1.7.1 release. new f130544 Updated `upgrades.md` to document the experimental CSI support properly. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: docs/building.md | 4 +- docs/upgrades.md | 4 +- site/data/releases.yml | 10 +++- .../source/blog/2019-01-28-mesos-1-7-1-released.md | 56 ++ 4 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 site/source/blog/2019-01-28-mesos-1-7-1-released.md
[mesos] 02/02: Updated `upgrades.md` to document the experimental CSI support properly.
This is an automated email from the ASF dual-hosted git repository. chhsiao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git commit f130544bdb8a9849096ee2cb35ebcbc7d8a326d8 Author: Chun-Hung Hsiao AuthorDate: Mon Jan 28 15:55:09 2019 -0800 Updated `upgrades.md` to document the experimental CSI support properly. --- docs/upgrades.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/upgrades.md b/docs/upgrades.md index 96eb75c..ece8462 100644 --- a/docs/upgrades.md +++ b/docs/upgrades.md @@ -85,7 +85,6 @@ We categorize the changes as follows: A Automatically load local enabled cgroups subsystems A Container-specific cgroups mounts A Volume mode support - C `CREATE_DISK` and `DESTROY_DISK` operations and ACLs A Resource Provider ACLs @@ -100,6 +99,7 @@ We categorize the changes as follows: + C `CREATE_DISK` and `DESTROY_DISK` operations and ACLs @@ -547,7 +547,7 @@ We categorize the changes as follows: -* CSI v0.2 is now supported as experimental. Due to the incompatibility between CSI v0.1 and v0.2, the experimental support for CSI v0.1 is deprecated, and the operator must remove all storage local resource providers within an agent before upgrading the agent. NOTE: This is a **breaking change** for storage local resource providers. +* CSI v0.2 is now supported as experimental. Due to the incompatibility between CSI v0.1 and v0.2, the experimental support for CSI v0.1 is removed, and the operator must remove all storage local resource providers within an agent before upgrading the agent. NOTE: This is a **breaking change** for storage local resource providers.
[mesos] 01/02: Updated the website and added the blog post for the 1.7.1 release.
This is an automated email from the ASF dual-hosted git repository. chhsiao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git commit 3a1225d2c7b6db696f4da38b2a1bdff7cf371f5e Author: Chun-Hung Hsiao AuthorDate: Mon Jan 28 15:45:48 2019 -0800 Updated the website and added the blog post for the 1.7.1 release. --- docs/building.md | 4 +- site/data/releases.yml | 10 +++- .../source/blog/2019-01-28-mesos-1-7-1-released.md | 56 ++ 3 files changed, 66 insertions(+), 4 deletions(-) diff --git a/docs/building.md b/docs/building.md index 421f03e..dab0fa1 100644 --- a/docs/building.md +++ b/docs/building.md @@ -11,8 +11,8 @@ There are different ways you can get Mesos: 1\. Download the latest stable release from [Apache](http://mesos.apache.org/downloads/) (***Recommended***) -$ wget http://www.apache.org/dist/mesos/1.7.0/mesos-1.7.0.tar.gz -$ tar -zxf mesos-1.7.0.tar.gz +$ wget http://www.apache.org/dist/mesos/1.7.1/mesos-1.7.1.tar.gz +$ tar -zxf mesos-1.7.1.tar.gz 2\. Clone the Mesos git [repository](https://gitbox.apache.org/repos/asf/mesos.git) (***Advanced Users Only***) diff --git a/site/data/releases.yml b/site/data/releases.yml index 4fa155d..b8b6a2f 100644 --- a/site/data/releases.yml +++ b/site/data/releases.yml @@ -3,8 +3,8 @@ # `versions` below. # * When publishing a new blog post, we need to append an item to `news` below. latest_stable: - version: 1.7.0 - jira_version: 12343250 + version: 1.7.1 + jira_version: 12343861 news: ## * If the news is used to announce a release version, the item structure is ## - title: (required) @@ -15,6 +15,10 @@ news: ## - title: (required) ## date: (required) ## blog: (required) + - title: Mesos 1.7.1 is released! +date: January 28, 2019 +target_version: 1.7.1 +blog: mesos-1-7-1-released - title: Mesos 1.5.2 is released! date: January 24, 2019 blog: mesos-1-5-2-released @@ -184,6 +188,8 @@ versions: ## after we create the ReleaseNote for 0.28.1, we get the link: ## https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12335359. ## At here, 12335359 is the jira_version of 0.28.1. + - version: 1.7.1 +jira_version: 12343861 - version: 1.5.2 jira_version: 12342696 - version: 1.7.0 diff --git a/site/source/blog/2019-01-28-mesos-1-7-1-released.md b/site/source/blog/2019-01-28-mesos-1-7-1-released.md new file mode 100644 index 000..7864df6 --- /dev/null +++ b/site/source/blog/2019-01-28-mesos-1-7-1-released.md @@ -0,0 +1,56 @@ +--- +layout: post +title: "Apache Mesos 1.7.1 Released" +published: true +post_author: + display_name: Chun-Hung Hsiao & Gastón Kleiman + gravatar: 9447267537939b034faa02cbe08fef20 + twitter: chhsia0 +tags: Release +--- + +Apache Mesos 1.7.1 is now available for [download](http://mesos.apache.org/downloads). As we continue to focus on performance, the community can get access to the latest performance improvements in this release. The [experimental support for Container Storage Interface (CSI)](http://mesos.apache.org/documentation/latest/csi/) has been improved in this release as well. Last but not least, this release includes 38 bug fixes to 1.7.0. If you are considering using Mesos 1.7, it is recommende [...] + +Specifically, the following critical bugs are resolved in this release: + +* [MESOS-9131](https://issues.apache.org/jira/browse/MESOS-9131) - Health checks launching nested containers while a container is being destroyed lead to unkillable tasks. +* [MESOS-9228](https://issues.apache.org/jira/browse/MESOS-9228) - SLRP does not clean up plugin containers after it is removed. +* [MESOS-9279](https://issues.apache.org/jira/browse/MESOS-9279) - Docker Containerizer 'usage' call might be expensive if mount table is big. +* [MESOS-9281](https://issues.apache.org/jira/browse/MESOS-9281) - SLRP gets a stale checkpoint after system crash. +* [MESOS-9283](https://issues.apache.org/jira/browse/MESOS-9283) - Docker containerizer actor can get backlogged with large number of containers. +* [MESOS-9308](https://issues.apache.org/jira/browse/MESOS-9308) - URI disk profile adaptor could deadlock. +* [MESOS-9317](https://issues.apache.org/jira/browse/MESOS-9317) - Some master endpoints do not handle failed authorization properly. +* [MESOS-9334](https://issues.apache.org/jira/browse/MESOS-9334) - Container stuck at ISOLATING state due to libevent poll never returns. +* [MESOS-9419](https://issues.apache.org/jira/browse/MESOS-9419) - Executor to framework message crashes master if framework has not re-registered. +* [MESOS-9474](https://issues.apache.org/jira/browse/MESOS-9474) - Master does not respect authorization result for `CREATE_DISK` and `DESTROY_DISK`. +* [MESOS-9480](https://issues.apache.org/jira/browse/MESOS-9480) -
[mesos] branch master updated: Minor typo fix in downloads page.
This is an automated email from the ASF dual-hosted git repository. vinodkone pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new 3b9bf30 Minor typo fix in downloads page. 3b9bf30 is described below commit 3b9bf3035ebd2b6f378394c60f0ba18dbc9c8b11 Author: Vinod Kone AuthorDate: Mon Jan 28 13:47:24 2019 -0800 Minor typo fix in downloads page. --- site/source/downloads.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/source/downloads.html.erb b/site/source/downloads.html.erb index 85de7e0..259ca43 100644 --- a/site/source/downloads.html.erb +++ b/site/source/downloads.html.erb @@ -36,7 +36,7 @@ breadcrumb: Downloads The codebase can also be downloaded from the Apache git repository at: https://gitbox.apache.org/repos/asf/mesos.git. This repository is also mirrored on -https://github.com/apache/mesos";>on Github. +https://github.com/apache/mesos";>GitHub. Once you have downloaded Mesos, follow the
[mesos] branch master updated: Updated text in website downloads page.
This is an automated email from the ASF dual-hosted git repository. vinodkone pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new 54a35ad Updated text in website downloads page. 54a35ad is described below commit 54a35ad61a53b88ac5bffbdb49f3d09066c81a5f Author: Vinod Kone AuthorDate: Mon Jan 28 13:44:27 2019 -0800 Updated text in website downloads page. --- site/source/downloads.html.erb | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/site/source/downloads.html.erb b/site/source/downloads.html.erb index 514546a..85de7e0 100644 --- a/site/source/downloads.html.erb +++ b/site/source/downloads.html.erb @@ -35,10 +35,8 @@ breadcrumb: Downloads Getting the code via source control The codebase can also be downloaded from the Apache git repository at: https://gitbox.apache.org/repos/asf/mesos.git. -A read-only git repository is also mirrored on -https://github.com/apache/mesos/tree/master";>on Github. -(Note: we use http://reviews.apache.org";>Review Board for -patches, not pull requests on Github) +This repository is also mirrored on +https://github.com/apache/mesos";>on Github. Once you have downloaded Mesos, follow the
[mesos] branch master updated: Fixed target versions on release.yml.
This is an automated email from the ASF dual-hosted git repository. gilbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new 7894e87 Fixed target versions on release.yml. 7894e87 is described below commit 7894e87de5f88ec81800194e6b584214ffcb157b Author: Gilbert Song AuthorDate: Mon Jan 28 13:33:31 2019 -0800 Fixed target versions on release.yml. --- site/data/releases.yml | 5 + 1 file changed, 5 insertions(+) diff --git a/site/data/releases.yml b/site/data/releases.yml index 1c05de1..4fa155d 100644 --- a/site/data/releases.yml +++ b/site/data/releases.yml @@ -22,12 +22,15 @@ news: - title: Mesos 1.7.0 is released! date: September 24, 2018 blog: mesos-1-7-0-released +target_version: 1.7.0 - title: Mesos 1.4.2 is released! date: August 20, 2018 blog: mesos-1-4-2-released +target_version: 1.4.2 - title: Mesos 1.6.1 is released! date: July 25, 2018 blog: mesos-1-6-1-released +target_version: 1.6.1 - title: Mesos 1.5.1 is released! date: May 31, 2018 blog: mesos-1-5-1-released @@ -59,9 +62,11 @@ news: - title: Mesos 1.3.1 is released! date: August 15, 2017 blog: mesos-1-3-1-released +target_version: 1.3.1 - title: Mesos 1.2.2 is released! date: August 11, 2017 blog: mesos-1-2-2-released +target_version: 1.2.2 - title: Mesos 1.2.1 is released! date: June 12, 2017 blog: mesos-1-2-1-released
[mesos] branch master updated: Fixed the release.yml 1.5.2 release target version typo.
This is an automated email from the ASF dual-hosted git repository. gilbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new 07b5df3 Fixed the release.yml 1.5.2 release target version typo. 07b5df3 is described below commit 07b5df3410da08fff1634d163112ca0168d39dc9 Author: Gilbert Song AuthorDate: Mon Jan 28 13:29:42 2019 -0800 Fixed the release.yml 1.5.2 release target version typo. --- site/data/releases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/data/releases.yml b/site/data/releases.yml index 270f915..1c05de1 100644 --- a/site/data/releases.yml +++ b/site/data/releases.yml @@ -18,7 +18,7 @@ news: - title: Mesos 1.5.2 is released! date: January 24, 2019 blog: mesos-1-5-2-released -target_version: 1.5.1 +target_version: 1.5.2 - title: Mesos 1.7.0 is released! date: September 24, 2018 blog: mesos-1-7-0-released
[mesos] branch 1.7.x updated: Updated Mesos version to 1.7.2.
This is an automated email from the ASF dual-hosted git repository. chhsiao pushed a commit to branch 1.7.x in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/1.7.x by this push: new 30549eb Updated Mesos version to 1.7.2. 30549eb is described below commit 30549eb0786b9bbc2e3d6ccd931cc48aa0f7edd7 Author: Chun-Hung Hsiao AuthorDate: Mon Jan 28 12:24:05 2019 -0800 Updated Mesos version to 1.7.2. --- CMakeLists.txt | 2 +- configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 84e1cc5..4668394 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,7 @@ endif () project(Mesos) set(MESOS_MAJOR_VERSION 1) set(MESOS_MINOR_VERSION 7) -set(MESOS_PATCH_VERSION 1) +set(MESOS_PATCH_VERSION 2) set(PACKAGE_VERSION ${MESOS_MAJOR_VERSION}.${MESOS_MINOR_VERSION}.${MESOS_PATCH_VERSION}) diff --git a/configure.ac b/configure.ac index a8c962f..1e37677 100644 --- a/configure.ac +++ b/configure.ac @@ -18,7 +18,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.61]) -AC_INIT([mesos], [1.7.1]) +AC_INIT([mesos], [1.7.2]) # Have autoconf setup some variables related to the system. AC_CANONICAL_HOST
svn commit: r32178 - in /release/mesos/1.7.1: ./ mesos-1.7.1.tar.gz mesos-1.7.1.tar.gz.asc mesos-1.7.1.tar.gz.sha512
Author: chhsiao Date: Mon Jan 28 20:17:03 2019 New Revision: 32178 Log: Adding mesos-1.7.1. Added: release/mesos/1.7.1/ release/mesos/1.7.1/mesos-1.7.1.tar.gz (with props) release/mesos/1.7.1/mesos-1.7.1.tar.gz.asc release/mesos/1.7.1/mesos-1.7.1.tar.gz.sha512 Added: release/mesos/1.7.1/mesos-1.7.1.tar.gz == Binary file - no diff available. Propchange: release/mesos/1.7.1/mesos-1.7.1.tar.gz -- svn:mime-type = application/octet-stream Added: release/mesos/1.7.1/mesos-1.7.1.tar.gz.asc == --- release/mesos/1.7.1/mesos-1.7.1.tar.gz.asc (added) +++ release/mesos/1.7.1/mesos-1.7.1.tar.gz.asc Mon Jan 28 20:17:03 2019 @@ -0,0 +1,16 @@ +-BEGIN PGP SIGNATURE- + +iQIzBAABCAAdFiEEhlcXKwbNARXGvnEd9u0n5i8QoOUFAlw+locACgkQ9u0n5i8Q +oOXdrQ/+L4tDvTGnQQDi6R3PkmC3vvrZSY2XYv9MD2D2SpjMFDsKjlzgv3iZzP+w +QIysegY6PRL2Xb/ERBqzJOgAchfYGCrsDX/wOMVYqw4p/GI+7dxa+WkCZz5HSmAT ++qnjTaWsF/y31MiP9nyUSjXPVcC/tqbjBCntP/kJj0/PSWrKnItQNh8HXJ5An4MT +vB3De1oxpeABjxNVjbpnKR1MT9kcX/VV/pTSI18fAcb66NC9AgRkU89D5xZU5nur +TTy2mWGyfmBbBdn0xFiSYJBSm0kdyCXtijsimiuSPK6DByM/3hoBNbaAxHFPQBU8 +SQtYx8R268THXOwXx/ymkleZ3H9MIgtAkb+S9JY0GD8YzazccQXFdlJHbj7XXstK +SCw6ROPMV6cdW93vnAkX+7VVrnsxoOzMJhp2z5Lf5E3ycaddJuBuoFd4iGojCTY2 +iuWqezSSk0sYfPwuiUn8h04brzaMyl5motfeSAqOzwuVR0VhI0N5f6X8koHVWUDK +lb0rEpJwiQe06Iv8BW/IEA44sIzrVEhlR90Ifqohp1RyupmDpENRHvK+6ss5CGji +LpYQM/ZS9Ur+AQGNFeShctCX0eRGADl2gndy1rP/aYt35ro6brwLqoIAiWTWQGEP +dERs1ZQKVvyrSkEMKNFIGXwOvR8CbQE4dLzxjbKO88Ete5rugjo= +=jmR7 +-END PGP SIGNATURE- Added: release/mesos/1.7.1/mesos-1.7.1.tar.gz.sha512 == --- release/mesos/1.7.1/mesos-1.7.1.tar.gz.sha512 (added) +++ release/mesos/1.7.1/mesos-1.7.1.tar.gz.sha512 Mon Jan 28 20:17:03 2019 @@ -0,0 +1 @@ +fba30f2af5de539f21ec5c384c3313964ae096e06a683af36faaae14885f8eda5fa95b077166710ce6084283149c26bf1e6c05833eb90395efa7ea853feb640c mesos-1.7.1.tar.gz
[mesos] annotated tag 1.7.1 created (now aee7503)
This is an automated email from the ASF dual-hosted git repository. chhsiao pushed a change to annotated tag 1.7.1 in repository https://gitbox.apache.org/repos/asf/mesos.git. at aee7503 (tag) tagging c92fb86247eab85d395c2a57c87818b432291387 (tag) length 164 bytes by Chun-Hung Hsiao on Mon Jan 28 12:17:04 2019 -0800 - Log - Tagging Mesos 1.7.1 --- No new revisions were added by this update.
[mesos-site] branch asf-site updated: Updated the website built from mesos SHA: d838f29.
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/mesos-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 8dddcd1 Updated the website built from mesos SHA: d838f29. 8dddcd1 is described below commit 8dddcd1f3fa722a03be8268ccb2a978e9b30af6d Author: jenkins AuthorDate: Mon Jan 28 15:35:35 2019 + Updated the website built from mesos SHA: d838f29. --- ...tout_2include_2stout_2protobuf_8hpp_source.html | 49 +++--- .../c++/include_2mesos_2log_2log_8hpp_source.html | 2 +- ...nclude_2mesos_2state_2protobuf_8hpp_source.html | 2 +- .../api/latest/c++/posix_2mktemp_8hpp_source.html | 7 +++- .../api/latest/c++/posix_2write_8hpp_source.html | 2 +- .../api/latest/c++/src_2log_2log_8hpp_source.html | 2 +- .../latest/c++/src_2tests_2mesos_8hpp_source.html | 2 +- .../latest/c++/windows_2mkdtemp_8hpp_source.html | 2 +- content/api/latest/c++/write_8hpp_source.html | 3 +- 9 files changed, 39 insertions(+), 32 deletions(-) diff --git a/content/api/latest/c++/3rdparty_2stout_2include_2stout_2protobuf_8hpp_source.html b/content/api/latest/c++/3rdparty_2stout_2include_2stout_2protobuf_8hpp_source.html index 3e1744f..1a61df3 100644 --- a/content/api/latest/c++/3rdparty_2stout_2include_2stout_2protobuf_8hpp_source.html +++ b/content/api/latest/c++/3rdparty_2stout_2include_2stout_2protobuf_8hpp_source.html @@ -52,9 +52,9 @@ protobuf.hpp -Go to the documentation of this file.1 // Licensed under the Apache License, Version 2.0 (the "License");2 // you may not use this file except in compliance with the License.Go to the documentation of this file.1 // Licensed under the Apache License, Version 2.0 (the "License");2 // you may not use this file except in compliance with the License.base64::decodeTry< std::string > decode(const std::string &s)Decode a string that is Base64-encoded with the standard Base64 alphabet. Definition: base64.hpp:183 -protobuf::internal::Parser::operator()Try< Nothing > operator()(const JSON::Object &object) const Definition: protobuf.hpp:423 +protobuf::internal::Parser::operator()Try< Nothing > operator()(const JSON::Object &object) const Definition: protobuf.hpp:429 pathDefinition: path.hpp:26 Result::isNonebool isNone() const Definition: result.hpp:112 NothingDefinition: nothing.hpp:16 @@ -65,27 +65,28 @@ Try::getT & get()&Definition: try.hpp:73 os::writessize_t write(const int_fd &fd, const void *data, size_t size)Definition: write.hpp:72 routing::filter::internal::decodeResult< Classifier > decode(const Netlink< struct rtnl_cls > &cls) -protobuf::internal::Parser::operator()Try< Nothing > operator()(const JSON::Number &number) const Definition: protobuf.hpp:573 -protobuf::internal::ParseDefinition: protobuf.hpp:710 +protobuf::internal::Parser::operator()Try< Nothing > operator()(const JSON::Number &number) const Definition: protobuf.hpp:579 +protobuf::internal::ParseDefinition: protobuf.hpp:716 JSON::NullDefinition: json.hpp:231 TryDefinition: check.hpp:33 base64.hpp Result::errorstatic Result< T > error(const std::string &message)Definition: result.hpp:53 -protobuf::internal::Parse< google::protobuf::RepeatedPtrField< T > >::operator()Try< google::protobuf::RepeatedPtrField< T & [...] +protobuf::internal::Parse< google::protobuf::RepeatedPtrField< T > >::operator()Try< google::protobuf::RepeatedPtrField< T & [...] S_IWUSRconst mode_t S_IWUSRDefinition: windows.hpp:306 -protobuf::internal::Read< google::protobuf::RepeatedPtrField< T > >::operator()Result< google::protobuf::RepeatedPtrField< T & [...] +protobuf::internal::Read< google::protobuf::RepeatedPtrField< T > >::operator()Result< google::protobuf::RepeatedPtrField< T & [...] JSON::BooleanDefinition: json.hpp:207 -protobuf::internal::Parse::operator()Try< T > operator()(const JSON::Value &value)Definition: protobuf.hpp:712 +protobuf::internal::Parse::operator()Try< T > operator()(const JSON::Value &value)Definition: protobuf.hpp:718 os::openTry< int_fd > open(const std::string &path, int oflag, mode_t mode=0)Definition: open.hpp:35 -protobuf::internal::ParserDefinition: protobuf.hpp:415 +protobuf::internal::ParserDefinition: protobuf.hpp:421 none.hpp base64::encodestd::string encode(const std::string &s)Encode a string to Base64 with the standard Base64 alphabet. Definition: base64.hpp:170 -protobuf::internal::Parser::operator()Try< Nothing > operator()(const JSON::String &string) const Definition: protobuf.hpp:484 +protobuf::internal::Parser::operator()Try< Nothing > operator()(const JSON::String &string) const Definition: protobuf.hpp:490 json.hpp read.hpp +protobuf::writeTry< Nothing > write(const std::string &path, const T &t, bool sync=false)Definition: protobuf.hpp:139 JSON::ArrayDefinition: json.hpp:198 S_IRUSRconst mode_t S_IRUSRDefinition: wi
[mesos] branch master updated: Correctly propagated `close` failures in some instances.
This is an automated email from the ASF dual-hosted git repository. bbannier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git The following commit(s) were added to refs/heads/master by this push: new d838f29 Correctly propagated `close` failures in some instances. d838f29 is described below commit d838f2958e18c1a75594ca4f10df132670fcd11e Author: Benjamin Bannier AuthorDate: Thu Jan 24 10:44:49 2019 +0100 Correctly propagated `close` failures in some instances. When e.g., writing to disk, errors from write might only manifest at ::close time. We update some instances to correctly propagate these errors instead of dropping them silently. We only propagate the ::close error if the write operation succeeded, otherwise we just propagate the error from the write operation. Review: https://reviews.apache.org/r/69082/ --- 3rdparty/stout/include/stout/os/posix/mktemp.hpp | 26 3rdparty/stout/include/stout/os/write.hpp| 19 +++- 3rdparty/stout/include/stout/protobuf.hpp| 38 ++-- 3 files changed, 47 insertions(+), 36 deletions(-) diff --git a/3rdparty/stout/include/stout/os/posix/mktemp.hpp b/3rdparty/stout/include/stout/os/posix/mktemp.hpp index 63b3d1a..8dab259 100644 --- a/3rdparty/stout/include/stout/os/posix/mktemp.hpp +++ b/3rdparty/stout/include/stout/os/posix/mktemp.hpp @@ -36,23 +36,25 @@ namespace os { inline Try mktemp( const std::string& path = path::join(os::temp(), "XX")) { - char* temp = new char[path.size() + 1]; - ::memcpy(temp, path.c_str(), path.size() + 1); + char* _path = new char[path.size() + 1]; + ::memcpy(_path, path.c_str(), path.size() + 1); + + int_fd fd = ::mkstemp(_path); + Try temp = std::string(_path); + delete[] _path; - int_fd fd = ::mkstemp(temp); if (fd < 0) { -delete[] temp; -return ErrnoError(); +temp = ErrnoError(); } - // We ignore the return value of close(). This is because users - // calling this function are interested in the return value of - // mkstemp(). Also an unsuccessful close() doesn't affect the file. - os::close(fd); + Try close = os::close(fd); + + // We propagate `close` failures if creation of the temp file was successful. + if (temp.isSome() && close.isError()) { +return Error("Failed to close '" + stringify(fd) + "':" + close.error()); + } - std::string result(temp); - delete[] temp; - return result; + return temp; } } // namespace os { diff --git a/3rdparty/stout/include/stout/os/write.hpp b/3rdparty/stout/include/stout/os/write.hpp index f7538f9..89ca7b2 100644 --- a/3rdparty/stout/include/stout/os/write.hpp +++ b/3rdparty/stout/include/stout/os/write.hpp @@ -126,21 +126,24 @@ inline Try write( return Error(fd.error()); } - Try result = write(fd.get(), message); + Try write = os::write(fd.get(), message); - if (sync && result.isSome()) { + if (sync && write.isSome()) { // We call `fsync()` before closing the file instead of opening it with the // `O_SYNC` flag for better performance. See: // http://lkml.iu.edu/hypermail/linux/kernel/0105.3/0353.html -result = os::fsync(fd.get()); +write = os::fsync(fd.get()); } - // We ignore the return value of `close()` because users calling this function - // are interested in the return value of `write()`, or `fsync()` if `sync` is - // set to true. Also an unsuccessful `close()` doesn't affect the write. - os::close(fd.get()); + Try close = os::close(fd.get()); - return result; + // We propagate `close` failures if `write` on the file was successful. + if (write.isSome() && close.isError()) { +write = + Error("Failed to close '" + stringify(fd.get()) + "':" + close.error()); + } + + return write; } diff --git a/3rdparty/stout/include/stout/protobuf.hpp b/3rdparty/stout/include/stout/protobuf.hpp index eb4adef..4b3db7e 100644 --- a/3rdparty/stout/include/stout/protobuf.hpp +++ b/3rdparty/stout/include/stout/protobuf.hpp @@ -147,21 +147,24 @@ Try write(const std::string& path, const T& t, bool sync = false) return Error("Failed to open file '" + path + "': " + fd.error()); } - Try result = write(fd.get(), t); + Try write = ::protobuf::write(fd.get(), t); - if (sync && result.isSome()) { + if (sync && write.isSome()) { // We call `fsync()` before closing the file instead of opening it with the // `O_SYNC` flag for better performance. See: // http://lkml.iu.edu/hypermail/linux/kernel/0105.3/0353.html -result = os::fsync(fd.get()); +write = os::fsync(fd.get()); } - // We ignore the return value of `close()` because users calling this function - // are interested in the return value of `write()`, or `fsync()` if `sync` is - // set to true. Also an unsuccessful `close()` doesn't affect the write. - os::close(fd.get()); + Try close = os::close(fd.get()); - return result; + // We prop