Bundle layer deduplication is an Experimental feature and may change over time. It serves as an optimization tool, but there is a risk of malfunction, which could lead to failed exports or imports. You should disable the feature if you encounter any issues. Doing so will result in larger Bundles.
Bundle layer deduplication is an Apollo Export feature that decreases the amount of data that is transferred to a specific destination. This feature works by tracking the data that has already been sent to a destination, and ensures that future Bundles sent to that destination do not include data that has already been transferred. Bundle layer deduplication reduces Bundle sizes by only sending a specific resource in one Bundle.
You must have an Export Pipeline to set up Bundle layer deduplication. Learn more about creating Export Pipelines.
To download a layer deduplicated Bundle with the apollo-cli, you will need to add the flag --transfer-target $TARGET_HUB to the download CLI command as follows:
Copied!1 2 3 4$ ./apollo-cli bundle download [bundle-rid] \ --apollo-token "$APOLLO_TOKEN" \ --apollo-url "$APOLLO_URL" \ --transfer-target-rid $TARGET_HUB
You can search for your desired Target Hub by navigating to the Export application and going to the Target Hubs tab.
To get a pre-filled version of the command above:
Confirming a Bundle communicates to other Apollo users that the Bundle has been successfully uploaded and is visible in the Import Application on the destination Hub.
When a Bundle is confirmed, the Export Application inspects the contents of the Bundle to determine what data is present at the destination Hub. It uses this information to decrease the size of future Bundles sent to that destination by removing duplicate information that has already been sent. This computation is done for all Pipeline and Transfer Target combinations. This means the amount of data that needs to be transferred is different for each destination.
Confirming that a Bundle has been transferred maintains a record for other users to where the Bundle was transferred.
If you previously declared that a Bundle was transferred to a certain destination, you are able to rescind that confirmation. You can do this if the Bundle was not transferred to its destination successfully or if the Bundle was deleted from the destination Hub. When a Bundle confirmation is rescinded, the Export Application will assume that the Bundle was never sent to the destination.
To rescind a Bundle confirmation, go to the Export application in the source Hub where you previously confirmed the transfer.
