Hi!

>>>>> "Peter" == Peter Zaitsev <[EMAIL PROTECTED]> writes:

Peter> Hello mysql,
Peter> I've recently tried to do a test of mysqld with big tables (>4GB) on
Peter> linux 2.4 mysql 3.23.30

Peter> 1) The strange thing is  even without setting up max_rows  got a
Peter> table to grow for more than 4Gb with insert test. Is this possible ?
Peter> (May be you use special pointers for static rows, there position is
Peter> counted by multiplying an offset by a row size). 

That's right.  

Peter> Anyway as I
Peter> remember I hit 4GB limit then doing the same test in 3.23.29
Peter> GLBC used is 2.1.3 from SUSE distribution.

If the file system doesn't support big files, then mysqld will always
stop at 4G

Peter> 2)Both times (with max_rows=1000000000 and with no maxrows) I got
Peter> mysql to hit some limit.

Peter> drwxrw----   2 mysql    daemon       4096 Jan 11 12:51 .
Peter> drwxr-xr-x  19 mysql    daemon       4096 Jan 11 12:50 ..
Peter> -rw-rw----   1 mysql    daemon   6609670144 Jan 11 13:23 bench1.MYD
Peter> -rw-rw----   1 mysql    daemon   126694400 Jan 11 13:21 bench1.MYI
Peter> -rw-rw----   1 mysql    daemon       8622 Jan 11 12:51 bench1.frm

Peter> mysql was showing the following status:

Peter> ruby:/spylog/db/test # mysqladmin processlist | grep -v Sleep
Peter> 
+----+------+-----------+------+---------+------+--------+------------------------------------------------------------------------------------------------------+
Peter> | Id | User | Host      | db   | Command | Time | State  | Info                 
                                                                                |
Peter> 
+----+------+-----------+------+---------+------+--------+------------------------------------------------------------------------------------------------------+
Peter> | 2  | root | localhost | test | Query   | 224  | update | insert into bench1 
values (31030041,31030041,31030041,'ABCDEFGHIJ'),(31030042,31030042,31030042,'ABC |
Peter> | 6  | root | localhost |      | Query   | 0    |        | show processlist     
                                                                                |
Peter> 
+----+------+-----------+------+---------+------+--------+------------------------------------------------------------------------------------------------------+

Peter> and the query was unable to be killed.

You mean that the insert hanged ?

Can you repeat the test.

Peter> I connected to this process by GDB and looked the followings:

Peter> /spylog/db/test/11303: No such file or directory.
Peter> Attaching to program: /usr/local/mysql/libexec/mysqld, Thread 11303
Peter> 0x8143211 in __libc_nanosleep ()
Peter> (gdb) bt
Peter> #0  0x8143211 in __libc_nanosleep ()
Peter> #1  0x81431ad in __sleep (seconds=60) at ../sysdeps/unix/sysv/linux/sleep.c:82
Peter> #2  0x8101ca1 in my_write (Filedes=9, Buffer=0x820bc01 ' ' <repeats 164 times>, 
Count=164, MyFlags=36) at my_write.c:55

The above can only happen when MySQL gets an error from the operating
system that the disk is full

Peter> well this may look like not enough space on the disk - but really
Peter> there are a lot of space free.

Then the question is why did the file system report the wrong errno number?

Peter> myisamchk afterwards shows the following:

Peter> Checking MyISAM file: bench1.MYI
Peter> Data records: 31031315   Deleted blocks:       0
Peter> myisamchk: warning: Table is marked as crashed
Peter> - check file-size
Peter> myisamchk: error: Size of indexfile is: 126697472        Should be: 637411328
Peter> myisamchk: warning: Size of datafile is: 6609670144       Should be: 6609670095
Peter> - check key delete-chain
Peter> - check record delete-chain
Peter> - check index reference
Peter> - check data record references index: 1
Peter> myisamchk: error: Can't read indexpage from filepos: 209841152

Where you able to repair it?

I have now here a Linux machine with big disks;  I will test big files
within the next 2 days on it!

Regards,
Monty

PS: I think we have solved the bug with table_cache > 256;  I have
    patched bdd for this and if it works we will make a new release
    ASAP!

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to