List:Cluster« Previous MessageNext Message »
From:Jonas Oreland Date:November 26 2004 12:20pm
Subject:Re: error 897 and the cluster goes byebye
View as plain text  
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
Thread
error 897 and the cluster goes byebyemartin26 Nov
  • Re: error 897 and the cluster goes byebyeJonas Oreland26 Nov
    • Re: error 897 and the cluster goes byebyeTed Schundler29 Nov
      • Re: error 897 and the cluster goes byebyepekka30 Nov
    • Re: error 897 and the cluster goes byebyeJonas Oreland1 Dec