RocksDB is great for small transactions (in memory), but if sometimes it is necessary to load big tables during nightly loads:
In such cases, it is mandatory to enable rocksdb_commit_in_the_middle = 1 or rocksdb_bulk_load = 1. But if these loads fail, we do not want to have corrupted data in the tables, nor a loss of data.
START TRANSACTION;
SET
rocksdb_bulk_load = 1,
rocksdb_commit_in_the_middle = 1
FOR
CREATE OR REPLACE TABLE database_name.table_name_MyRocks
AS
SELECT
*
FROM
database_name.table_name_Aria;
COMMIT; // ROLLBACK;
So my question is:
> If the Transaction fails, and a ROLLBACK is applied, will we be able to recover all of the data in the table, as it was previously to the transactions?
> Or would the table get modified, and we would get as a result a table with corrupted data?
Thank you!
Juan Telleria