44# Include with:
55# . ./bash_lib.sh
66
7+ trap save_failure_logs ERR
8+
79bb_log_info () {
810 set +x
911 echo >&1 " INFO: $* "
@@ -437,22 +439,33 @@ upgrade_test_type() {
437439 esac
438440}
439441
440- get_columnstore_logs () {
442+ save_failure_logs () {
443+ trap " " ERR
444+ local logdir=../logs/
445+ local logfile=$logdir /$test_mode .log
446+ mkdir -p $logdir
441447 if [[ $test_mode == " columnstore" ]]; then
442448 bb_log_info " storing Columnstore logs in columnstore_logs"
443449 set +ex
444- # It is done in such a weird way, because Columnstore currently makes its logs hard to read
445- # //TEMP this is fragile and weird (test that /var/log/mariadb/columnstore exist)
446- for f in $( sudo ls /var/log/mariadb/columnstore | xargs) ; do
447- f=/var/log/mariadb/columnstore/$f
448- echo " ----------- $f -----------" >> /home/buildbot/columnstore_logs
449- sudo cat " $f " 1>> /home/buildbot/columnstore_logs 2>&1
450+ for f in $( sudo find /tmp/columnstore_tmp_files /var/log/mariadb/columnstore -type f) ; do
451+ echo " ----------- $f -----------" >> " $logfile "
452+ sudo cat " $f " 1>> " $logfile " 2>&1
450453 done
451- for f in /tmp/columnstore_tmp_files/* ; do
452- echo " ----------- $f -----------" >> /home/buildbot/columnstore_logs
453- sudo cat " $f " | sudo tee -a /home/buildbot/columnstore_logs 2>&1
454+ for s in mariadb.service mcs-controllernode.service mcs-ddlproc.service mcs-dmlproc.service \
455+ mcs-primproc.service
[email protected] ; do 456+ echo " ----------- $s -----------" >> " $logfile "
457+ sudo journalctl -u " $s " | tee -a " $logfile " 2>&1
454458 done
459+ if [ -d /var/lib/columnstore ]; then
460+ tar -Jcvf $logdir /columnstore.tar.bz2 /var/lib/columnstore
461+ fi
455462 fi
463+ echo " ----------- mariadb.service -----------" >> " $logfile "
464+ sudo journalctl -u mariadb.service | tee -a " $logfile " 2>&1
465+ if [ -f " $logfile " ]; then
466+ bzip2 " $logfile "
467+ fi
468+ sudo find /var/lib/systemd/coredump/ -type -f -exec mv {} $logdir \;
456469}
457470
458471check_mariadb_server_and_create_structures () {
@@ -468,10 +481,7 @@ check_mariadb_server_and_create_structures() {
468481 sudo mariadb -e " CREATE PROCEDURE db.p() SELECT * FROM db.v_merge"
469482 sudo mariadb -e " CREATE FUNCTION db.f() RETURNS INT DETERMINISTIC RETURN 1"
470483 if [[ $test_mode == " columnstore" ]]; then
471- if ! sudo mariadb -e " CREATE TABLE db.t_columnstore(a INT, c VARCHAR(8)) ENGINE=ColumnStore; SHOW CREATE TABLE db.t_columnstore; INSERT INTO db.t_columnstore VALUES (1,'foo'),(2,'bar')" ; then
472- get_columnstore_logs
473- exit 1
474- fi
484+ sudo mariadb -e " CREATE TABLE db.t_columnstore(a INT, c VARCHAR(8)) ENGINE=ColumnStore; SHOW CREATE TABLE db.t_columnstore; INSERT INTO db.t_columnstore VALUES (1,'foo'),(2,'bar')"
475485 fi
476486 set +e
477487}
@@ -495,10 +505,7 @@ check_mariadb_server_and_verify_structures() {
495505 sudo mariadb -e " SELECT db.f()"
496506
497507 if [[ $test_mode == " columnstore" ]]; then
498- if ! sudo mariadb -e " SELECT * FROM db.t_columnstore; INSERT INTO db.t_columnstore VALUES (3,'foo'),(4,'bar')" ; then
499- get_columnstore_logs
500- exit 1
501- fi
508+ sudo mariadb -e " SELECT * FROM db.t_columnstore; INSERT INTO db.t_columnstore VALUES (3,'foo'),(4,'bar')"
502509 fi
503510 set +e
504511}
0 commit comments