1GLITE-LB-BKINDEX(8)           Logging&Bookkeeping          GLITE-LB-BKINDEX(8)
2
3
4

NAME

6       glite-lb-bkindex - dump or rebuild bookkeeping server indices
7
8

SYNOPSIS

10       glite-lb-bkindex [-mrv] [FILE]
11       glite-lb-bkindex [-dmv]
12
13
14

DESCRIPTION

16       The bookkeeping server glite-lb-bkserverd uses database indices to sup‐
17       port various types of user queries efficiently.  glite-lb-bkindex is  a
18       tool for dumping and manipulating the indices.  Both single- and multi‐
19       ple-column indices are supported.
20
21       Due to performance reasons (reindexing may take rather long  time)  the
22       default  invocation  performs only "dry run" - the input is checked and
23       intended actions reported but not really performed.  The option -r  has
24       to be specified to do the real work.
25
26       glite-lb-bkindex  should  not be run while there is a running glite-lb-
27       bkserverd on top of the same database.
28
29
30       By default the L&B server indexes data according to JobId only. Because
31       the  querying capabilities of L&B release 2 were considerably extended,
32       the server refuses to process a  query  which  would  not  utilize  any
33       index.  This prevent overloading the underlying database engine. Conse‐
34       quently, even a trivial query 'give me all my jobs' results in an error
35       in  the default setup  because under certain conditions processing such
36       query may require handling gigabytes of data.
37
38
39       The server administrator can create and modify the set of  indices  and
40       control  the set of supported queries. The description of columns to be
41       indexed is given to glite-lb-bkindex utility  via  FILE  that   follows
42       this syntax (subset of ClassAd syntax):
43
44
45              FILE   ::=  [ JobIndices = { index-description [, index-descrip‐
46              tion]* } ]
47              index-description ::= column-description | list-of-columns
48              list-of-columns ::= { column-description + }
49              column-description    ::=    [ column-type; column-name; prefix-
50              len ? ]
51              column-type ::= type = "user" | type = "system" | type = "time"
52              column-name ::= name = "actual_column_name"
53              prefix-len ::= prefixlen = integer
54
55
56       The  only  top-level attribute JobIndices is a list (possibly empty) of
57       index descriptions. Each index description is either a single column or
58       a  list  of  columns  (where  the  order  is  important). The column is
59       described by mandatory  attributes  type  and  name,  and  an  optional
60       attribute  prefixlen.  Possible values of type are "system" (L&B inter‐
61       nal attributes) "time" ("state entered" timestamps), and  "user"  (user
62       tags).   Currently supported system column names are owner, destination
63       and location.  and valid timestamps are the job states,  i.e.   submit‐
64       ted,  waiting,  ready,  scheduled,  running,  done, cleared, cancelled,
65       aborted.  Names of user tags are arbitrary as long as their  length  is
66       less  than  60 characters and they contain only ASCII printable charac‐
67       ters excluding backtick (`).   The  prefixlen  value  may  be  used  to
68       restrict  indexing  of  columns, which may grow rather long, to a fixed
69       size. This becomes necessary with compound indices as MySQL limits  the
70       total size of index to 250 bytes only.
71
72
73       In the following example the index file contains two indices, the first
74       one on a single system attribute -- <job owner>, the  second  one  com‐
75       posed  from  system  attribute  (job) <destination> and user tag called
76       <experiment number>:
77
78
79              [
80                JobIndices = {
81                  [ type = "system"; name = "owner" ],
82                  {
83                    [ type = "system"; name = "destination";
84                      prefixlen = 100 ],
85                    [ type = "user"; name = "experiment number";
86                      prefixlen = 100 ]
87                  }
88                }
89              ]
90
91

OPTIONS

93       -d, --dump
94              Print current setup on stdout.
95
96
97       -m STRING, --mysql STRING
98              STRING is the database connect string in the form
99
100              USER_NAME/PASSWORD@DB_HOSTNAME:DB_NAME
101
102              It  defaults  to  lbserver/@localhost:lbserver20  (common   with
103              glite-lb-bkserverd).
104
105
106       -r, --really
107              Really perform reindexing.
108
109
110       -R, --remove
111              Remove all indexes from server.
112
113
114       -v, --verbose
115              Increase verbosity.
116
117
118
119

BUGS

121       Please  report  all bugs to CESNET gLite L&B issue tracker available at
122       https://github.com/CESNET/glite-lb/issues
123
124

SEE ALSO

126       glite-lb-purge(1), glite-lb-bkserverd(8)
127
128

AUTHOR

130       EU EGEE, JRA1.
131
132
133
134EU EGEE Project                   April 2008               GLITE-LB-BKINDEX(8)
Impressum