Limitations

The following section describes specific limitations of ArcaPix Ngenea HSM.

Maximum DMAPI Xattr Value Length

Ngenea stores information about remote objects corresponding to a local migrated (i.e. stub or premigrated) file in its DMAPI extended attributes. DMAPI extended attributes must be accessed by DMAPI-specific functions, and the standard commands getfattr and setfattr for manipulating extended attributes cannot access them.

PixStor imposes a limit on the value of a DMAPI extended attribute of a file equal to 1022 bytes. The length of a remote location string of a migrated file stored in its DMAPI extended attribute cannot exceed 1022 bytes. This limitation restricts the length of a name part of a migrated file stored in its DMAPI extended attribute for keeping a remote location.

On attempt to migrate a file with a remote location string longer than 1022 bytes, ngmigrate will report an error and will not migrate the file to that particular remote location.

On migrating files to any storage target, except for the filesystem storage target, ngmigrate percent-encodes special characters in the names of remote objects corresponding to local files (unless this mode is disabled by the configuration parameter EscapeNames=false if that parameter is available). Therefore, if the name of a local file contains special characters, the limit equal to 1022 bytes may be violated even for a short file name.

Where files with very long names have several common path prefixes, additional storage endpoints can be configured for such path prefixes to make name parts of those files stored in the DMAPI extended attributes shorter. This approach also shortens the names of remote objects corresponding to local files---in this way, it is possible to prevent violating a restriction on maximum object name length for a particular storage target.

Maximum Object Name Length

Storage targets impose limits on the length of remote object and folder names. A long local file name or directory path when converted to a remote object name may exceed the allowed character limit of the storage target. Therefore, ngmigrate may fail to create the remote object or folder.

Additionally, ngmigrate may store the metadata of remote objects and folders in separate shadow metadata objects with names formed by prepending . and appending .xattr to an object or folder name. Where a remote object or folder name has allowed length close to the maximum allowed limit, a shadow metadata object name including the .xattr suffix may be longer than the allowed length, and therefore the migration of a local file or directory fails.