rengolin/HPCC-Platform — pull request #5 by rengolin (2012-11-09 14:16:50+00:00)
Title: HPCC-8050 RemoveEntry as delayed delete

After the fourth attempt failed, I decided to postpone the internal re-factory and focus on getting removal on transactions.

The current request is incomplete, as that it only deal with logical removal, not physical. But, since the functions are similar and DelayedDelete can cope with both physical and logical removal, there shouldn't be many problems for the physical part.

I've added some tests in daregress, will add more and when physical deletion is complete, I'll add them to the regression suite. Please, note that, as usual with transaction refactories, I can't guarantee that the actions will be much safer than they already are in case of disaster. We're just not there yet.

The main problem (that I was trying to avoid and failed), is that removal of files is an unwritten contract between the transaction, the files/superfiles and the directory, that must happen on a very special chain of events, or deletion simply won't occur. For that reason, I left doRemove* inside directories and haven't changed the internal workings so far.

Since the bug is to get them into transactions, that can be left for later. Once the remove physical is in and tested, I'll raise a real pull request against HPCC's master, hopefully, today.

Signed-off-by: Renato Golin