diff --git a/CHANGELOG.md b/CHANGELOG.md index 443c8f85c81b3646f64f449743a789a5e70f1767..66be593383ce44de3226ad8c62edcedc65a131aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,12 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### New +### Changed +### Removed +### Fixed +## [0.9.3] - 2024-07 +### New - Added a write size cache to the file system client to reduce potential metadata network bottlenecks during small I/O operations ([!193](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/193)). - The cache is experimental and thus disabled by default. Added the following environment variables. @@ -62,9 +67,7 @@ replicas ([!166](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141) - Modified write and reads to use a bitset instead of the traditional hash per chunk in the server. - Added reattemp support in get_fs_config to other servers, when the initial server fails. - ### Changed - - Updated GekkoFS dependencies migrating to margo-shim-hg ([!165](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/165)). - Improves RPC stability @@ -74,10 +77,7 @@ replicas ([!166](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141) use of syscall for following symlinks optional ([!183](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/183)). - -### Removed ### Fixed - - An issue that updated the last modified time of a file during `stat` operations was fixed([!176](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/176)). - Fixed a dependency conflict within the pytest dependency marshmallow ([!197](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/197)). diff --git a/README.md b/README.md index db1c77893b7398d3cc33ed0323a133001d435048..79316322b8b3f31b55cbf25cdfc80531db8ad4a1 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ to I/O, which reduces interferences and improves performance. # Dependencies - \>gcc-12 (including g++) for C++17 support -- General build tools: Git, Curl, CMake >3.6 (>3.11 for GekkoFS testing), Autoconf, Automake +- General build tools: Git, Curl, CMake >3.13, Autoconf, Automake - Miscellaneous: Libtool, Libconfig ### Debian/Ubuntu diff --git a/docs/sphinx/conf.py.in b/docs/sphinx/conf.py.in index 16d706bd76c5e6a22325870ceb15cec2341f9a55..d166d04898d3346e13eead29ad3001d8c06d93bc 100644 --- a/docs/sphinx/conf.py.in +++ b/docs/sphinx/conf.py.in @@ -22,10 +22,10 @@ copyright = ['2018-2024, Barcelona Supercomputing Center, Spain', '2015-2024, Jo author = 'GekkoFS committers' # The short X.Y version -version = '0.9.2' +version = '0.9.3' # The full version, including alpha/beta/rc tags -release = '0.9.2-snapshot+96-g9cafaaa3-dirty' +release = '0.9.3-snapshot+96-g9cafaaa3-dirty' # Tell sphinx what the primary language being documented is. primary_domain = 'cpp' diff --git a/docs/sphinx/users/scripts.rst b/docs/sphinx/users/scripts.rst index 87c4038fb72abea8cbf5ed693aae1662649449cb..9506f44e85601364efc0acb619d668d29b990ab8 100644 --- a/docs/sphinx/users/scripts.rst +++ b/docs/sphinx/users/scripts.rst @@ -24,14 +24,14 @@ on the specifics of the particular GekkoFS build, both scripts rely on :code:`configuration profiles` which define a set of related software packages which should be downloaded and installed for a specific GekkoFS version and/or configuration. To illustrate this, let's take a look at the -contents of the :code:`default` profile for GekkoFS version :code:`0.9.2`: +contents of the :code:`default` profile for GekkoFS version :code:`0.9.3`: .. code-block:: console - $ dl_dep.sh -l default:0.9.2 - Configuration profiles for '0.9.2': + $ dl_dep.sh -l default:0.9.3 + Configuration profiles for '0.9.3': - * default:0.9.2 (/home/user/gekkofs/source/scripts/profiles/0.9.2/default.specs) + * default:0.9.3 (/home/user/gekkofs/source/scripts/profiles/0.9.3/default.specs) All dependencies @@ -59,10 +59,10 @@ supercomputer) followed by an optional :code:`VERSION_TAG`. .. code-block:: console - $ ./dl_dep.sh -p default:0.9.2 /home/user/gfks/deps + $ ./dl_dep.sh -p default:0.9.3 /home/user/gfks/deps Destination path is set to "/tmp/foo" Profile name: default - Profile version: 0.9.2 + Profile version: 0.9.3 ------------------------------------ Downloaded 'https://github.com/lz4/lz4/archive/v1.9.3.tar.gz' to 'lz4' Downloaded 'https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz' to 'json-c' @@ -90,10 +90,10 @@ option. In this case, dependency names follow the .. code-block:: console - $ ./dl_dep.sh -d mercury@default:0.9.2 /home/user/gfks/deps + $ ./dl_dep.sh -d mercury@default:0.9.3 /home/user/gfks/deps Destination path is set to "/tmp/foo" Profile name: default - Profile version: 0.9.2 + Profile version: 0.9.3 ------------------------------------ Cloned 'https://github.com/mercury-hpc/mercury' to 'mercury' with commit '[v2.1.0]' and flags '--recurse-submodules' Done @@ -115,12 +115,12 @@ certain directory (e.g. :code:`/home/user/gkfs/deps`), the .. code-block:: console - $ ./compile_dep.sh -p default:0.9.2 /home/user/gkfs/deps /home/user/gkfs/install -j8 + $ ./compile_dep.sh -p default:0.9.3 /home/user/gkfs/deps /home/user/gkfs/install -j8 CORES = 8 (default) Sources download path = /tmp/foo Installation path = /tmp/bar Profile name: default - Profile version: 0.9.2 + Profile version: 0.9.3 ------------------------------------ ######## Installing: lz4 ############################### ... diff --git a/scripts/compile_dep.sh b/scripts/compile_dep.sh index d455bfa94e3c15f83f22190bddccb57723e68c69..66a454591c5dccde149f3c6ad53dde58a8ee702a 100755 --- a/scripts/compile_dep.sh +++ b/scripts/compile_dep.sh @@ -80,7 +80,7 @@ optional arguments: deploy specific library versions and/or configurations, using a recognizable name. Optionally, PROFILE_NAME may include a specific version for the profile, e.g. 'mogon2:latest' or - 'ngio:0.9.2', which will download the dependencies defined for + 'ngio:0.9.3', which will download the dependencies defined for that specific version. If unspecified, the 'default:latest' profile will be used, which should include all the possible dependencies. -d, --dependency DEPENDENCY_NAME[[@PROFILE_NAME][:PROFILE_VERSION]] diff --git a/scripts/dl_dep.sh b/scripts/dl_dep.sh index 0509510e1e3bfe039eb513e7bc68cda2b90b1c53..051c10eecce8fa1d1c2c6560789fff8d61820746 100755 --- a/scripts/dl_dep.sh +++ b/scripts/dl_dep.sh @@ -336,7 +336,7 @@ optional arguments: deploy specific library versions and/or configurations, using a recognizable name. Optionally, PROFILE_NAME may include a specific version for the profile, e.g. 'mogon2:latest' or - 'ngio:0.9.2', which will download the dependencies defined for + 'ngio:0.9.3', which will download the dependencies defined for that specific version. If unspecified, the 'default:latest' profile will be used, which should include all the possible dependencies. -d, --dependency DEPENDENCY_NAME[[@PROFILE_NAME][:PROFILE_VERSION]] diff --git a/scripts/gkfs_dep.sh b/scripts/gkfs_dep.sh index a0990555474226a84c68f869feabc3e355559eaa..2fc0369e00edfa1c8a7967ce1b4f24f48687bf20 100755 --- a/scripts/gkfs_dep.sh +++ b/scripts/gkfs_dep.sh @@ -62,7 +62,7 @@ optional arguments: deploy specific library versions and/or configurations, using a recognizable name. Optionally, PROFILE_NAME may include a specific version for the profile, e.g. 'mogon2:latest' or - 'ngio:0.9.2', which will download the dependencies defined for + 'ngio:0.9.3', which will download the dependencies defined for that specific version. If unspecified, the 'default:latest' profile will be used, which should include all the possible dependencies. -d, --dependency DEPENDENCY_NAME[[@PROFILE_NAME][:PROFILE_VERSION]]