Why was Rio Broker created? What is its purpose?
- Spectra Logic has provided SDKs that allow for partners to integrate directly with BlackPearl. The benefit of Rio Broker is that it provides a layer of abstraction from BlackPearl and greatly simplifies the interface and integration. Essentially, rather than use SDKs to access BlackPearl directly, we are now providing SDKs to integrate with Rio Broker. The result is a stable API which will not change even if BlackPearl has new releases.
Will there be ongoing releases of the Rio Broker?
- Spectra Logic will put out new releases of Rio Broker as needed. That said, the API to Rio Broker is expected to be extremely stable and unchanging which means partners will not have to “re- write” the integration with their software.
Can RioBroker be a bridge between file and object worlds?
What is the benefit of providing a single namespace?
- A single namespace simplifies management to one interface. When working with multiple file systems, a single namespace represents all the data as if it were in the same location.
If I have an existing integration/plugin with BlackPearl can I continue to use that in parallel with Rio Broker?
- This is not recommended. If you adopt Rio Broker then all data management should be done with Rio Broker. The reason for this is that if you bypass Rio Broker you are creating an “out of band” job. For read operations this is okay, however, for write operations it would potentially cause things to get out of sync.
Can I write data to a FlashNet or Diva system?
- No, Rio Broker can only read data from those systems. The only data storage target that can be written to is BlackPearl.
How do I access Rio Swagger API from Rio Broker Server?
- Use https://localhost:5050/api/viewer/index.html#/ or https://XXX.XXX.XXX.XXX:5050/api/viewer/index.html#/.
- Another way to access API is Rio UI → Settings → click "API Docs".
Rio User guide mentions recommended hard disk size of 500GB SDD, is it a hard requirement?
- No, Rio works with less hard disk. Rio uses it only for Database and Logs, assuming all endpoints are configured either to NAS or external sources/destinations. It's good to have 500GB SDD in production to support future increase in DB size and for faster reads/writes.
Does Rio support custom SSL Key/Certificate?
- Yes, to have RioBroker use a custom/local SSL key/cert instead of the self generated, the following system environment variables can be set:
- RIO_SSL_KEY_FILE - Full path to RSA key file
- RIO_SSL_KEY_PASSWORD - password for key
- RIO_SSL_CERT_FILE - Full path to the x509 certificate file
Why do I see some in-active nodes after upgrading from 3.0.1? Can I delete them?
- When you re-install Arago DB keeps old nodes and add new ones. Yes, you can delete in-active nodes.
How do I do an object search across multiple brokers/buckets?
- Use the normal search command but use an asterisk for the broker name: GET /api/brokers/*/objects
How do I change RioBroker logging to retain more logs?
3.0 - 3.4: log4j
- Edit C:\Program Files\Spectra Logic Corporation\SpectraRioBroker\server\logback_production.xml
- Change MAX_ROLLING_FILES and/or ROLLING_FILESIZE_TRIGGER to larger values
- restart the RioBroker service
Answer for 3.5: logback
- Edit C:\Program Files\Spectra Logic Corporation\SpectraRioBroker\server\log4j2_production.yaml
- Alter line 44 changing the "100MB" to something larger like "500MB"
and/or
- Alter line 46 to keep more lines files, eg. change 10 to 20
Does Rio Broker support object versioning for BP or VAIL devices?
- No. If you try to archive an object using the same name as an existing object, you will get a failure "Object Already Exist".
How does Diva Agent handles duplicate objects within DIVA Archive Device?
- We recommend adding one Diva Agent per Category. It's good to add only one Diva Agent per Broker to avoid any duplicate objects. If you do add more than one Diva Agent per Broker you run the risk of data loss when there are objects with duplicate files. We also support "*" for category to index whole Diva system using one Diva Agent.
What to do if you need to delete a Broker which has large number of files and throws an error?
- If you can't delete Broker with error, follow manual steps to delete the broker:
- In a web browser go to: http://localhost:8529/_db/_system/_admin/aardvark/index.html
- Click on "Queries" in the right side
- Execute this query to verify the data to delete: return LENGTH(FOR a in BrokerObject FILTER a.brokerName == "BROKERNAME" FILTER a.agentName == "AGENTNAME" return a)
- Execute this query as many times as it takes to purge all the data, it deletes 500K rows at a time and can take up to a minute each time: FOR a in BrokerObject FILTER a.brokerName == "BROKERNAME" FILTER a.agentName == "AGENTNAME" LIMIT 0,500000 REMOVE a IN BrokerObject
Can I completely refresh an Agent index?
- Yes, but not from the Rio GUI. You can do it from API REST call (e.g., Swagger, Curl or Postman): PUT /api/brokers/{brokerName}/agents/{agentName}.
What are the third party read agents we support?
- Currently we support Diva, Flashnet and SGL LTFS read agents for migration. We can only restore content from these agents.
When adding a FlashNet agent, I receive the message "Error: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]". How do I enable TLS 1.0 for RioBroker?
- Edit the file: C:\Program Files\Spectra Logic Corporation\SpectraRioBroker\Java\jdkX.X.X_X\conf\security\java.security and remove "TLSv1" from the "jdk.tls.disabledAlgorithms" property.
What are "Always Archive" and "Allow Lazy Indexing" options and how do they work?
- Archive Job (with Index Media option):
- True: Regardless of index error, it will archive. All objects whether they are supported (.mxf, .mov) or not (.txt). MXF and MOV encoder not supported (e.g., XDCAM variant not developed by Marquis) - this also will archive.
- False: All unsupported files will be ABORTED (.avi, .saf, .txt etc.). MXF and MOV unsupported files will be allowed to archive. Some error cases it won't allow - fatal errors like incomplete files, missing frames, not available space on server etc.
- Allow Lazy Indexing: No effect on archive.
- Restore Job:
- Always Archive: No effect on Restore.
- Allow Lazy Indexing:
- True: Restore will attempt re-index if this File is missing index in Marquis. If the lazy index fails, then the restore job will fail. A new request would need to be made for the full clip (i.e. without a timeCodeRange set in the POST payload)
- False: If no index in Marquis - Request Fails. User must request for full clip. If indexed, then TBPFRed clip.
What are endpoint types Rio supports?
- Currently Rio support NAS, FTP and S3 endpoint types.
How to configure local endpoint?
- For local endpoint like "C:/Rio/Files", use NAS type with uri: file:///C:/Rio/Files
How to configure CIFS or BP NAS endpoint?
- For a shared folder like "\\xxx.xxx.xxx.xxx\RioCruise\Migration", use NAS type with uri: file://xxx.xxx.xxx.xxx/RioCruise/Migration
How to configure FTP endpoint?
- For ftp file path root like "/Migration", use FTP type with uri: ftp://xxx.xxx.xxx.xxx/Migration, provide ftp server uid/pwd.
How to configure S3 endpoint?
- Rio support Amazon S3 or Third Party S3 types. For Amazon S3, you need Bucket, Access ID, Secret Key and Region parameters configured. To configure Third Party S3 (BP bucket, Vail Bucket or Min IO etc.,) you need to enter Bucket, Access ID, Secret Key, Hostname & Port (optional).
How to create URI for S3 and FTP endpoints
- Use following syntax to archive or restore objects if endpoint is already defined:
{
"files": [
{
"name": "object.txt",
"uri": "endpoint://s3troy/object.txt"
}
]
}
- Copy where endpoint is a created S3 device in Rio with the name s3troy.
How does RioBroker work with the new BlackPearl 5.6 bucket and job protection?
Starting with RioBroker 3.5.0, when the BlackPearl version is 5.6 or higher bucket and job protection is activated by default.
Bucket protection:
When a RioBroker broker is created, the BlackPearl bucket that the write agent is associated with has the protected flag set to true. The effect of this is that any BlackPearl user that attempts to delete that bucket will be denied with the message:
Conflict[409]: The bucket NAME cannot be deleted because it is protected by an application. The protected flag must be removed before this bucket can be deleted.
This prevents inadvertent deletion of a bucket that RioBroker is using. Important things to note:
- If the RioBroker broker is deleted, the BlackPearl bucket protection flag is NOT reset. The bucket remains protected even though RioBroker is no longer using it.
- To remove the BlackPearl bucket protection flag you must edit the AGENT details and use the "Clear Bucket Protection Flag" option.
- Professional Services has a way to update the BlackPearl database directly to turn off bucket protection, but great care must be used to avoid undesired data loss.
Job Protection:
All jobs created by RioBroker are protected. Any BlackPearl user that attempts to delete an S3 job created by RioBroker will be denied with the message:
Conflict[409]: Cannot cancel this job because it is protected by an application. The protected flag must be removed before this job can be canceled.
Important things to note:
- If the RioBroker job is canceled, it will in turn remove the protected flag on the BlackPearl job AND cancel the BlackPearl job
How to do database Rio backup to Black Pearl using RioCLI?
- We implemented Rio Database backup command in RioCLI - Rio Broker Database Backup and Restore Procedure. In future versions we are planning to implement it as part of Rio Broker itself just like BP. https://spectralogic.zoom.us/j/95875242521
How to restore Rio Broker using backed up DB?
Do I need to manually backup DB during install and upgrade?
- 1.x, 2.x → 3.1: Backup whole folder C:\ProgramData\SpectraLogic\SpectraRioBroker. Copy it back to same folder or C:\ProgramData\Spectra Logic Corporation\SpectraRioBroker, depends on whether you just upgraded or uninstalled and re-installed. Note that there is a folder change from "Spectralogic" to "Spectra Logic Corporation" if you are upgrading from older version.
RioBroker database does not have the proper indexing if version 3.0.1 was installed. How to I fix that?
- Any installation that installed v3.0.1 will be missing some important indexes in the Arango database that really improve performance. Installs that bypassed 3.0.1 and went straight to 3.1.0 are okay.
- To manually add the missing indexes, follow the instructions in the attached document: RioBroker - Adding missing indexes after upgrade from 3.0.1 to 3.1.0
How many Cluster nodes I can use with Rio Broker?
- Usually it is 3 Nodes. If Rio is connected only one Black Pearl device, 3 Nodes are good to support throughput. If we have multiple devices (Diva, Flashnet, BPs and VS3 etc.,), then we can have as many cluster Nodes as required. We suggest add odd number of nodes 1, 3, 5, ...
Do you support failover of cluster Main nodes?
- No, currently we have only Load Balancing implemented. In future versions, we are planning to add High Availability, Notifications etc.
My node left the cluster and can't rejoin, what should I do?
- Restart the Rio service on that node and it should rejoin.
What is the order for restarting all cluster nodes?
- Always restart Master Node first and verify master node is up before restarting other nodes.