For non-ACID tables, Hive writes the data to a temporary directory, then deletes the files in the target table, and finally moves the files in the temporary directory to the target table.
If something goes wrong at the last step, Hive will abandon all operations and just print the exception log. But the operational status is success. At this point the temporary directory will be cleared, resulting in data loss.