BlackPearl has seen very wide adoption across various storage system and across multiple use cases. To meet the requirements of many user groups, Spectra’s Engineering Team has been enhancing the features and interface of the product, while at the same time postponing any changes that could affect existing software clients. When the changes are made, we try to limit them to major releases, and provide our partners with as much notice as possible to allow time for code development and release. With the upcoming major release of BlackPearl’s code version 4.0 in August, we are including the following changes that could affect existing BlackPearl’s software clients:
- Bucket naming conventions -- For Cloud Out operations with Amazon AWS or Microsoft Azure, the BlackPearl bucket name will have to follow cloud provider requirements. BlackPearl will attempt to create the bucket on the cloud storage provider with the name that is an exact match of the name that is specified in BlackPearl. If the bucket name does not follow the rules of the specific cloud service provider, an error will be returned and will indicate that that bucket could not be created and the error code(s) given by the cloud service provider will be passed along. (In previous versions of BlackPearl code, BlackPearl used only lower case letters to avoid upper case incompatibilities.)
- Optional “Folder” parameter in “GetObjectsDetailsRequest” and “GetObjectsWithFullDetailsRequest” calls has been removed.
- Failure code handling has been changed in the following error handlers: GetPoolFailures, GetTapeFailures, GetAzureTargetFailures, GetDS3TargetFailure, & GetS3TargetFailure.
- File metadata requirement -- If a file is broken up into multiple parts or “blobs” when being sent to BlackPearl, the object metadata needs to be sent by the client application with each part/blob. Previously clients were only required to send metadata on the first part/blob. For clients using the C#/.NET or Java Software Development Kits (SDKs), this change will be handled automatically through the built-in helper classes, so simply updating to the latest 4.0 SDK will address the change. Clients using the Python or C SDK and clients that interact with the API directly (those that do not use our SDKs) will have to modify code to provide metadata with every blob in the transfer in order to work with next major release of BlackPearl code (version 5.0), expected early in 2018.
- The Data Policy fields of “always_replicate_deletes” (request parameter) and “LtfsObjectNamingAllowed” (response parameter) are being deprecated and will be removed from the Data Policy in next major release of BlackPearl code (version 5.0), expected early in 2018.
We have provided pre-release versions of the BlackPearl version 4.0 SDKs to support code updating. These SDKs can be downloaded at the following locations:
We have also made a BlackPearl version 4.0 beta system available in Spectra’s lab that can be accessed over the Internet to support testing activities ahead of version 4.0 code release. To access this BlackPearl, please Contact us. It is strongly recommended that any client changes are certified/re-certified following our self-certification program
If you use BlackPearl SDKs in your client, even if you are not concerned about the changes above, you will still want to update your client to the latest 4.0 SDKs, and re-verify put/get functionality as outlined in BlackPearl Certification Test Plan sections 7.5-7.8.
Please Contact Us if you need assistance with upgrading your BlackPearl client to support the 4.0 release. We would like to ensure that existing BlackPearl clients work well with BlackPearl version 4.0.