-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QFS version 2.2.7 #262
Merged
Merged
QFS version 2.2.7 #262
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Add "encoding" and "errors" parameters to file open. * Implement python3 style file open mode parsing, including binary and text modes. * Implement unicode and byte array handling in read and write depending on open mode and encoding. * Remove qfs_extraneous arguments. Examples: port python sample code to python3. Top level make file: change to explicitly invoke python3.
* Use QFS client cd / pwd * Pass encoding and "errors" to open, create. * Use unicode objects instead of c string as parameters instead of c strings where possible / make sense in order to minimize encoding conversion. Examples: add more tests / examples to QFS python sample code.
* Fix error handling by checking return values. * Remove trailing new line in file stat date time. * Minor code cleanup. Examples: python sample: implement more python shim tests.
… to match python functions arguments.
* Allow to use python build module. * Package shared QFS libraries to make python extension self contained. * Set python extension run time liker library path to the packaged libraries. Cmake: Change Jerasure and and GF complete to link QFS client lib against static libraries in order to make setting run time liker path work. Build QFS python wheel instead of just running setup install.
… shared libraries on MacOS and Linux / BSD if / when chrpath is available.
…ld and add qfs wheel to the tarball.
…ng to build python QFS extension.
…ies to run time linker search path.
…re and gf complete shared libraries.
…installed. Test scripts: fix sytax error.
* Set c++ compiler optimization to O1 with release builds on Ubuntu 24.04 and Debian 12 for now to work around GCC optimization bugs. * Add Rocky Linux 9 distribution build.
* Add Debian 11, 12 and Rocky Linux 9 builds. * Do release build with Ubuntu 24.04.
* Ensure that go version is greater than 1.17 * Fold long lines.
* Use runuser instead of sudo if / when available in order to allow to set / override core file size limit (and possibly other limits) that is set to 0 by sudo. * Run make clean prior to change change files ownership and build start. * Do not install go on Debian 11, as it its version is lower than is the required.
* Change rename to return source file id, if requested, as soon as id becomes available in order to ensure that it is set in the case of an early return, in particular, when the source and the destination are the same.
* Use -O1 optimization level with Debian 11 in order to work around g++ optimization bugs.
* Explicitly remove build directory prior to attempting to change permissions and do the build as make might not be installed yet.
* Fix docker prefix check by performing version check only for CentOS. * Fix setting user and sudo logic.
* Fix typo in variable, method, and corresponding configuration parameter names. * Fix error handling in Replay::getLastLogNum() method. * Implement minor optimization in Replay::getLastLogNum() method by eliminating string re-allocation.
* Fix style warning.
* Add Xcode and clang versions diagnostic display on mac os builds.
* Add --nobest yum option on Rocky Linux to in order get python development installed.
* Fix Mac ARM neon comple with clang 16 or later by checking whether or not -mfpu=neon flag works, then try to omit the flag if it does not work. The newer clang no longer supports this flag, as it considered redunant with arm64 target.
* Reconfigure with the latest autotools to pickup GF complete ARM Neon config complile flag changes.
* Update ARM Neon detection on Mac OS by assuming that Neon is always available on Apple silicon arm64 processors.
* Calculate chunk server port by adding 200 to the meta server port in order to make the logic consistent in all test scripts.
* Display openssl version at the start of MacOS build.
* Use macos-latest runner to build arm64 and macos-latest-large runner to build x86_64, as the github macos-latest runner now appears to correspond arm64 / M1 architecture.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
QFS version 2.2.7
New features
Support for python3. Native / platform independent python code is now
compatible with python2 and python3, including QFS meta server web UI and meta
server backup script. QFS python module / bindings now is only compatible with
python3, and python2 is no longer supported.
All required QFS shared libraries are now installed along with QFS python
module, making QFS module installation self contained. On macOS and linux
runtime relative linker paths are now used in order to make installed QFS shared
libraries relocatable. With this explicitly specifying QFS libraries runtime
linkers paths with python module is no longer required. Python QFS module wheel
is now built and included into QFS tarball.
Minor improvements
Benchmarks mstress build now uses maven instead of ant, and is now included
in QFS build and tarball by default.
QFS python module is now built, tested, and included into QFS tarball if
python 3.6 or higher is available.
ARM Neon support is now enabled for QFS Reed-Solomon and GF complete
libraries on Mac OS with Apple silicon.