MySQLOnRocksDB/mysql-5.6
forked from facebook/mysql-5.6

Loading…
commit ignores failures returned by flush_batch #60
Closed
mdcallag opened this Issue
· 1 comment
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
flush_batch returns a value but commit ignores it. Errors can come from:
DBImpl::Write -> flush_batch_internal -> flush_batch -> commit
bool commit(THD thd)
{
bool res= false;
thd_binlog_pos(thd, &mysql_log_file_name, &mysql_log_offset,
&mysql_gtid);
flush_batch(thd, true);
/ rollback() will delete snapshot, batch and locks */
rollback();
return res;
}
In my case, RocksDB went into read-only mode after setting bg_error_ and the linkbench client continue to run inserts, only a lot faster, without reporting errors.
$9 = {code_ = rocksdb::Status::kIOError, state_ = 0x7f57170a7000 "3"}
We need to log better when bg_eror_ is set in RocksDB. In this case there was nothing in the MySQL or RocksDB error log.