ChangeLog¶
1.30.2 - 2025-02-27¶
Bug Fix:
[RNDNGHSM-1142] Ngenea tools unexpectedly terminate with SIGPIPE
1.30.1 - 2024-10-03¶
Bug Fixes:
[RNDNGHSM-1082] Root folder on an FS target results in an empty json entry in ngscan result
[RNDNGHSM-1084] Metadata syncing a snapshot file doesn't work when a live file is offline
1.30.0 - 2024-09-03¶
Improvements:
[RNDNGHSM-1034] Provide support for '--sync-metadata' on snapshot files
[RNDNGHSM-1038] Add ability to control remote recursion depth for ngscan
[RNDNGHSM-1039] Support paging for ngscan output
[RNDNGHSM-1057] Add the option '--ignore-metadata' to ngrecall
[RNDNGHSM-1062] Improve scan performance of ngscan
1.29.0 - 2024-07-05¶
Improvements:
[RNDNGHSM-1022] Improve handling a large number of lock files by making lock directory structure two-level
[RNDNGHSM-1023] Add the option '--no-flock' to disable using lock files
[RNDNGHSM-1028] Add option for recording VSIZE, RSS, num_threads, and num_open_files
[RNDNGHSM-1030] Support recording time spent on executing various types of operations for S3, Azure, BlackPearl, and FS
[RNDNGHSM-1032] Improve performance by not triggering metatdata pool prefetch
1.28.2 - 2024-05-09¶
Bug Fix:
[RNDNGHSM-1044] Check for the maximum number of concurrent locks is mistakenly performed on remote object deletion
1.28.1 - 2024-04-05¶
Bug Fixes:
[RNDNGHSM-1033] Remote location xattr not stamped on a live file if a snapshot file has a remote location xattr
[RNDNGHSM-1036] Segfault in ngscan on passing '--unique --json'
1.28.0 - 2024-03-01¶
New Feature:
[RNDNGHSM-1017] Byte based partial file recall
Improvement:
[RNDNGHSM-1008] AWS Partner Metadata Tagging
1.27.0 - 2023-12-20¶
New Feature:
[RNDNGHSM-1004] Create the ngunmanage tool
Improvements:
[RNDNGHSM-991] Provide option to not store sidecar files on POSIX file system targets
[RNDNGHSM-993] Provide the ability to store sidecar files in a specific folder within the directory
[RNDNGHSM-994] Provide the ability to store sidecar files in an alternative location
[RNDNGHSM-999] Add ngenea metadata to files migrated from snapshots
[RNDNGHSM-1001] Skip mime-type detection for POSIX targets
Bug Fix:
[RNDNGHSM-1005] Shadow metadata files might become corrupted
1.26.1 - 2023-10-20¶
Bug Fix:
[RNDNGHSM-1000] Segfault on passing a nonexistent file in the root directory
1.26.0 - 2023-10-06¶
Improvements:
[RNDNGHSM-888] Print vendor metadata
[RNDNGHSM-972] Improve file system target performance
[RNDNGHSM-974] Support premigrating files from snapshots
1.25.1 - 2023-11-30¶
Bug Fix:
[RNDNGHSM-1016] GCS: failure status of a metadata put operation is lost
1.25.0 - 2023-07-28¶
Improvements:
[RNDNGHSM-886] Provide the ability to recall to a different location
[RNDNGHSM-955] Support '--ignore-rmtlc' by ngrecall
[RNDNGHSM-956] Honor remote location xattrs by ngrecall on '--sync-metadata'
[RNDNGHSM-970] Perform content-only check on '--fail-on-mismatch' by default
Bug Fixes:
[RNDNGHSM-961] Reading a file being created with ngrecall -p results in corrupt data reads
[RNDNGHSM-965] Truncating a file causes "Operation not permitted" with a transparent recall policy installed
1.24.1 - 2023-06-05¶
Bug Fix:
[RNDNGHSM-966] Segfault on reading an empty .xattr file
1.24.0 - 2023-06-01¶
Improvement:
[RNDNGHSM-959] Support '--sync-metadata' by ngmigrate
1.23.0 - 2023-05-11¶
Improvements:
[RNDNGHSM-203] Add timestamp for migration time to migrated file extended attributes
[RNDNGHSM-572] Ensure GCS handles indefinite retries properly
[RNDNGHSM-844] Support ds3_sdk 5.4.0
[RNDNGHSM-887] Provide the ability to migrate to a different location
[RNDNGHSM-951] Honor remote location xattrs by ngscan
Bug Fixes:
[RNDNGHSM-952] ngscan fails to report shadow metadata when it has a key called symln
[RNDNGHSM-954] Migration fails with large xattrs
1.22.0 - 2023-03-20¶
Improvements:
[RNDNGHSM-793] Support overriding config params with command line options
[RNDNGHSM-936] Update retry policy for GCS protocol
Bug Fixes:
- [RNDNGHSM-923] Resolve issue with GCS performance whereby requests to the same endpoint
use the same caching slot causing sequential execution of tasks
[RNDNGHSM-924] Concurrency reduction with GCS PSC OAuth2 connections types
1.21.0 - 2023-02-23¶
New Feature:
[RNDNGHSM-931] Provide option to not migrate a file if the remote object is different
Bug Fixes:
[RNDNGHSM-921] Unexpected debug output when uploading objects to GCS
[RNDNGHSM-934] Error "unexpected end of file" may result in process termination
[RNDNGHSM-938] Cloud object deleted but not recalled
1.20.1 - 2023-02-06¶
Improvement:
[RNDNGHSM-929] Include source code location information in "out of memory" error messages
1.20.0 - 2023-01-25¶
Improvements:
[RNDNGHSM-736] Provide the ability to target specific storage classes for Azure protocol
[RNDNGHSM-789] Add CredentialsFile option to Azure config
[RNDNGHSM-803] Bash completion
[RNDNGHSM-827] Add EscapeNames support for Azure
[RNDNGHSM-861] Add support for local path in ngscan output
[RNDNGHSM-872] Don't rewrite Ngenea xattrs if they haven't changed
[RNDNGHSM-873] Sync metadata on file recall
[RNDNGHSM-882] Ensure ngenea configurations are secure
[RNDNGHSM-883] Add CredentialsFile option in AWS
[RNDNGHSM-901] Restricting restored symlinks
[RNDNGHSM-904] Saving/restoring ctime for symlinks
[RNDNGHSM-905] Recursive pulling of all symlinks in a path
[RNDNGHSM-908] Log file processed when --delete-remote is used on a premigrated file
[RNDNGHSM-911] Provide sample utility to remove remotely orphaned files
Bug Fixes:
[RNDNGHSM-455] ngls incorrectly lists files with unprintable characters in the name
[RNDNGHSM-835] Inconsistent information in Ngenea storage target configuration page
[RNDNGHSM-875] Resolve issue with policy driven migration and -- in file paths
[RNDNGHSM-885] ngrecall -L doesn't recall the specifically requested remote
[RNDNGHSM-906] Can't migrate to S3 a file with special characters in an xattr name
[RNDNGHSM-907] DeleteOnRecall=true can cause deletions from DeleteOnRecall=false targets when multi-target setup is in use
1.19.2 - 2023-01-23¶
Bug Fix:
[RNDNGHSM-920] Revert behaviour of GCS connection reuse to 1.18 behaviour due to observed performance decrease
1.19.1 - 2023-01-23¶
Bug Fix:
[RNDNGHSM-900] Error "directory restoring failed" dependent on arguments order
1.19.0 - 2022-10-04¶
New Features:
[RNDNGHSM-538] Updating the metadata of already migrated remote objects
[RNDNGHSM-854] Updating the status of local files based on remote object metadata
Improvements:
[RNDNGHSM-424] Ensure user defined xattr are reflected in endpoints
[RNDNGHSM-831] Improve performance of Google uploads
[RNDNGHSM-842] Support storing a symlink value as a metadata element in S3
[RNDNGHSM-858] Reduce the probability of Google error 503 when migrating
1.18.0 - 2022-07-14¶
Improvements:
[RNDNGHSM-824] Add EscapeNames support for GCS
[RNDNGHSM-841] Support additional file mode bits
1.17.1 - 2022-06-27¶
Bug Fix:
[RNDNGHSM-840] Assertion failure when recalling with '-r' a directory containing a symlink
1.17.0 - 2022-06-22¶
Improvements:
[RNDNGHSM-766] Google OAuth2 Compliance
[RNDNGHSM-805] Provide a mechanism to update atime and mtime
Bug Fixes:
[RNDNGHSM-690] GCS_AddMimeType storage: object doesn't exist
[RNDNGHSM-787] Ensure that GCS Go goes not retain file in memory for duration of transfer
[RNDNGHSM-802] ngls lists files twice
[RNDNGHSM-804] Scanning + reverse stubbing/premigration fails on objects with inconsistently percent-encoded characters in names
[RNDNGHSM-833] Assertion failure in apiod_perc_decode
[RNDNGHSM-834] Update GCS SDK to resolve error "Could not find default credentials"
1.16.0 - 2022-05-10¶
Improvements:
[RNDNGHSM-672] ngscan --list-shadow
[RNDNGHSM-673] ngls --state and --type filters
[RNDNGHSM-742] Provide quiet output for ngscan to enable fast listing of object(s) existence returning only exit status
[RNDNGHSM-769] Support passing local filenames to ngscan
[RNDNGHSM-773] Add Endpoint and Port to Azure config
[RNDNGHSM-777] Provide JSON output from ngscan
[RNDNGHSM-778] Provide JSON output from ngls
[RNDNGHSM-779] Provide additional metadata from endpoint object for ngscan
[RNDNGHSM-780] Provide extended attr metadata from local object for ngls
Bug Fixes:
[RNDNGHSM-775] Ensure azure block ids are identical for subsequent uploads of a non-committed file
[RNDNGHSM-782] Premigrating a file to azure with overwrite creates 2x new versions in Azure
[RNDNGHSM-792] Unsafe functions called from a signal handler
[RNDNGHSM-799] Cope with pre-existing uncommitted blocks uploaded by other tools
1.15.0 - 2022-03-01¶
Improvement:
[RNDNGHSM-678] Single-line message output in JSON log
Bug Fix:
[RNDNGHSM-784] Incorrect unescaping JSON string literals
1.14.0 - 2022-02-10¶
New Features:
[RNDNGHSM-719] Filter entity types listed by ngscan
[RNDNGHSM-722] Support storing/retrieving symbolic links as links instead of targets they reference
Improvements:
[RNDNGHSM-757] Remove the 25 connections limit for S3
[RNDNGHSM-759] Include total part count in log messages
[RNDNGHSM-761] Support recalling remote folders created by third-party tools
Bug Fix:
[RNDNGHSM-762] Fix migrating/recalling folders for Minio
1.13.0 - 2021-12-13¶
Improvements:
[RNDNGHSM-539] Implement minimal DMAPI locking mode
[RNDNGHSM-727] Implement a timeout to automatically terminate ngenea in the event that external operations are not progressing
[RNDNGHSM-737] Provide the ability to target specific storage classes for GCS protocol
[RNDNGHSM-738] Provide GPFS Policy ILM samples
[RNDNGHSM-747] Add man pages for ngscan and ngreconcile
Bug Fixes:
[RNDNGHSM-699] Running ngls on a long path causes memory to become corrupt
[RNDNGHSM-706] Ngenea GCP permissions docs missing required rights
[RNDNGHSM-733] Sample script migrate.py calls a wrong function to enact migration
[RNDNGHSM-741] Google StorageClass migration fails if lowercase
1.12.1 - 2021-10-22¶
Improvement:
[RNDNGHSM-720] Overwrite remote folder metadata on '--overwrite-remote'
Bug Fix:
[RNDNGHSM-721] apiod_migrate: assertion "n_filtered2<n_filtered1" when migrating empty directories
1.12.0 - 2021-10-15¶
New Features:
[RNDNGHSM-634] Possibility of migrating and recalling empty directories
[RNDNGHSM-687] Support for storing and retrieving ACLs
Improvements:
[RNDNGHSM-680] Support Black Pearl SDK 5.3.0
[RNDNGHSM-683] Emit the signal exit code when ngmigrate or ngrecall is killed by signal
[RNDNGHSM-702] Provide a user-friendly message for gpfs_putacl error 95
[RNDNGHSM-716] Ensure maxfiles migration for python scripts are set to a sensible default
Bug Fix:
[RNDNGHSM-688] Support UTF-8 for storing user and group names
1.11.0 - 2021-07-02¶
New Feature:
[RNDNGHSM-573] Run migrate without running hash before
Improvement:
[RNDNGHSM-167] Do not call an external program to cancel a current BlackPearl job by Ctrl-C
Bug Fix:
[RNDNGHSM-679] Deadlock in JSON log mode when printing a string not matching a LC_CTYPE locale
1.10.0 - 2021-05-07¶
New Feature:
[RNDNGHSM-646] - Structured Log Output
Improvements:
[RNDNGHSM-464] - Support connecting to Google's private or restricted API services
[RNDNGHSM-563] - Use Intel ISA-L acceleration library for sha-512 acceleration
[RNDNGHSM-595] - Set MIME type for Google uploads
[RNDNGHSM-596] - Set MIME type for Azure uploads
[RNDNGHSM-621] - Improve parallelism of hashing for AWS and Azure
[RNDNGHSM-643] - Improve GCS thread management
Bug Fixes:
[RNDNGHSM-628] - ngmigrate terminates with what(): Resource temporarily unavailable
[RNDNGHSM-661] - Ngenea assert() on zero byte object in Azure blob
1.9.2 - 2021-03-24¶
Improvements:
[RNDNGHSM-645] - Release all acquired DMAPI locks on SIGTERM or SIGINT
1.9.1 - 2021-03-09¶
Improvements:
[RNDNGHSM-641] - Add the parameter "ShadowFolderMetadataSave" for S3, Azure, GCS, and BlackPearl
Bug Fixes:
[RNDNGHSM-640] - .xattr files for folders are escaped even with EscapeNames=false
1.9.0 - 2021-02-11¶
New Feature:
[RNDNGHSM-605] - Scan local files and fix their premigrate flag
Improvements:
[RNDNGHSM-529] - Fetch metadata once when processing scanned remote objects and deleting recalled ones
[RNDNGHSM-540] - Add an ngmigrate option to forcibly overwrite remote objects
[RNDNGHSM-587] - Support passing a filelist file to ngmigrate/ngrecall
[RNDNGHSM-610] - Provide the ability to not escape character sequences
[RNDNGHSM-615] - Store both string and numeric user and group identifiers
Bug Fixes:
[RNDNGHSM-206] - ngls does not consistently list offline status when run inside a snapshot
[RNDNGHSM-481] - ngls -V returns non-zero
[RNDNGHSM-484] - Docs show ngls -? as valid option despite this not working
[RNDNGHSM-618] - Ngls dm_init_service error output for non-root users
1.8.0 - 2020-11-06¶
Improvements:
[RNDNGHSM-428] - Store times in metadata with nanosecond precision
[RNDNGHSM-593] - Improve Azure multi-threaded upload and download
Bug Fixes:
[RNDNGHSM-597] - Double free or corruption while migrating files to BlackPearl
[RNDNGHSM-599] - ngmigrate does not set "premigrated" file status visible in a GPFS policy
[RNDNGHSM-604] - migrate.c: line 1130: apiod_migrate: assertion "0" failed
1.7.2 - 2020-09-23¶
Bug Fixes:
[RNDNGHSM-601] - Migration failure when unable to resolve uids and gids. getgrgid_r error observed.
1.7.1 - 2020-08-07¶
Bug Fixes:
[RNDNGHSM-598] - Eliminate a race condition causing "attribute name length 6 is not equal to 8"
1.7.0 - 2020-07-13¶
Improvements:
[RNDNGHSM-328] - Honor the options "--skip-check-uuid" and "--skip-check-hash" during file recall operations
[RNDNGHSM-347] - Allow uuid and hashing override to enable a 'twin-tailed' stub file workflow
[RNDNGHSM-557] - GCS: Increase performance by downloading part files in parallel
[RNDNGHSM-575] - Ensure ngrecall with --no-recursion-remote flag skips files in subdirs
[RNDNGHSM-576] - GCS: Remove duplication of buffer during download
[RNDNGHSM-582] - Reduce frequency of flock errors on reverse stubbing
[RNDNGHSM-584] - Support reverse stubbing/premigrating all object instances rather than the latest
[RNDNGHSM-586] - GCS: Increase upload performance
Bug Fixes:
[RNDNGHSM-452] - GCS: a result of dm_write_invis isn't handled correctly
[RNDNGHSM-578] - ngrecall scans and reversely stubs/premigrates ".*.xattr" files
1.6.0 - 2020-05-26¶
Improvements:
[RNDNGHSM-480] - Support signing payloads to AWS S3
[RNDNGHSM-544] - S3: make threads upload file parts rather than files
[RNDNGHSM-545] - S3: make threads download file parts rather than files
[RNDNGHSM-549] - Sign payloads to BlackPearl
[RNDNGHSM-551] - Sign payloads to Azure
[RNDNGHSM-561] - Ensure logging behaviour is consistent for all SDKs
Bug Fixes:
[RNDNGHSM-442] - Migration to Azure fails for large files
[RNDNGHSM-451] - Azure: result of dm_read_invis and dm_write_invis isn't handled correctly
1.5.0 - 2020-04-14¶
Improvements:
[RNDNGHSM-534] - Release migration file locks as soon as reasonably possible
[RNDNGHSM-536] - Release recall file locks as soon as reasonably possible
1.4.0 - 2020-02-14¶
New Feature:
[RNDNGHSM-48] - Automatically ingest and reverse stub pre-existing external data
[RNDNGHSM-446] - Ensure ngmigrate sets the correct MIME type for files uploaded to S3
[RNDNGHSM-471] - Python API examples to drive ngmigrate and ngrecall
Improvements:
[RNDNGHSM-365] - Remove info level output from ngmigrate to google object store with no verbose flags set
[RNDNGHSM-435] - Ensure failed to recall partially recalled files are removed
[RNDNGHSM-482] - Reduce memory usage for GCS migrations
[RNDNGHSM-494] - Create missing directories with permission modes for reversely stubbed/premigrated files
[RNDNGHSM-518] - Provide logging output to syslog for ngmigrate & ngrecall
[RNDNGHSM-530] - Provide direct migration to all S3 Storageclasses
1.3.5 - 2020-01-06¶
Bug Fixes:
[RNDNGHSM-499] - Fixes a problem whereby if a dmapi right is acquired on a file, and the file gets deleted, then releasing the right would cause a waiter to appear
1.3.4 - 2019-12-02¶
Improvements:
[RNDNGHSM-478] - Ensure that failed recalls from S3 reset the prior state of the stub file
Bug Fixes:
[RNDNGHSM-489] - Fixes an issue whereby ngls and ngrecall trigger a gpfs crash if there are non-ngenea managed APX dmapi xattrs present on a file
1.3.3 - 2019-11-22¶
Improvements:
[RNDNGHSM-429] - ngscan should find latest object instances by default
Bug Fixes:
[RNDNGHSM-470] - failed ngrecall from aws s3 bucket where file has been moved to glacier changes the local file size
[RNDNGHSM-475] - ngrecall not failing cleanly
1.3.2 - 2019-11-14¶
Feature Enhancements:
[RNDNGHSM-357] - Add the option "-r, --recursion-local" to ngrecall
[RNDNGHSM-392] - Ensure that ngrecall does not change the source atime of a file
[RNDNGHSM-394] - Detect changing a source file while migrating it and abort migration on file change
[RNDNGHSM-395] - Ensure reverse stubbing uses the latest file instance
[RNDNGHSM-406] - ngls now supports multi-targets
[RNDNGHSM-414] - Reverse stubbing a file with multiple endpoints uses any available endpoint
Bug Fixes:
[RNDNGHSM-382] - Updating metadata on large files (>5GB) fails on AWS S3 Targets
[RNDNGHSM-397] - ngrecall cannot reversely stub/premigrate a remote object with special characters or spaces
[RNDNGHSM-426] - ngmigrate hanging whole fileset
[RNDNGHSM-431] - ngls -d does not work
[RNDNGHSM-438] - Exit with error in the case that ngrecall attempts (and fails) to write to a full file system
[RNDNGHSM-440] - failure to move large files >400g from pixelogic up to snoball.. maybe others
[RNDNGHSM-441] - SAMBA unresponsive when ngmigrate is in progress
[RNDNGHSM-450] - ngrecall hanging ngls
1.3.1 - 2019-08-05¶
Bug Fixes:
[RNDNGHSM-407] - ngrecall causes a gpfs hang when recalling from multiple targets, where one target has changed the file
[RNDNGHSM-417] - ngrecall doesn't check whether the size of a stub file and a remote object are equal
[RNDNGHSM-418] - memory leak in ngls
1.3.0 - 2019-05-28¶
Feature Enchancements:
[RNDNGHSM-353] - Support restricting paths of processed remote objects in a storage endpoint
[RNDNGHSM-355] - Add storage-specific parameters specifying prefixes for "RetrieveObjectName" and "StoreObjectName"
[RNDNGHSM-356] - Add the option "-r, --recursion-local" to ngmigrate
[RNDNGHSM-362] - Create the "ngscan" tool
[RNDNGHSM-375] - Stop deleting empty parent directories if such a directory is one specified in "RetrieveObjectBasePath"
Bug Fixes:
[RNDNGHSM-364] - ngls doesn't show remote location for multiple endpoints
[RNDNGHSM-366] - ngls should display file sizes in human-readable format.
[RNDNGHSM-370] - Provide informative error message if Scheme target config setting is not present
[RNDNGHSM-380] - ngrecall with "-L REMOTE_LOC" uses a computed local filename to determine a remote object location
1.2.0 - 2019-02-13¶
Feature Enchancements:
[RNDNGHSM-262] - Allow ngenea to migrate to Google Cloud Storage
[RNDNGHSM-279] - Add support for BlackPearl SDK v5
[RNDNGHSM-330] - IBM Cloud Object Support Validation
Bug Fixes:
[RNDNGHSM-243] - GPFS crashes when running mmlsattr against a specific file with transparent policy enabled
[RNDNGHSM-338] - On errors when migrating a batch of files to Azure, the APXrmtXX xattr isn't set for successfully uploaded files
[RNDNGHSM-341] - Complementary file locking functions are not thread-safe
[RNDNGHSM-348] - If Azure access key length is not a multiple of 4, ngmigrate aborts prematurely
1.1.1 - 2018-09-27¶
Feature Enhancements:
[RNDNGHSM-308] - Multiple Target Support
Bug Fixes:
[RNDNGHSM-124] - Multi-part upload memory improvements (S3)
1.1.0 - 2018-06-08¶
Feature Enhancements:
[RNDNGHSM-31] - Pre-migration capability
[RNDNGHSM-60] - ngls utility
[RNDNGHSM-135] - Support for POSIX targets
[RNDNGHSM-166] - Support for Azure Blob targets
[RNDNGHSM-179] - Variable stub sizing capability
[RNDNGHSM-189] - Reverse stub creation capability
1.0.0 - 2017-09-22¶
Initial release