Page 1 of 1
IndexOutOfRangeException: Result set index too big
Posted: Tue 05 Jun 2007 20:34
by birchfld
I have seen :
IndexOutOfRangeException: Result set index too big
at CoreLab.MySql.MySqlDataReader.a(Int32 A_0,String A_1)
this is while the code being executed is:
mySqlDump1.Backup(x);
Please advise.
tia
Posted: Wed 06 Jun 2007 10:55
by Alexey
Please send me a small test project to reproduce the problem. It is
desirable to use 'test' schema objects, otherwise include definition of your own database objects.
Use e-mail address provided in the Readme file.
Do not use third party components.
Posted: Thu 07 Jun 2007 13:02
by birchfld
Alexey wrote:Please send me a small test project to reproduce the problem.
Thanks, but I have not been able to repeat the problem since it originally occurred. I had hoped it was a known issue that you could advise on.
Posted: Fri 08 Jun 2007 12:11
by birchfld
The problem continues, but only very rarely ...
Out of about 100 runs, I got it again:
Error during Backup: System.IndexOutOfRangeException: Result set index too big.
at CoreLab.MySql.MySqlDataReader.a(Int32 A_0, String A_1)
at CoreLab.MySql.MySqlDataReader.GetString(Int32 i)
at CoreLab.MySql.MySqlDump.c(TextWriter A_0)
at CoreLab.MySql.MySqlDump.Backup(TextWriter writer)
at CoreLab.MySql.MySqlDump.Backup(String fileName)
Posted: Mon 11 Jun 2007 08:21
by Alexey
What is the version of your MySQL Server?
Create a test project, which make as many backups as needed to see the error and send it to me.
Posted: Mon 11 Jun 2007 12:18
by birchfld
Alexey,
I don't think making a test project is going to make any difference. I think the key is the environment (read: local load) and table data.
I'm running against a 5.0.42-enterprise
The server is local to the run time, and is actually a live replication slave with many other functions running ... sometimes leading to heavy cpu and ram load.
the database contains:
99 tables, 6,921,660 rows, 2.5GB data
with each table ranging from 0 to 689,174 rows and 16kb to 203mb
This database will soon be doubling in size.
anyways,
here is a simplified version of the code being used:
Code: Select all
databaseConnection.Host = edHost.Text;
databaseConnection.UserId = edUser.Text;
databaseConnection.Password = edPassword.Text;
databaseConnection.Port = (int)edPort.Value;
databaseConnection.Database = cbDatabase.Text;
databaseConnection.Open();
mySqlDump1.Connection = databaseConnection;
mySqlDump1.ExportAll = false;
mySqlDump1.GenerateHeader = true;
LogThis("Backup in progress " + DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString());
this.Update();
DataTable dataTable = databaseConnection.GetSchema("Tables", new String[] { databaseConnection.Database });
foreach (DataRow dataRow in dataTable.Rows)
{
string thissqlname = thishour + "." + dataRow["Name"].ToString() + ".sql";
mySqlDump1.Tables = dataRow["Name"].ToString();
try
{
LogThis("Backup of " + thissqlname + " in progress");
this.Update();
mySqlDump1.Backup(thisOutputFolderHour + thissqlname);
LogThis("Backup of " + thissqlname + " complete");
this.Update();
}
catch (Exception Ex)
{
LogThis("Error during table backup: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString());
this.Update();
MessageBox.Show("Error during Backup: " + Ex);
return;
}
}
Posted: Mon 11 Jun 2007 14:40
by Alexey
OK, we will try to investigate this more detailed...
Posted: Tue 19 Jun 2007 20:51
by birchfld
Have you had any luck identifying a potential cause?
I'm still getting the same errors ... about once every 75 to 150 runs.
But I'm also seeing:
only a couple of times:
Code: Select all
Commands out of sync; You can't run this command now
and this also (only a couple of times)
Code: Select all
System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.String.System.IConvertible.ToInt64(IFormatProvider provider)
at System.Convert.ToInt64(Object value)
at CoreLab.MySql.MySqlDump.c(TextWriter A_0)
at CoreLab.MySql.MySqlDump.Backup(TextWriter writer)
at CoreLab.MySql.MySqlDump.Backup(String fileName)
Posted: Wed 20 Jun 2007 08:14
by Alexey
We have scrutinized this and didn't find any problem.
Make sure that you do not use the connection in other threads during backup.