We have quite a few remote sites and even though we have fairly decent bandwidth to them, the aggregate has a tendency to overload our home base. To work with this we create a BDP (Branch Distribution Point) at each of our locations so that all of the local devices pull their software/files/etc from a local data store rather than coming back to the MotherShip.
Recently, we have had a spate of BDPs that, when we first add that role to them, will get their site, boundaries, etc created succesfully on both the parent and central site, but the packages will get stuck. The first symptom of this is obviously, no packages populating the smspkg<drive>$ folder. Next we are seeing the log item ‘Package <PID> in state Starting’ followed by ‘Package <PID> in state ‘WaitRetry’ in the PeerDPAgent.log. Additionally, no new entries will be seen in the ContentTransferManager.log and the size of the bdpTmpWrkFldr never increases.
After a ton of trial and error including fully removing the BDP role and cleaning out the parent and central site servers of any references to the site, a simpler solution presented. We simply deleted the bdpTmpWrkFldr (might be locked and may require you to disable SMS Agent and reboot in order to get access to delete it) and then restart the SCCM Agent service (or server for that matter)
BADDA-BING suddenly our bits monitor job goes crazy (bitsadmin.exe /monitor /allusers /refresh 1).
Now to move on to the reason we were creating this BDP to begin with, how to prestage packages at remote sites prior to the server becoming a BDP