0

I am currently having a problem I dont understand. Wherever I look it says mySQL (5.5) / InnoDB doesnt have a table limit.

I wanted to test the InnoDB compression and was about to create an empty copy of an existing table and ran into the following problem.

this one works:

CREATE TABLE `hsc` (
    LOTS OF STUFF
) ENGINE=InnoDB  CHARSET=utf8
PARTITION BY RANGE (pid)
SUBPARTITION BY HASH (cons)
SUBPARTITIONS 2
(PARTITION hsc_p0 VALUES LESS THAN (10000) ,
 PARTITION hsc_p1 VALUES LESS THAN (20000) ,
 PARTITION hsc_p2 VALUES LESS THAN (30000) ,
 PARTITION hsc_p3 VALUES LESS THAN (40000) ,
 PARTITION hsc_p4 VALUES LESS THAN (50000) ,
 PARTITION hsc_p40 VALUES LESS THAN (4000000) );

this one doesn't:

CREATE TABLE `hsc` (
    LOTS OF STUFF
) ENGINE=InnoDB  CHARSET=utf8
PARTITION BY RANGE (pid)
SUBPARTITION BY HASH (cons)
SUBPARTITIONS 2
(PARTITION hsc_p0 VALUES LESS THAN (10000) ,
 PARTITION hsc_p1 VALUES LESS THAN (20000) ,
 PARTITION hsc_p2 VALUES LESS THAN (30000) ,
 PARTITION hsc_p3 VALUES LESS THAN (40000) ,
 PARTITION hsc_p4 VALUES LESS THAN (50000) ,
 PARTITION hsc_p5 VALUES LESS THAN (75000) ,
 PARTITION hsc_p6 VALUES LESS THAN (100000) ,
 PARTITION hsc_p7 VALUES LESS THAN (125000) ,
 PARTITION hsc_p8 VALUES LESS THAN (150000) ,
 PARTITION hsc_p9 VALUES LESS THAN (175000) ,
 PARTITION hsc_p40 VALUES LESS THAN (4000000) );

ERROR 1005 (HY000): Can't create table 'hsc' (errno: 1)

Its reproducable by removing the number of partitions and adding them again. it does not have to do anything with the name of the table as i tried various names. there is also enough empty space on the HDD.

/dev/simfs         230G   26G  192G  12% /var/lib/mysql.mnt

There should be no limit on the partitions

http://dev.mysql.com/doc/refman/5.5/en/partitioning-limitations.html    
Maximum number of partitions.  The maximum possible number of partitions for a given table (that does not use the NDB storage engine) is 1024. This number includes subpartitions.

i have increased both open_files

show variables where variable_name LIKE '%open_files%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| innodb_open_files | 512   |
| open_files_limit  | 1536  |
+-------------------+-------+

No change. Any clues where should I start looking?


UPDATE: the whole thing is running in an openvz environment. i saw in users_beancounters that the numflock was a problem, so i increased it. but the problem still persists.

maybe this helps:

ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 515011
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 515011
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

cat /proc/user_beancounters

Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
      200:  kmemsize                  9309653             13357056             14372700             14790164                    0
            lockedpages                     0                 1008                 2048                 2048                    0
            privvmpages                675424               686528              1048576              1572864                    0
            shmpages                       33                  673                21504                21504                    0
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0
            numproc                        49                   90                  240                  240                    0
            physpages                  243761               246945                    0  9223372036854775807                    0
            vmguarpages                     0                    0              1048576              1048576                    0
            oomguarpages                81672                83305              1048576              1048576                    0
            numtcpsock                      6                    8                  360                  360                    0
            numflock                      175                  188                  512                  512                    8
            numpty                          1                    9                   16                   16                    0
            numsiginfo                      0                   48                  256                  256                    0
            tcpsndbuf                  104640               263912              1720320              2703360                    0
            tcprcvbuf                   98304               131072              1720320              2703360                    0
            othersockbuf                32368                89304              1126080              2097152                    0
            dgramrcvbuf                     0                 2312               262144               262144                    0
            numothersock                   19                   28                  360                  360                    0
            dcachesize                2285052              3624426              3409920              3624960                    0
            numfile                       616                  870                 9312                 9312                    0
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0
            numiptent                      24                   24                  128                  128                    0
Chris
  • 104
  • 2
  • 12

1 Answers1

1

solved the whole thing.

original problem was the numflock in openvz.

the error after i increased the numflock where based on an abandoned file in the mysql data directory.

i drop the table, deleted the remaining files from the table and then it worked.

Chris
  • 104
  • 2
  • 12