In normal SQL operations, whenever a change is made to a row in the table, any corresponding update to secondary indexes or join indexes happens immediately. MultiLoad does not work that way.
Instead, as table rows are updated, any necessary updates for NUSIs are logged to the work table. Each AMP applies the NUSI updates only after all table updates are complete. So if you abort in the middle of the Apply phase, the NUSIs will not be consistent with the table.
RELEASE MLOAD IN APPLY is intended to be a recovery of last resort and should not be normal practice. Some changes (but not necessarily all) will have already been applied to the table, and cannot be rolled back. Any NUSIs must be explicitly dropped.
↧