Contact Free trial Login

FAQ: Object Store v2

Where is Object Store v2 available?

Object Store v2 is available in every region where Runtime Manager (CloudHub) apps can be deployed.

What Mule versions support Object Store v2?

Mule 3.8.5 and above, and all 4.x versions.

  • Mule 4 only supports Object Store v2.

  • Only Mule Runtimes deployed to CloudHub can use Object Store v2.

What happens when the transaction limit for my subscription is reached?

An Object Store v2 subscription pack allows up to 100 million transactions per month for an Anypoint Platform organization. This limit is applied across all Production and non-Production environments. You can use the Object Store v2 REST API to monitor usage.

When the transaction limit is reached, Object Store v2 continues working and your organization is contacted by MuleSoft Sales to increase your plan.

Is Object Store v2 persistent in the same region as the worker?

Yes, Object Store v2 is in the same region as the worker where the app is initially deployed. For example, if you deploy to the Singapore region, the object store persists in the Singapore region.

If after the first deploy, you move the app to a different region, Object Store v2 remains in the original region to avoid data loss. Your use of Object Store v2 never moves from one region to another. When you need to deploy both an app and object store to a different region, delete the app and re-upload the app into the new region. This action loses all the data that may exist in the storage.

How are Object Store entries divided among workers?

Object Store v2 is a remote service that is separate from CloudHub workers. All entries that you put in _defaultUserObjectStore are available to all workers for the same app. If not using _defaultUserObjectStore, then the data is put into an in-memory object store on the worker and that data is lost if the worker restarts or a new app version is deployed.

For an example of entry availability, if you had 50 entries and 5 workers, all 50 entries would be available to all the workers in the app and the Object Store v2 service handles storing all the data without any impact on the workers.

How can one Mule app access the object store of another app?

When other Mule apps need access to your app’s object stores, use the Object Store v2 REST API to read from one app and store to another.

What are the limits on an object store?

There’s no limit of the total size of an object store, but each value is limited to 10 MB. The free version also limits usage to 10 transactions per second. Premium add-on users get up to 100 TPS.

How long can data persist in Object Store v2?

Object Store v2 data persists 30 days. The expiry time is reset if an update to that key occurs. If there is no update, the key is deleted at the 30 day mark.

What’s the maximum number of keys that can persist in Object Store v2?

In Object Store v2 there is no limit on the number of keys per app. In Object Store v1, the limit was 100,000 keys and attempts to store more were rejected.

Where is the Object Store v2 REST API portal?

This API is available in the Anypoint Platform Developer’s portal.

Where is the Object Store connector?

Anypoint Exchange provides assets for the Mule 3 Object Store connector used by Anypoint Studio 6, and for the Mule 4 Object Store connector used by Studio 7.

Do I need a different Object Store connector for Object Store v2 and Object Store v1?

All versions of Mule’s Object Store Connector work with both Object Store v1 and Object Store v2.

Why are Object Store values in binary format?

When you view an Object Store key in Runtime Manager, the value for the key displays as [binary value] BINARY. Mule 4 wraps values into a Mule object that causes them to be only visible in binary through Anypoint Platform. Behind the scenes, Mule 4 executes binary serialization with the Mule internal serializer. The user interface cannot deserialize the object, hence it can only tell you that the value is now binary in the user interface.

To view the key value, you need an Object Store retrieve flow in your app’s connector, such as:

<flow name="Retrieve" >
	<http:listener doc:name="Listener" config-ref="HTTP_Listener_config1"
		path="/retrieve">
		<ee:repeatable-file-store-stream />
	</http:listener>
	<os:retrieve doc:name="Retrieve"
		key="#[attributes.queryParams.key]"
		objectStore="Object_store1"/>
</flow>

For more information, see Tutorial: Create a Studio 7 Project.

Are there rate limits on Object Store v2?

Customers who have not purchased a separate Object Store SKU are rate limited to 10 transactions per second per app. If an app for an account that has not purchased the Object Store v2 SKU exceeds the rate limit, further requests are not processed for a time and a 429 HTTP error status code results. To go beyond the base 10 TPS rate limit, contact your MuleSoft account team.

How is Object Store v2 data secured?

Object Store v2 uses TLS for secure transport. Data at rest is stored using FIPS 140-2 compliant encryption standards. If you require a higher level of security, we recommend that you encrypt sensitive data before writing it to the Object Store.

Does Object Store cache data or do I/O for each read and write?

Object Store V2 does I/O for each read and write. With Object Store V2, the API call is localized to the same data center as the Runtime Manager app.