stonedb icon indicating copy to clipboard operation
stonedb copied to clipboard

bug: Query caught IO exception error

Open haitaoguan opened this issue 1 year ago • 1 comments

Have you read the Contributing Guidelines on issues?

Please confirm if bug report does NOT exists already ?

  • [X] I confirm there is no existing issue for this

Describe the problem

mysql> desc user_clues;
+---------------+---------------------+------+-----+-------------------+-----------------------------+
| Field         | Type                | Null | Key | Default           | Extra                       |
+---------------+---------------------+------+-----+-------------------+-----------------------------+
| id            | bigint(20)          | YES  |     | NULL              |                             |
| oid           | bigint(20) unsigned | NO   | MUL | NULL              |                             |
| uid           | bigint(20) unsigned | NO   |     | NULL              |                             |
| pid           | varchar(50)         | NO   |     | NULL              |                             |
| unfold_date   | timestamp           | YES  | MUL | NULL              |                             |
| transfer_date | timestamp           | YES  | MUL | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| transfer_type | tinyint(4) unsigned | YES  |     | NULL              |                             |
| clue_id       | varchar(50)         | YES  | MUL | NULL              |                             |
| contact       | varchar(100)        | YES  | MUL |                   |                             |
| create_time   | datetime            | NO   |     | CURRENT_TIMESTAMP |                             |
| update_time   | datetime            | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+---------------+---------------------+------+-----+-------------------+-----------------------------+
11 rows in set (5.75 sec)

###tianmu.log
[2023-06-05 06:05:26.529176] [87613] [ERROR] [engine.cpp:972] MSG: Roll back query 'LOAD DELAYED INSERT DATA INTO TABLE db.user_clues'
[2023-06-05 06:05:26.529228] [87613] [INFO] [transaction.cpp:90] MSG: rollback transaction 647d79d900002889.
[2023-06-05 06:05:26.529250] [87613] [INFO] [tianmu_table.cpp:701] MSG: roll back table db../db/user_clues.tianmu
[2023-06-05 06:05:26.529752] [87613] [ERROR] [ha_my_tianmu.cpp:139] MSG: RunLoader Error: Tianmu internal error:I/O operation on ./db/user_clues.tianmu/columns/1/DATA failed with error - Invalid argument
[2023-06-05 06:05:26.632616] [87634] [WARN] [exception.cpp:42] MSG: Exception: I/O operation on ./db/user_clues.tianmu/columns/1/DATA failed with error - Invalid argument.

STACK TRACE BEGIN
        /opt/stonedb57/install/bin/mysqld() [0x996136]
        /opt/stonedb57/install/bin/mysqld(Tianmu::system::Stream::ThrowError(int)+0x34) [0x16865e4]
        /opt/stonedb57/install/bin/mysqld(Tianmu::system::TianmuFile::Seek(long, int)+0x37) [0x1681f17]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::PackInt::PackInt(Tianmu::core::DPN*, Tianmu::core::ObjectId<(Tianmu::core::COORD_TYPE)0, 3, Tianmu::core::object_id_helper::empty>, Tianmu::core::ColumnShare*)+0xf0) [0x17e6940]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::TianmuAttr::Fetch(Tianmu::core::ObjectId<(Tianmu::core::COORD_TYPE)0, 3, Tianmu::core::object_id_helper::empty> const&)+0x9f) [0x16c13df]
        /opt/stonedb57/install/bin/mysqld(std::shared_ptr<Tianmu::core::Pack> Tianmu::core::DataCache::GetOrFetchObject<Tianmu::core::Pack, Tianmu::core::ObjectId<(Tianmu::core::COORD_TYPE)0, 3, Tianmu::core::object_id_helper::empty>, Tianmu::core::TianmuAttr>(Tianmu::core::ObjectId<(Tianmu::core::COORD_TYPE)0, 3, Tianmu::core::object_id_helper::empty> const&, Tianmu::core::TianmuAttr*)+0x5fb) [0x16caf6b]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::TianmuAttr::CopyPackForWrite(unsigned int)+0x531) [0x16cc1a1]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::TianmuAttr::PreparePackForLoad()+0xec) [0x16cc34c]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::TianmuAttr::LoadData(Tianmu::loader::ValueCache*, Tianmu::core::Transaction*)+0x50) [0x16cc3e0]
        /opt/stonedb57/install/bin/mysqld(std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::_Bind<void (Tianmu::core::TianmuAttr::*(Tianmu::core::TianmuAttr*, Tianmu::loader::ValueCache*, Tianmu::core::Transaction*))(Tianmu::loader::ValueCache*, Tianmu::core::Transaction*)>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void> >::_M_invoke(std::_Any_data const&)+0x3f) [0x16311bf]
        /opt/stonedb57/install/bin/mysqld(std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)+0x1f) [0x15bfb7f]
        /lib64/libpthread.so.0(+0x620b) [0x7f410b62e20b]
        /opt/stonedb57/install/bin/mysqld(std::__future_base::_Task_state<std::_Bind<void (Tianmu::core::TianmuAttr::*(Tianmu::core::TianmuAttr*, Tianmu::loader::ValueCache*, Tianmu::core::Transaction*))(Tianmu::loader::ValueCache*, Tianmu::core::Transaction*)>, std::allocator<int>, void ()>::_M_run()+0xf6) [0x1633136]
        /opt/stonedb57/install/bin/mysqld(Tianmu::utils::thread_pool::thread_pool(std::string const&, unsigned long)::{lambda()#1}::operator()() const+0x28d) [0x15c2fed]
        /opt/stonedb57/install/bin/mysqld() [0x19cf5d0]
        /lib64/libpthread.so.0(+0x7ea5) [0x7f410b62fea5]
        /lib64/libc.so.6(clone+0x6d) [0x7f41090e3b0d]
STACK TRACE END

[2023-06-05 06:05:26.639926] [87614] [ERROR] [engine.cpp:972] MSG: Roll back query 'LOAD DELAYED INSERT DATA INTO TABLE db.user_clues'
[2023-06-05 06:05:26.639994] [87614] [INFO] [transaction.cpp:90] MSG: rollback transaction 647d79d90000288a.
[2023-06-05 06:05:26.640006] [87614] [INFO] [tianmu_table.cpp:701] MSG: roll back table db../db/user_clues.tianmu
[2023-06-05 06:05:26.659242] [87614] [WARN] [exception.cpp:42] MSG: Exception: assert failed on m_objs.find(o) == m_objs.end() at memory_handling_policy.cpp:567, msg: [MemoryLeakAssertion].

STACK TRACE BEGIN
        /opt/stonedb57/install/bin/mysqld(Tianmu::common::AssertException::AssertException(char const*, char const*, int, std::string const&)+0x317) [0x17f8c47]
        /opt/stonedb57/install/bin/mysqld() [0x990806]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::PackStr::Destroy()+0xf2) [0x17ef3f2]
        /opt/stonedb57/install/bin/mysqld(std::_Sp_counted_ptr_inplace<Tianmu::core::PackStr, std::allocator<Tianmu::core::PackStr>, (__gnu_cxx::_Lock_policy)2>::_M_dispose()+0x33) [0x16bf2d3]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::TianmuAttr::Rollback()+0x23a) [0x16c56ca]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::TianmuTable::Rollback(Tianmu::common::TX_ID, bool)+0x54) [0x1635a04]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::Transaction::Rollback(THD*, bool)+0xbe) [0x164eebe]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::Engine::Rollback(THD*, bool, bool)+0x87) [0x15d7047]
        /opt/stonedb57/install/bin/mysqld(Tianmu::DBHandler::tianmu_rollback(handlerton*, THD*, bool)+0x25) [0x16528e5]
        /opt/stonedb57/install/bin/mysqld(ha_rollback_low(THD*, bool)+0xef) [0xa8401f]
        /opt/stonedb57/install/bin/mysqld(MYSQL_BIN_LOG::rollback(THD*, bool)+0x28f) [0x1196abf]
        /opt/stonedb57/install/bin/mysqld(ha_rollback_trans(THD*, bool)+0xe1) [0xa84201]
        /opt/stonedb57/install/bin/mysqld(trans_rollback_stmt(THD*)+0x2e) [0x106e06e]
        /opt/stonedb57/install/bin/mysqld(Tianmu::core::Engine::RunLoader(THD*, sql_exchange*, TABLE_LIST*, void*)+0x4b5) [0x15e73c5]
        /opt/stonedb57/install/bin/mysqld(Tianmu::DBHandler::tianmu_load_impl(THD*, sql_exchange*, TABLE_LIST*, void*, char*, int, int&)+0x79) [0x17f6239]
        /opt/stonedb57/install/bin/mysqld(Tianmu::DBHandler::ha_my_tianmu_load(THD*, sql_exchange*, TABLE_LIST*, void*)+0x93) [0x17f6463]
        /opt/stonedb57/install/bin/mysqld(mysql_load(THD*, sql_exchange*, TABLE_LIST*, List<Item>&, List<Item>&, List<Item>&, enum_duplicates, bool)+0x769) [0x1147d89]
        /opt/stonedb57/install/bin/mysqld() [0x15ca833]
        /opt/stonedb57/install/bin/mysqld(std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::_Bind<void (*(unsigned int, std::reference_wrapper<std::vector<std::unique_ptr<char [], std::default_delete<char []> >, std::allocator<std::unique_ptr<char [], std::default_delete<char []> > > > >))(unsigned int, std::vector<std::unique_ptr<char [], std::default_delete<char []> >, std::allocator<std::unique_ptr<char [], std::default_delete<char []> > > >&)>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void> >::_M_invoke(std::_Any_data const&)+0x26) [0x15bf1a6]
        /opt/stonedb57/install/bin/mysqld(std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)+0x1f) [0x15bfb7f]
        /lib64/libpthread.so.0(+0x620b) [0x7f410b62e20b]
        /opt/stonedb57/install/bin/mysqld(std::_Function_handler<void (), Tianmu::utils::thread_pool::add_task<void (&)(unsigned int, std::vector<std::unique_ptr<char [], std::default_delete<char []> >, std::allocator<std::unique_ptr<char [], std::default_delete<char []> > > >&), unsigned int const&, std::reference_wrapper<std::vector<std::unique_ptr<char [], std::default_delete<char []> >, std::allocator<std::unique_ptr<char [], std::default_delete<char []> > > > > >(void (&)(unsigned int, std::vector<std::unique_ptr<char [], std::default_delete<char []> >, std::allocator<std::unique_ptr<char [], std::default_delete<char []> > > >&), unsigned int const&, std::reference_wrapper<std::vector<std::unique_ptr<char [], std::default_delete<char []> >, std::allocator<std::unique_ptr<char []

Expected behavior

No response

How To Reproduce

No response

Environment

./mysqld Ver 5.7.36-StoneDB-v1.0.1 for Linux on x86_64 (build-) build information as follow: Repository address: https://github.com/stoneatom/stonedb.git:stonedb-5.7-dev Branch name: stonedb-5.7-dev Last commit ID: 1f43e44 Last commit time: Date: Wed May 31 17:34:21 2023 +0800 Build time: Date: Wed May 31 11:09:33 UTC 2023

Are you interested in submitting a PR to solve the problem?

  • [X] Yes, I will!

haitaoguan avatar Jun 05 '23 06:06 haitaoguan