Hi,
martin@stripped wrote:
> Hi all,
>
> I think I've hit a serious bug with this one, but that's what I've been
> thinking before, so maybe I'm doing something terrible wrong.
it looks like you hit a bug.
897 means "Trying to update primary key", and it should be
impossible to get that error code (via mysqld).
Do you think that you can create a reproducable test case and report
this at http://bugs.mysql.com?
/Jonas
>
> I've got the following setup:
> MySQL 4.1.7, 2 Linuxmachines with each 2GB memory.
> One: clustermanager, cluster, API.
> Two: cluster, API.
>
> When I fire up the cluster with no tables in the cluster, everything works
> allright.
> Then I alter my tables (all 44 of them), and that works fine also.
> Both API's can read data from the tables and insert stuff into them.
> The cluster is capable of transfering that data faster then I'm able to
> change the cursor on my machine to the other xterm.
>
> Everything seems to work like a charm.
> When I want to use life data in the database however I get the following:
>
> DBD::mysql::st execute failed: Got error 897 'Unknown error code' from
> ndbcluster at ./beat.pl line 451.
>
> This is a simple REPLACE statement which will normally be run about a 100
> times as fast as possible.
> After about 20 of those failing attempts crashes and mysqld disconnects
> from the clustermanager.
> My code then starts returning
>
> DBD::mysql::st execute failed: Can't lock file (errno: 4009) at ./beat.pl line 451.
>
> When I shutdown the clustermanager and stop both mysqld's I'm able to
> start everything again while all data seems preserved.
>
> The largest table right now is about 175000 records (6.2MB before altering
> to ndb).
> Below I've got the config.ini and some pieces of errorfiles.
> I haven't included tracelogs as they are quite big (over 1MB).
> The pwbeat06.err is also quite big, as the last errorlines repeat over
> 350000 times in a very short time.
> I hope anyone can make some sense out of this all, I know I can't. :)
> Martin
>
> config.ini ------------------------------------------------------------
> [NDBD DEFAULT]
> NoOfReplicas= 2
> DataDir= /afs2/mysql/4.1.7/mysql-cluster
> IndexMemory = 64MB
> DataMemory = 128MB
> MaxNoOfConcurrentOperations = 100000
> MaxNoOfOrderedIndexes = 1024
> MaxNoOfUniqueHashIndexes = 256
> [NDB_MGMD]
> Hostname= pwbeat06.beat.bnet.nl
> [NDBD]
> HostName= pwbeat06.beat.bnet.nl
> [NDBD]
> HostName= hdbeat05.beat.bnet.nl
> [MYSQLD]
> HostName= pwbeat06.beat.bnet.nl
> [MYSQLD]
> HostName= hdbeat05.beat.bnet.nl
> config.ini ----------------------------------------------------------------
>
>
> ndb_2_error.log -----------------------------------------------------------
> Current byte-offset of file-pointer is: 468
>
>
> Date/Time: Friday 26 November 2004 - 10:44:45
> Type of error: error
> Message: Pointer too large
> Fault ID: 2306
> Problem data: DbtupIndex.cpp
> Object of reference: DBTUP (Line: 136) 0x0000000e
> ProgramName: NDB Kernel
> ProcessID: 28311
> TraceFile: /afs2/mysql/4.1.7/mysql-cluster/ndb_2_trace.log.1
> ***EOM***
> ndb_2_error.log -----------------------------------------------------------
>
>
>
> ndb_3_error.log -----------------------------------------------------------
> Current byte-offset of file-pointer is: 468
>
>
> Date/Time: Friday 26 November 2004 - 10:44:43
> Type of error: error
> Message: Pointer too large
> Fault ID: 2306
> Problem data: DbtupIndex.cpp
> Object of reference: DBTUP (Line: 136) 0x0000000e
> ProgramName: NDB Kernel
> ProcessID: 20241
> TraceFile: /afs2/mysql/4.1.7/mysql-cluster/ndb_3_trace.log.1
> ndb_3_error.log -----------------------------------------------------------
>
>
> pwbeat06.err --------------------------------------------------------------
> 041126 10:45:59 mysqld started
> 041126 10:45:59 InnoDB: Started; log sequence number 0 44416
> /afs1/mysql/4.1.7//libexec/mysqld: ready for connections.
> Version: '4.1.7' socket: '/afs2/mysql/4.1.7/data/mysql.sock' port: 3306 Source
> distribution
> 041126 10:46:10 [ERROR] /afs1/mysql/4.1.7//libexec/mysqld: Can't open file:
> 'programstatus.ndb' (errno: 4009)
> 041126 10:46:22 [ERROR] /afs1/mysql/4.1.7//libexec/mysqld: Can't open file:
> 'programretention.ndb' (errno: 4009)
> 041126 10:46:22 [ERROR] /afs1/mysql/4.1.7//libexec/mysqld: Can't open file:
> 'programretention.ndb' (errno: 4009)
> 041126 10:46:22 [ERROR] /afs1/mysql/4.1.7//libexec/mysqld: Can't open file:
> 'hostretention.ndb' (errno: 4009)
> 041126 10:46:22 [ERROR] /afs1/mysql/4.1.7//libexec/mysqld: Can't open file:
> 'hostretention.ndb' (errno: 4009)
> pwbeat06.err --------------------------------------------------------------
>
>
--
Jonas Oreland, Software Engineer
MySQL AB, www.mysql.com