mariadb/storage/ndb/test/ndbapi
unknown 4c7d6191b6 WL#2868 Fix backup trigger handling
BACKUP previous set up triggers using DICT.
This lead to all kind of trouble.
An smaller alternative to using SUMA for backup
  is to just make BACKUP handle triggers to TUP directly.

This way all triggers will be totally local,
  and error handling is much simpler.

--- old impl.

Start: Master recives GSN_DEFINE_BACKUP_CONF from all participants
Master sends CREATE_TRIG_REQ for all tables to local DICT (dict master)
Master sends START_BACKUP_REQ to all paricipants with trigger ids from DICT
Master sends ALTER_TRIG_REQ (online) to local DICT
Master waits for GCP
Master starts distributed scan
When scan has finished
Master waits for GCP
Master sends DROP_TRIGGER to local DICT
Master sends STOP_BACKUP_REQ to all participants

--- new impl.

Start: Master recives GSN_DEFINE_BACKUP_CONF from all participants
Master sends START_BACKUP_REQ to all paricipants
  Participand sends CREATE_TRIG_REQ for all tables to local TUP
Master waits for GCP
Master starts distributed scan
When scan has finished
Master waits for GCP
Master sends STOP_BACKUP_REQ to all participants
  Participant sends DROP_TRIGGER to local TUP

Changes:
All trigger handling is _local_
 This implies, that abort (e.g due to node failure) can be _local_


fix testBackup test so that it will run successfully with the (now correct)
backup trigger code.


storage/ndb/include/kernel/signaldata/BackupImpl.hpp:
  rework START_BACKUP signals as we no longer need tableId and triggerIds.
storage/ndb/src/common/debugger/signaldata/BackupImpl.cpp:
  START_BACKUP_REQ no longer has tableIds and trigger ids
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
  Use TUP triggers directly.
  
  removes ALTER trigger
  simplifies DROP triggers
  
  changes to node failure handling
  
  changes in signal order
  
  use SlaveData to track slave status.
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
  - remove ALTER_TRIG (now unused)
  - add signalNo to BackupRecord
  - add SlaveData
  - remove dead items from MasterData
  - update prototype of startBackupReply
storage/ndb/src/kernel/blocks/backup/Backup.txt:
  Update signals for new backup code.
storage/ndb/src/kernel/blocks/backup/BackupInit.cpp:
  remove ALTER_TRIG REF and CONF as we no longer use them.
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Add comment about meaning of triggerId
  Add sender BlockNumber parameter to dropTrigger.
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
  for SUBSCRIPTION triggers, make it so that the trigger ids are private to each block.
storage/ndb/test/ndbapi/testBackup.cpp:
  Don't do initial restart, just a restart. This is to avoid cache issues with
  schema versions
storage/ndb/test/src/NdbBackup.cpp:
  Update error insertions.
2006-01-20 15:42:00 +11:00
..
bank wl2723 - ndb opt. nr 2006-01-11 11:35:25 +01:00
bench ndb-wl2325.patch 2005-09-15 11:33:50 +02:00
old_dirs Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
acid.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
acid2.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
adoInsertRecs.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
asyncGenerator.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
benchronja.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
bulk_copy.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
cdrserver.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
celloDb.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
create_all_tabs.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
create_tab.cpp Import ndb varsize 2005-11-07 12:19:28 +01:00
drop_all_tabs.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
flex_bench_mysql.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
flexAsynch.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
flexBench.cpp Import ndb varsize 2005-11-07 12:19:28 +01:00
flexHammer.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
flexScan.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
flexTimedAsynch.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
flexTT.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
index.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
index2.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
initronja.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
InsertRecs.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
interpreterInTup.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
mainAsyncGenerator.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
Makefile.am ndb - post merge fix 2005-12-27 18:47:56 +01:00
msa.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_async1.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_async2.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_user_populate.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_user_transaction.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_user_transaction2.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_user_transaction3.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_user_transaction4.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_user_transaction5.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ndb_user_transaction6.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
restarter.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
restarter2.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
restarts.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ScanFilter.hpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ScanFunctions.hpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
ScanInterpretTest.hpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
size.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
slow_select.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
test_event.cpp WL #2604: Partition Management 2006-01-17 08:40:00 +01:00
test_event_merge.cpp ndb - wl#2972 event merge false by default => change option name 2006-01-13 18:02:43 +01:00
test_event_multi_table.cpp ndb-wl2325.patch 2005-09-15 11:33:50 +02:00
testBackup.cpp WL#2868 Fix backup trigger handling 2006-01-20 15:42:00 +11:00
testBasic.cpp wl2723 - ndb opt. nr 2006-01-11 11:35:25 +01:00
testBasicAsynch.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testBitfield.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testBlobs.cpp Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 2005-06-16 21:39:06 +02:00
testDataBuffers.cpp Merge perch.ndb.mysql.com:/home/jonas/src/50-work 2006-01-13 09:22:02 +01:00
testDeadlock.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testDict.cpp Import ndb varsize 2005-11-07 12:19:28 +01:00
testGrepVerify.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testIndex.cpp Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1 2005-04-26 19:07:13 -07:00
testInterpreter.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testLcp.cpp Import ndb varsize 2005-11-07 12:19:28 +01:00
testMgm.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testNdbApi.cpp wl2723 - ndb opt. nr 2006-01-11 11:35:25 +01:00
testNodeRestart.cpp Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.0 2005-12-13 12:07:36 +01:00
testOIBasic.cpp Import ndb varsize 2005-11-07 12:19:28 +01:00
testOperations.cpp wl2723 - ndb opt. nr 2006-01-11 11:35:25 +01:00
testOrderedIndex.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testPartitioning.cpp Import ndb varsize 2005-11-07 12:19:28 +01:00
testReadPerf.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testRestartGci.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testScan.cpp wl2723 - ndb opt. nr 2006-01-11 11:35:25 +01:00
testScanInterpreter.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testScanPerf.cpp Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb 2005-05-02 13:19:50 +02:00
testSRBank.cpp wl2723 - ndb opt. nr 2006-01-11 11:35:25 +01:00
testSystemRestart.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
testTimeout.cpp Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0 2005-06-14 10:11:22 +02:00
testTransactions.cpp wl2723 - ndb opt. nr 2006-01-11 11:35:25 +01:00
TraceNdbApi.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
userInterface.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00
VerifyNdbApi.cpp Changes to create storage directory for storage engines. 2005-04-26 18:19:54 -07:00