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