Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix fd out of range error for WSfile
Summary: When mysys try to find filename from its fd, for WSFiles, its data isn't stored in FileInfoVector, thus in my_filename(), it will return "<fd out of range>", which is very confusing. The change is to fetch WSFile name during my_filename() by checking fd Test Plan: CI Before: RuntimeError: CopyReason.OLM copy failed with exit status 2 Error: mysqldump: Got error: 3: Error writing file '<fd out of range>' (OS errno 5 - Input/output error) when executing 'SELECT INTO OUTFILE' After: RuntimeError: CopyReason.OLM copy failed with exit status 2 Error: mysqldump: Got error: 3: Error writing file 'ws://olm/0/1709957685.8442662/mysql.replicaset.b2852/data.db8317960b/xid_map.txt' (OS errno 5 - Input/output error) when executing 'SELECT INTO OUTFILE' mytest sql_wsenv.select_into_outfile_error_wsenv --sql-wsenv ``` worker[1] [SQL WSEnv] Setting mysqld config: worker[1] sql_wsenv_tenant=myrocks_automation worker[1] sql_wsenv_oncall=mysql_eng_poc worker[1] sql_wsenv_uri_prefix=ws:// worker[1] sql_wsenv_lib_name=librocks_object_factory.so worker[1] sql_wsenv_mtr_path=ws://ws.flash.ldc1validation1/mysql/1712210262/devvm12268.ftw0.facebook.com/8.0-Debug/sql_wsenv.select_into_outfile_error_wsenv-innodb worker[1] [SQL WSEnv] mkdir 'ws://ws.flash.ldc1validation1/mysql/1712210262/devvm12268.ftw0.facebook.com/8.0-Debug/sql_wsenv.select_into_outfile_error_wsenv-innodb' worker[1] [SQL WSEnv] mysqld.1: worker[1] sql_wsenv_tenant=myrocks_automation worker[1] sql_wsenv_oncall=mysql_eng_poc worker[1] sql_wsenv_uri_prefix=ws:// worker[1] sql_wsenv_lib_name=librocks_object_factory.so [ 33%] sql_wsenv.select_into_outfile_error_wsenv 'innodb' [ pass ] 9844 worker[1] [SQL WSEnv] Removing 'ws://ws.flash.ldc1validation1/mysql/1712210262/devvm12268.ftw0.facebook.com/8.0-Debug/sql_wsenv.select_into_outfile_error_wsenv-rocksdb' wscli rmr blocked for this path! Contact WS for more information xargs: wscli: exited with status 255; aborting worker[1] [SQL WSEnv] Setting mysqld config: worker[1] sql_wsenv_tenant=myrocks_automation worker[1] sql_wsenv_oncall=mysql_eng_poc worker[1] sql_wsenv_uri_prefix=ws:// worker[1] sql_wsenv_lib_name=librocks_object_factory.so worker[1] sql_wsenv_mtr_path=ws://ws.flash.ldc1validation1/mysql/1712210262/devvm12268.ftw0.facebook.com/8.0-Debug/sql_wsenv.select_into_outfile_error_wsenv-rocksdb worker[1] [SQL WSEnv] mkdir 'ws://ws.flash.ldc1validation1/mysql/1712210262/devvm12268.ftw0.facebook.com/8.0-Debug/sql_wsenv.select_into_outfile_error_wsenv-rocksdb' worker[1] [SQL WSEnv] mysqld.1: worker[1] sql_wsenv_tenant=myrocks_automation worker[1] sql_wsenv_oncall=mysql_eng_poc worker[1] sql_wsenv_uri_prefix=ws:// worker[1] sql_wsenv_lib_name=librocks_object_factory.so [ 66%] sql_wsenv.select_into_outfile_error_wsenv 'rocksdb' [ pass ] 10635 [100%] shutdown_report [ pass ] ------------------------------------------------------------------------------ ``` Reviewers: saumitr, #mysql_eng Reviewed By: saumitr Subscribers: saumitr Differential Revision: https://phabricator.intern.facebook.com/D54728856
- Loading branch information