Merge lp:~patrick-crews/drizzle/bug946810 into lp:~drizzle-trunk/drizzle/development

Proposed by Patrick Crews
Status: Merged
Approved by: Brian Aker
Approved revision: 2521
Merged at revision: 2523
Proposed branch: lp:~patrick-crews/drizzle/bug946810
Merge into: lp:~drizzle-trunk/drizzle/development
Diff against target: 293 lines (+6/-185)
8 files modified
tests/include.am (+6/-3)
tests/kewpie/lib/server_mgmt/drizzled.py (+0/-1)
tests/kewpie/lib/sys_mgmt/codeTree.py (+0/-3)
tests/kewpie/lib/test_mgmt/test_execution.py (+0/-1)
tests/kewpie/randgen/lib/GenTest/Reporter/DrizzleTransactionLog.pm (+0/-172)
tests/lib/server_mgmt/drizzled.py (+0/-1)
tests/lib/sys_mgmt/codeTree.py (+0/-3)
tests/lib/test_mgmt/test_execution.py (+0/-1)
To merge this branch: bzr merge lp:~patrick-crews/drizzle/bug946810
Reviewer Review Type Date Requested Status
Drizzle Merge Team Pending
Review via email: mp+95829@code.launchpad.net

Description of the change

This fixes lp:946810

With the removal of the transaction log plugin, we now need to make the transaction log reader utility, drizzletrx, an optional rather than required part of the tree.

To post a comment you must log in.
lp:~patrick-crews/drizzle/bug946810 updated
2521. By Patrick Crews

Update include.am to include proper file name

2522. By Patrick Crews

Remove further reference to transaction log and related tools in test code (randgen + kewpie/dbqp)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/include.am'
2--- tests/include.am 2012-02-20 22:04:21 +0000
3+++ tests/include.am 2012-03-05 14:34:35 +0000
4@@ -63,7 +63,7 @@
5 --testdir=${top_srcdir}/tests \
6 --workdir=${top_srcdir}/tests/workdir
7
8-TEST_RUN_QP= $(PYTHON) $(top_srcdir)/tests/kewpie/qp.py \
9+TEST_RUN_QP= $(PYTHON) $(top_srcdir)/tests/kewpie/kewpie.py \
10 --top-srcdir=${top_srcdir} \
11 --top-builddir=${top_builddir} \
12 --reorder \
13@@ -164,9 +164,12 @@
14 .PHONY: test
15 .PHONY: test-all
16 .PHONY: test-big
17+.PHONY: test-crashme
18 .PHONY: test-drizzle
19 .PHONY: test-dbqp
20+.PHONY: test-qp
21 .PHONY: test-plugins
22+.PHONY: test-randgen
23
24 # Target 'test' will run the regression test suite using the built server.
25 #
26@@ -220,13 +223,13 @@
27 $(TEST_RUN_DBQP) $(TEST_RUN_EXTRA_OPTIONS) --fast --force --suite=$(NORMAL_TESTS)
28
29 test-randgen-dbqp: tests/var/drizzle
30- $(TEST_RUN_DBQP_MODE) --mode=randgen --suite=main,randgen_trxLog
31+ $(TEST_RUN_DBQP_MODE) --mode=randgen --suite=main
32
33 test-qp: tests/var/drizzle
34 $(TEST_RUN_QP) $(TEST_RUN_EXTRA_OPTIONS) --mode=dtr --fast --force --suite=$(NORMAL_TESTS)
35
36 test-randgen-all: tests/var/drizzle
37- $(TEST_RUN_QP_MODE) --suite=randgen_basic,randgen_trxLog,randgen_innoTrxLog,randgen_slavePlugin --force
38+ $(TEST_RUN_QP_MODE) --suite=randgen_basic,randgen_innoTrxLog,randgen_slavePlugin --force
39
40 test-randgen: tests/var/drizzle
41 $(TEST_RUN_QP_MODE) --suite=randgen_basic,randgen_innoTrxLog --force
42
43=== modified file 'tests/kewpie/lib/server_mgmt/drizzled.py'
44--- tests/kewpie/lib/server_mgmt/drizzled.py 2012-02-09 02:28:38 +0000
45+++ tests/kewpie/lib/server_mgmt/drizzled.py 2012-03-05 14:34:35 +0000
46@@ -61,7 +61,6 @@
47 self.server_path = self.code_tree.drizzle_server
48 self.drizzle_client_path = self.code_tree.drizzle_client
49 self.schemawriter = self.code_tree.schemawriter
50- self.trx_reader = self.code_tree.trx_reader
51
52 # Get our ports
53 self.port_block = self.system_manager.port_manager.get_port_block( self.name
54
55=== modified file 'tests/kewpie/lib/sys_mgmt/codeTree.py'
56--- tests/kewpie/lib/sys_mgmt/codeTree.py 2012-02-09 02:28:38 +0000
57+++ tests/kewpie/lib/sys_mgmt/codeTree.py 2012-03-05 14:34:35 +0000
58@@ -104,9 +104,6 @@
59 self.drizzletest = self.system_manager.find_path([os.path.join(self.clientbindir,
60 'drizzletest')])
61
62- self.trx_reader = self.system_manager.find_path([os.path.join(self.basedir,
63- 'plugin/transaction_log/utilities/drizzletrx')])
64-
65 self.server_version_string = None
66 self.server_executable = None
67 self.server_version = None
68
69=== modified file 'tests/kewpie/lib/test_mgmt/test_execution.py'
70--- tests/kewpie/lib/test_mgmt/test_execution.py 2011-12-05 18:56:39 +0000
71+++ tests/kewpie/lib/test_mgmt/test_execution.py 2012-03-05 14:34:35 +0000
72@@ -273,7 +273,6 @@
73 , 'DRIZZLE': "%s -uroot -p%d" %( self.master_server.drizzle_client
74 , self.master_server.master_port)
75 , 'DRIZZLE_BASEDIR' : self.system_manager.code_manager.code_trees['drizzle'][0].basedir
76- , 'DRIZZLE_TRX_READER' : self.master_server.trx_reader
77 , 'DRIZZLE_TEST_WORKDIR' : self.system_manager.workdir
78 , 'SQLBENCH_DIR' : os.path.join( self.system_manager.testdir
79 , 'sql-bench')
80
81=== removed file 'tests/kewpie/randgen/lib/GenTest/Reporter/DrizzleTransactionLog.pm'
82--- tests/kewpie/randgen/lib/GenTest/Reporter/DrizzleTransactionLog.pm 2011-10-05 20:26:34 +0000
83+++ tests/kewpie/randgen/lib/GenTest/Reporter/DrizzleTransactionLog.pm 1970-01-01 00:00:00 +0000
84@@ -1,172 +0,0 @@
85-# Copyright (C) 2008-2009 Sun Microsystems, Inc. All rights reserved.
86-# Use is subject to license terms.
87-#
88-# This program is free software; you can redistribute it and/or modify
89-# it under the terms of the GNU General Public License as published by
90-# the Free Software Foundation; version 2 of the License.
91-#
92-# This program is distributed in the hope that it will be useful, but
93-# WITHOUT ANY WARRANTY; without even the implied warranty of
94-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
95-# General Public License for more details.
96-#
97-# You should have received a copy of the GNU General Public License
98-# along with this program; if not, write to the Free Software
99-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
100-# USA
101-
102-package GenTest::Reporter::DrizzleTransactionLog;
103-
104-require Exporter;
105-@ISA = qw(GenTest::Reporter);
106-
107-use strict;
108-use DBI;
109-use GenTest;
110-use GenTest::Constants;
111-use GenTest::Reporter;
112-use Data::Dumper;
113-use IPC::Open2;
114-use IPC::Open3;
115-use File::Copy;
116-
117-use constant SERVER1_FILE_NAME => 0;
118-use constant SERVER2_FILE_NAME => 1;
119-
120-sub report
121- {
122- my $reporter = shift;
123- my $main_port;
124- my $validator_port;
125- my $basedir ;
126-
127- # do some setup and whatnot
128- if (exists $ENV{'MASTER_MYPORT'})
129- {
130- $main_port = $ENV{'MASTER_MYPORT'};
131- }
132- else
133- {
134- $main_port = '9306';
135- }
136- if (exists $ENV{'BOT0_S1'})
137- {
138- $validator_port = $ENV{'BOT0_S1'};
139- }
140- else
141- {
142- $validator_port = '9307';
143- }
144- if (exists $ENV{'DRIZZLE_BASEDIR'})
145- {
146- $basedir = $ENV{'DRIZZLE_BASEDIR'};
147- }
148- else
149- {
150- $basedir= $reporter->serverVariable('basedir');
151- }
152- my $drizzledump = $basedir.'/client/drizzledump' ;
153- my $drizzle_client = $basedir.'/client/drizzle' ;
154- my $transaction_reader;
155- if (exists $ENV{'DRIZZLE_TRX_READER'})
156- {
157- $transaction_reader = $ENV{'DRIZZLE_TRX_READER'}
158- }
159- elsif (-e $basedir.'/drizzled/message/transaction_reader')
160- {
161- $transaction_reader = $basedir.'/drizzled/message/transaction_reader';
162- }
163- else
164- {
165- $transaction_reader = $basedir.'/plugin/transaction_log/utilities/drizzletrx' ;
166- }
167-
168- # transaction log location can vary depending on how we start the server
169- # we really only account for test-run and drizzle-automation starts
170- my $transaction_log = '';
171- if (-e $basedir.'/var/local/transaction.log')
172- {
173- $transaction_log = $basedir.'/var/local/transaction.log' ;
174- }
175- elsif (-e $basedir.'/tests/workdir/bot0/s0/var/master-data/local/transaction.log')
176- {
177- $transaction_log = $basedir.'/tests/workdir/bot0/s0/var/master-data/local/transaction.log' ;
178- }
179- else
180- {
181- $transaction_log = $basedir.'/tests/var/master-data/local/transaction.log' ;
182- }
183- my $transaction_log_copy = tmpdir()."/translog_".$$."_.log" ;
184- copy($transaction_log, $transaction_log_copy);
185-
186-
187- # We now attempt to replicate from the transaction log
188- # We call transaction_reader and send the output
189- # via the drizzle client to the validation server (slave)
190- my $transaction_log_sql_file = tmpdir()."/translog_".$$."_.sql" ;
191- say("transaction_log output file: $transaction_log_sql_file");
192- say("$transaction_reader -uroot $transaction_log > $transaction_log_sql_file");
193- system("$transaction_reader -uroot $transaction_log > $transaction_log_sql_file") ;
194- say("Replicating from transaction_log output...");
195- my $rpl_command = "$drizzle_client --host=127.0.0.1 --port=$validator_port --user=root test < $transaction_log_sql_file";
196- say ("$rpl_command");
197- my $drizzle_rpl_result = system($rpl_command) ;
198- return STATUS_UNKNOWN_ERROR if $drizzle_rpl_result > 0 ;
199-
200-
201- say("Validating replication via dumpfile compare...");
202- my @files;
203- my @ports = ($main_port, $validator_port);
204-
205- foreach my $port_id (0..1)
206- {
207- $files[$port_id] = tmpdir()."/translog_rpl_dump_".$$."_".$ports[$port_id].".sql";
208- say("$files[$port_id]");
209- say("$drizzledump --compact --skip-extended-insert --host=127.0.0.1 --port=$ports[$port_id] --user=root test >$files[$port_id]");
210- my $drizzledump_result = system("$drizzledump --compact --skip-extended-insert --host=127.0.0.1 --port=$ports[$port_id] --user=root test >$files[$port_id]");
211- # disable pipe to 'sort' from drizzledump call above
212- #| sort > $files[$port_id]");
213- return STATUS_UNKNOWN_ERROR if $drizzledump_result > 0;
214- }
215- say ("Executing diff --unified $files[SERVER1_FILE_NAME] $files[SERVER2_FILE_NAME]");
216- my $diff_result = system("diff --unified $files[SERVER1_FILE_NAME] $files[SERVER2_FILE_NAME]");
217- $diff_result = $diff_result >> 8;
218- say ("Cleaning up validation server...");
219- system("$drizzle_client --host=127.0.0.1 --port=$validator_port --user=root -e 'DROP SCHEMA test'");
220-
221- say ("Resetting validation server...");
222- my $create_schema_result = system("$drizzle_client --host=127.0.0.1 --port=$validator_port --user=root -e 'CREATE SCHEMA test'");
223- say("$create_schema_result");
224-
225- return STATUS_UNKNOWN_ERROR if $diff_result > 1;
226-
227- if ($diff_result == 1)
228- {
229- say("Differences between the two servers were found after comparing dumpfiles");
230- say("diff command: diff --unified $files[SERVER1_FILE_NAME] $files[SERVER2_FILE_NAME]");
231- say("Master dumpfile: $files[SERVER1_FILE_NAME]");
232- say("Slave dumpfile: $files[SERVER2_FILE_NAME]");
233- say("transaction_log output file: $transaction_log_sql_file");
234- say("Transaction log: $transaction_log_copy");
235- return STATUS_REPLICATION_FAILURE;
236- }
237- else
238- {
239- foreach my $file (@files)
240- {
241- unlink($file);
242- }
243- unlink($transaction_log_sql_file);
244- unlink($transaction_log_copy);
245- return STATUS_OK;
246- }
247-
248- }
249-
250-
251-
252-sub type {
253- return REPORTER_TYPE_ALWAYS;
254-}
255-
256-1;
257
258=== modified file 'tests/lib/server_mgmt/drizzled.py'
259--- tests/lib/server_mgmt/drizzled.py 2011-07-26 19:34:17 +0000
260+++ tests/lib/server_mgmt/drizzled.py 2012-03-05 14:34:35 +0000
261@@ -60,7 +60,6 @@
262 self.server_path = self.code_tree.drizzle_server
263 self.drizzle_client_path = self.code_tree.drizzle_client
264 self.schemawriter = self.code_tree.schemawriter
265- self.trx_reader = self.code_tree.trx_reader
266
267 # Get our ports
268 self.port_block = self.system_manager.port_manager.get_port_block( self.name
269
270=== modified file 'tests/lib/sys_mgmt/codeTree.py'
271--- tests/lib/sys_mgmt/codeTree.py 2011-07-26 19:30:09 +0000
272+++ tests/lib/sys_mgmt/codeTree.py 2012-03-05 14:34:35 +0000
273@@ -99,9 +99,6 @@
274 self.drizzletest = self.system_manager.find_path([os.path.join(self.clientbindir,
275 'drizzletest')])
276
277- self.trx_reader = self.system_manager.find_path([os.path.join(self.basedir,
278- 'plugin/transaction_log/utilities/drizzletrx')])
279-
280 self.server_version_string = None
281 self.server_executable = None
282 self.server_version = None
283
284=== modified file 'tests/lib/test_mgmt/test_execution.py'
285--- tests/lib/test_mgmt/test_execution.py 2011-08-15 18:44:12 +0000
286+++ tests/lib/test_mgmt/test_execution.py 2012-03-05 14:34:35 +0000
287@@ -265,7 +265,6 @@
288 , 'DRIZZLE': "%s -uroot -p%d" %( self.master_server.drizzle_client
289 , self.master_server.master_port)
290 , 'DRIZZLE_BASEDIR' : self.system_manager.code_manager.code_trees['drizzle'][0].basedir
291- , 'DRIZZLE_TRX_READER' : self.master_server.trx_reader
292 , 'DRIZZLE_TEST_WORKDIR' : self.system_manager.workdir
293 }
294