diff --git a/src/share/ob_local_device.cpp b/src/share/ob_local_device.cpp index 78ea7fa0cc..a0d2322d83 100644 --- a/src/share/ob_local_device.cpp +++ b/src/share/ob_local_device.cpp @@ -956,11 +956,6 @@ int ObLocalDevice::pwrite( } } - if (OB_SUCC(ret)) { - if (OB_FAIL(this->fsync_block())) { - SHARE_LOG(WARN, "fsync fail", K(ret), K(write_size), K(offset), K(size), KP(buf)); - } - } return ret; } diff --git a/src/storage/tablet/ob_tablet_slog_helper.cpp b/src/storage/tablet/ob_tablet_slog_helper.cpp index e5939181c0..9ff31dd2cc 100644 --- a/src/storage/tablet/ob_tablet_slog_helper.cpp +++ b/src/storage/tablet/ob_tablet_slog_helper.cpp @@ -39,6 +39,8 @@ int ObTabletSlogHelper::write_create_tablet_slog( if (OB_UNLIKELY(!tablet_handle.is_valid())) { ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid args", K(ret), K(tablet_handle)); + } else if (OB_FAIL(THE_IO_DEVICE->fsync_block())) { // make sure that all data or meta written on the macro block is flushed + LOG_WARN("fail to fsync_block", K(ret)); } else { ObCreateTabletLog slog_entry(tablet_handle.get_obj()); ObStorageLogParam log_param; @@ -95,6 +97,8 @@ int ObTabletSlogHelper::write_create_tablet_slog( } if (OB_FAIL(ret)) { + } else if (OB_FAIL(THE_IO_DEVICE->fsync_block())) { // make sure that all data or meta written on the macro block is flushed + LOG_WARN("fail to fsync_block", K(ret)); } else if (OB_FAIL(MTL(ObStorageLogger*)->write_log(param_array))) { LOG_WARN("fail to write slog for batch creating tablet", K(ret), K(param_array)); } else {