Shareplex queues were corrupted when the system crashed in spite of setting SP_QUE_SYNC to 1.
Why did SP_QUE_SYNC setting to 1 not help?
SP_QUE_SYNC setting only helps to a certain degree but can not guarantee that there is no corruption when a box crashes.
When SP_QUE_SYNC is set to 1, basically it means that if we tried to do a write to a queue file; it would write either the whole buffer or nothing. This prevents data in any individual file to be corrupted (inserted garbage). The problem is that the queues consist of three files: queue header (information on entire queue), subque header (information on each specific subque), & the actual queue data.
All three files need to match or your queue can be corrupt. This is why we can not completely prevent queue corruption; because there is no way to insure that either all three files get written too or none get written too.
Setting this parameter reduces the chance of queue corruption, but does not guarantee queue corruption.