Is PINing Synchronous or Asynchronous?

I created a fairly large IPFS repo (550GB) and friends of mine are pinning the contents to decentralize them across the Internet. I’m surprised it takes as long as it does, unless the process is asynchronous to those nodes doing the actual copy / replication.

From what I gather from reading this forum, the call to PIN an item is indeed synchronous and the command won’t return until the blocks for the pinned item have been replicated.

Is this correct? Has a way been discussed to que the PIN request so they can be done in the background to speed replication?

Pinning is synchronous. There has been proposals to allow async tasks (see https://github.com/ipfs/go-ipfs/issues/3114) but it’s not a high priority at the moment. Note: Async pinning won’t actually make pinning any faster.

You’re right, it won’t speed actual pinning, but allows more requests to pin if based on a que by freeing the caller to que more. Provides more “multi-tasking” capability so to speak.

Thank you for the comprehensive answer.