LFC DB replication tests for LHCb

Database setup

See LFC Streams Replication Tests

LFC

This page is meant to be a work log, nothing more.


15/05/2006 :

1) MV creation now works from @strmtest to @strmtestr1 :


[lxplus068] ~ > sqlplus lcg_lfc_mv_lhcb_ro@strmtestr1
...
SQL> create database link RLS1R1.CERN.CH connect to lcg_lfc_mv_lhcb identified by "1lfc4sc3" using 'rls1r1.cern.ch';

Database link created.

and :

[lxplus068] ~ > sqlplus lcg_lfc_mv_lhcb_ro@strmtestr1
...
SQL> CREATE MATERIALIZED VIEW Cns_file_metadata
BUILD IMMEDIATE
REFRESH START WITH sysdate NEXT sysdate+ 1/24/2
WITH PRIMARY KEY
AS
SELECT * FROM lcg_lfc_mv_lhcb.CNS_FILE_METADATA@rls1r1.cern.ch;

Materialized view created.

2) MV creation script done. Nilo's comments :

  • materialized view logs missing -> REFRESH FAST uses materialized view logs then
  • constraints not needed, but indexes on constraints yes...
  • group the refreshes.


12/05/2006 :

1) Load tool finished. It uses the DIRAC framework to populate the LFC from xxx.dat files.

The script for automatic xxx.dat files creation is :

~slemaitr/public/forMarianne/createDatFiles

Its usage :

./createDatFile --number 40 --dir-number 2 --sub-dir-number 2 --file-number 10 --file /tmp/file.dat --verbose

The files are created are of the form /grid/lhcb/tests/replication_tests_xxx_M/test_dir_xxx/file_xxx.


10/05/2006 :

1) James reinstalled lxb0716, lxb0717 and lxb1540 with Quattor (to be as close as possible to the production setup). Debug LFC RPMs installed on them.

08/05/2006 :

1) LFC RPMs are not compiled in debug mode, that's why the core dump was useless...

2) New RPMs produced. Trying to reproduce the problem.

/afs/cern.ch/user/s/slemaitr/public/forJames/ > ls | sort
lcg-dm-common-1.5.7-2sec.i386.rpm
LFC-client-1.5.7-2sec.i386.rpm
LFC-interfaces-1.5.7-1.i386.rpm
LFC-server-oracle-1.5.7-2sec.i386.rpm


28/04/2006 :

1) lfcdaemon crash reproduced. Core dump enabled this time, but no useful information produced :

 
[root@lxb0716 lfc]# gdb lfcdaemon core.32362
GNU gdb Red Hat Linux (6.3.0.0-1.90rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

Core was generated by `/opt/lcg/bin/lfcdaemon -t 20 -c /opt/lcg/etc/NSCONFIG -l /var/log/lfc/log'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /opt/globus/lib/libglobus_gssapi_gsi_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_gssapi_gsi_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_gss_assist_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_gss_assist_gcc32dbgpthr.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libuuid.so.1...done.
Loaded symbols for /lib/libuuid.so.1
Reading symbols from /usr/lib/oracle/10.1.0.3/client/lib/libclntsh.so.10.1...done.
Loaded symbols for /usr/lib/oracle/10.1.0.3/client/lib/libclntsh.so.10.1
Reading symbols from /lib/tls/libpthread.so.0...done.
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /opt/globus/lib/libglobus_gsi_proxy_core_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_gsi_proxy_core_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_gsi_credential_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_gsi_credential_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_gsi_callback_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_gsi_callback_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_oldgaa_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_oldgaa_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_gsi_cert_utils_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_gsi_cert_utils_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_gsi_sysconfig_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_gsi_sysconfig_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_openssl_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_openssl_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_openssl_error_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_openssl_error_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_proxy_ssl_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_proxy_ssl_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libglobus_common_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libglobus_common_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libssl_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libssl_gcc32dbgpthr.so.0
Reading symbols from /opt/globus/lib/libcrypto_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/globus/lib/libcrypto_gcc32dbgpthr.so.0
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/oracle/10.1.0.3/client/lib/libnnz10.so...done.
Loaded symbols for /usr/lib/oracle/10.1.0.3/client/lib/libnnz10.so
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /usr/lib/oracle/10.1.0.3/client/lib/libociei.so...done.
Loaded symbols for /usr/lib/oracle/10.1.0.3/client/lib/libociei.so
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /lib/libnss_dns.so.2...done.
Loaded symbols for /lib/libnss_dns.so.2
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /opt/lcg/lib/libCsec_plugin_GSI_thread.so...done.
Loaded symbols for /opt/lcg/lib/libCsec_plugin_GSI_thread.so
Reading symbols from /opt/glite/lib/libvomsc_gcc32dbgpthr.so.0...done.
Loaded symbols for /opt/glite/lib/libvomsc_gcc32dbgpthr.so.0
Reading symbols from /usr/lib/libexpat.so.0...done.
Loaded symbols for /usr/lib/libexpat.so.0
Reading symbols from /usr/lib/libstdc++.so.5...done.
Loaded symbols for /usr/lib/libstdc++.so.5
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
#0  0x00000000 in ?? ()
(gdb) frame 0
#0  0x00000000 in ?? ()

2) Materialized Views creation script ON GOING

A few remarks :

  • The primary key is not transfered to the MV. Need to use WITH PRIMARY KEY during MV creation.
  • If no primary key in the original table, WITH ROWID has to be specified.
  • Foreign keys are not propagated, they should be re-created in the MV (or only the index is creates, as the MV is READ-ONLY. See Nilo's comments).
  • Indexes not propagated either. We should re-create them in the MV.
  • REFRESH options : FAST (i.e. from MV log), COMPLETE (i.e. recreate all MV), FORCE (i.e. FAST if possible, otherwise COMPLETE)

3) LFC RPMs built against Oracle 10.2.0.1 and installed on lxb0716.cern.ch (temporary 1.5.6 test version, not released yet).


26/04/2006 :

Meeting with Andrei T., Marianne B., Eva D., Dirk D., Barbara M., Jean-Philippe B., James C., Gian Luca, Sophie L.

Actions :

  • James : put LFC test servers at CERN in Quattor cluster + enable read-only mode in Quattor. DONE
  • Sophie : reproduce crash with core dump. TO BE DONE
  • Sophie : build LFC RPMs with Oracle 10.2.0.1 NOT NEEDED: USE CORRESPONDING VERSION OF Instant Client INSTEAD
  • Sophie/Marianne/Andrei : create load tool using DIRAC data management utilities.DONE
  • Sophie : test with and without last access time update on read-write (Streams + MV).
  • Sophie : test using accounts with different number of entries (1 million, 10 millions, 100 millions). -> see latency compared to number of updates with Streams.
  • Eva : create the 6 Oracle accounts at CERN DONE + enable Streams. DONE
  • Barbara : create the 6 Oracle accounts at CNAF DONE + enable Streams. DONE
  • Eva/Barbara : create database link between CERN and CNAF for materialized views creation
  • Sophie : script to create materialized view DONE -> send it to Barbara
  • Eva/Miguel : take a snapshot of the existing lcg_lfc_lhcb@lcg_lfc data and put it in lcg_lfc_3d_lhcb@strmtest and lcg_lfc_mv_lhcb@strmtest
  • Everybody : keep a work log on the Wiki page. DONE
  • Sophie : create a tool that checks that the last file (and all the files) inserted in the LFC is present in the read-only.
  • Sophie : inform Eva/Barbara every time a test is run.


Before 26/04/2006 :

LFC installation with version 1.5.6.

  • lxb0717.cern.ch (lcg_lfc_3d_lhcb@strmtest) : Streams READ-WRITE source LFC
  • lxb0716.cern.ch (lcg_lfc_mv_lhcb@strmtest) : MV READ-WRITE source LFC
  • lxb1540.cern.ch (lcg_lfc_3d_lhcb_ro@strmtestr1 or lcg_lfc_mv_lhcb_ro@strmtestr1) : Streams/MV target LFC

Very simple tests with Streams and MV showed lfcdaemon crashes. Not clear when and why it happens exactly. It seems to happen when a client was using the LFC at the same time as a replication is triggered.

Dirk's suggestion : it might be due to 10gR1 and 10gR2 interaction -> try to build the RPMs against 10.2.0.1 and see if it happens again. Let's see.


-- SophieLemaitre - 16 May 2006

Edit | Attach | Watch | Print version | History: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r11 - 2006-06-19 - unknown
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LCG All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback