SQL Server 2012 Replication - MSrepl_commands growing all set to in progress I'm stuck looking at this problem that we've had since our last restart almost a week ago.

The distribution database is growing and no longer pruning; it appears that everything in the MSdistribution_history are all set to either 3 or 4 (in progress / idle) all the idle report as no replicated transactions are available)

We're now at 261K values in the history table and 195M rows in the repl_commands table

All replication through this distributor goes from one location to up to three different servers, there is currently a maximum of 4 seconds latency across all replication, cant see anything that isn't complete

Obviously running the sp_MSmaximum_cleanup_seqno command returns nothing as there is nothing that is set to be success (status 2)

Does anyone know what might have gone wrong or any possible solutions.

General things:


All replication is transactional without any snapshots
immediate_sync is turned off on all replication
max retention is set to 72 hours
no errors are being reported
there were a few issues when the server came back up where all the jobs retried twice.
The publisher server was patched from 2012_SP2_CU7 to SP3_CU2 and the distributor instance has not yet been patched


We're going to try a fail over to the secondary node tomorrow to see if that will clear it out

I can always manually delete stuff from the repl_commands but I'm highly hesitant to do this.

Any advice or ideas?
So we're working now, I'm not 100% sure which part of this fixed the issue but I'm putting it down for if anyone else has this issue in the future where there doesn't seem a logical reason for the distribution growth.
Our distributor is on a windows failover cluster across two machines along with a Reporting Instance (and a MSDTC).

The issue occurred after a restart where the distributor moved from
server 2 to server 1 running along side reporting(and MSDTC).

After server 2 restart was complete Reporting was moved over to
Server 2.

This is when the issue was noticed.

The Distributor was moved over to Server 2 (Alongside reporting) but this seemed to have no beneficial effect

The Distributor was moved back to Server 1 and MSDTC was moved to server 2 with Reporting
At this point running the sp_MSdistribution_cleanup with a max time of just shy of how long the server had been running for (by 6 hours) and it cleared out everything (Took close to 3 hours to complete but it got there)