diff --git a/src/storage/blocksstable/ob_imacro_block_flush_callback.h b/src/storage/blocksstable/ob_imacro_block_flush_callback.h index 709d7a0d84..cdb4f62973 100644 --- a/src/storage/blocksstable/ob_imacro_block_flush_callback.h +++ b/src/storage/blocksstable/ob_imacro_block_flush_callback.h @@ -27,7 +27,7 @@ class ObIMacroBlockFlushCallback public: ObIMacroBlockFlushCallback() {} virtual ~ObIMacroBlockFlushCallback() {} - virtual int write(const ObMacroBlockHandle ¯o_handle, + virtual int write(ObMacroBlockHandle ¯o_handle, const ObLogicMacroBlockId &logic_id, char *buf, const int64_t buf_len, diff --git a/src/storage/ddl/ob_ddl_inc_redo_log_writer.cpp b/src/storage/ddl/ob_ddl_inc_redo_log_writer.cpp index 53f4b4e223..9953fd7119 100644 --- a/src/storage/ddl/ob_ddl_inc_redo_log_writer.cpp +++ b/src/storage/ddl/ob_ddl_inc_redo_log_writer.cpp @@ -711,7 +711,7 @@ void ObDDLIncRedoLogWriterCallback::reset() } int ObDDLIncRedoLogWriterCallback::write( - const ObMacroBlockHandle ¯o_handle, + ObMacroBlockHandle ¯o_handle, const ObLogicMacroBlockId &logic_id, char *buf, const int64_t buf_len, @@ -724,6 +724,8 @@ int ObDDLIncRedoLogWriterCallback::write( } else if (OB_UNLIKELY(!macro_handle.is_valid() || !logic_id.is_valid() || nullptr == buf || row_count <= 0)) { ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid argument", K(ret), K(macro_handle), K(logic_id), KP(buf), K(row_count)); + } else if (OB_FAIL(macro_handle.wait())) { + STORAGE_LOG(WARN, "macro block writer fail to wait io finish", K(ret)); } else { macro_block_id_ = macro_handle.get_macro_id(); redo_info_.table_key_ = table_key_; diff --git a/src/storage/ddl/ob_ddl_inc_redo_log_writer.h b/src/storage/ddl/ob_ddl_inc_redo_log_writer.h index 0c3351ec81..00a3b70e51 100644 --- a/src/storage/ddl/ob_ddl_inc_redo_log_writer.h +++ b/src/storage/ddl/ob_ddl_inc_redo_log_writer.h @@ -129,7 +129,7 @@ public: const transaction::ObTransID &trans_id); void reset(); int write( - const blocksstable::ObMacroBlockHandle ¯o_handle, + blocksstable::ObMacroBlockHandle ¯o_handle, const blocksstable::ObLogicMacroBlockId &logic_id, char *buf, const int64_t buf_len, diff --git a/src/storage/ddl/ob_ddl_redo_log_writer.cpp b/src/storage/ddl/ob_ddl_redo_log_writer.cpp index 8aa9c02504..bb8dc3200f 100644 --- a/src/storage/ddl/ob_ddl_redo_log_writer.cpp +++ b/src/storage/ddl/ob_ddl_redo_log_writer.cpp @@ -1574,7 +1574,7 @@ bool ObDDLRedoLogWriterCallback::is_column_group_info_valid() const return table_key_.is_column_store_sstable() && row_id_offset_ >= 0; } -int ObDDLRedoLogWriterCallback::write(const ObMacroBlockHandle ¯o_handle, +int ObDDLRedoLogWriterCallback::write(ObMacroBlockHandle ¯o_handle, const ObLogicMacroBlockId &logic_id, char *buf, const int64_t buf_len, diff --git a/src/storage/ddl/ob_ddl_redo_log_writer.h b/src/storage/ddl/ob_ddl_redo_log_writer.h index c0ee6a6874..1b171f092a 100644 --- a/src/storage/ddl/ob_ddl_redo_log_writer.h +++ b/src/storage/ddl/ob_ddl_redo_log_writer.h @@ -378,7 +378,7 @@ public: const int64_t row_id_offset = -1); void reset(); int write( - const blocksstable::ObMacroBlockHandle ¯o_handle, + blocksstable::ObMacroBlockHandle ¯o_handle, const blocksstable::ObLogicMacroBlockId &logic_id, char *buf, const int64_t buf_len,