| Bug #33553 | getEvent() fails on the first two event entries returned by listEvents() | ||
|---|---|---|---|
| Submitted: | 28 Dec 2007 14:54 | Modified: | 28 Dec 2007 16:42 |
| Reporter: | Hartmut Holzgraefe | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Cluster: NDB API | Severity: | S3 (Non-critical) |
| Version: | mysql-5.1-telco-6.3 | OS: | Linux |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | ndb-6.3.6 | ||
[28 Dec 2007 14:54]
Hartmut Holzgraefe
[28 Dec 2007 16:36]
Hartmut Holzgraefe
To reproduce:
- start a fresh cluster with binary logging enabled on at least one mysqld
- create two test tables, one simple, one with a blob:
CREATE TABLE t1(i int primary key) engine=ndb;
CREATE TABLE t2(i int primary key, b blob) engine=ndb;
- compile the example program from the "Files" section:
./configure --with-mysql=/mysql/install/prefix
make
./ndb_show_events
- the binary will use listEvents() to get and print a list of events:
1: REPL$mysql/ndb_schema
2: NDB$BLOBEVENT_REPL$mysql/ndb_schema_3
3: NDB$BLOBEVENT_REPL$test/t2_1
4: REPL$test/t2
5: REPL$mysql/ndb_apply_status
6: REPL$test/t1
Event number for details, [ENTER] to reload, Q to quit
- entries 1, 2 and 5 are related to replication,
entry 6 is for t1,
entries 4 and 3 are for t2
(funny order, isn't it? this is how listEvents() returns them ...)
- on entry 1 you'll get a "No such table existed (723)" error on getEvent("REPL$mysql/ndb_schema")
- on entries 2 and 3 getEvent() will fail with:
ndb_show_events: DictCache.cpp:161: NdbTableImpl* GlobalDictCache::get(const char*, int*): Assertion `! is_ndb_blob_table(name)' failed.
Aborted
- entries 4 to 6 will produce proper event detail information
[28 Dec 2007 16:40]
Hartmut Holzgraefe
test tool source project
Attachment: ndb_show_events-0.1.tar.gz (application/x-gzip, text), 300.52 KiB.
[28 Dec 2007 17:58]
Hartmut Holzgraefe
Addition: shouldn't getEvent() fail with "Event not found (4710)" instead of "No such table existed (723)"?
