Page 1 of 1

addindextmp not working

Posted: Wed Jun 15, 2005 11:32 am
by scott.gray
I can't build an index because of disk full errors. addindextmp seems to be ignored.

Texis Web Script (Vortex) Copyright (c) 1996-2004 Thunderstone - EPI, Inc.
Commercial Version 4.04.1073572878 of Jan 8, 2004 (alpha-dec-osf4.0-64-64)

rdsweb2% ./updbniall
+ tsql -q set indexspace='/usr2/pub/rds/db/DBIndex'; set addindextmp='/usr3/tmp'; set indexmem=60; set addexp='\alnum{1,5}&=\alnum{1
,5}'; set addexp='\alpha{2}:=\alnum+'; set lstindextmp=1; create metamorph inverted index xmBNI_all on BNI(Art_title\Atitle\Au
thor\Book_author\Book_title\Eabstract\Kw_idx\Srch_idx\Text\Titlesrch\Atype_term\Pubtype\Con_term\Geo_code\Geo_term\Graph_term\Ind_te
rm\Mark_term\Prod_code\Prod_term\Publisher\Trade_name, Date)
200 0: /usr3/tmp

/usr1: write failed, file system is full

/usr1: write failed, file system is full
006 Can't write 0x1FFFF bytes at 0xCB386675 to KDBF file /usr2/pub/rds/db/DBIndex/T24859a.dat: error 28: No space left on device in
the function write_outbuf
000 Update of Metamorph index xmBNI_all failed
+ date +%Y-%m-%d %H:%M:%S
+ echo end indexing BNI 2005-06-15 10:55:04
end indexing BNI 2005-06-15 10:55:04

Here's disk space info. /usr3 clearly has the most available space. /usr3/tmp exists is writable.

rdsweb2% df
Filesystem 512-blocks Used Available Capacity Mounted on
/dev/rz0a 257598 138716 93122 60% /
/proc 0 0 0 100% /proc
/dev/rz0g 8258474 3210596 4222030 44% /usr
/dev/rz0h 22039968 12914712 6921258 66% /usr1
/dev/rz8c 69446602 41231202 21270738 66% /usr2
/dev/rz16c 34500632 739104 30311464 3% /usr3

rdsweb2% ll /usr3
total 3
drwxr-x--- 5 slandsho digisle 512 Mar 15 14:46 bptmp
drwxrwxrwx 5 mosaic system 512 Mar 9 18:28 pub
drwxrwxrwx 4 mosaic system 512 Jun 15 08:54 tmp

addindextmp not working

Posted: Wed Jun 15, 2005 12:26 pm
by Kai
If you're running out of disk space at the final merge (which may be happening here), then the final index is being written to (in indexspace), not a temp file in indextmp. It's still a temporary name (TNNNNa.dat) because it will get renamed to the live file when done. That would explain the KDBF `Can't write...' error pointing at indexspace.

I'm not sure why you'd get `/usr1: write failed, file system is full' messages before that, unless your /usr2 indexspace dir is symlinked to /usr1 (do a df on indexspace).

addindextmp not working

Posted: Wed Jun 15, 2005 12:37 pm
by scott.gray
Temporary files are created in the indexspace directory as soon as the index operation is started.

addindextmp not working

Posted: Fri Jun 17, 2005 10:02 am
by Kai
Yes, since you're updating the index, a temp-name file will be created right away in the indexspace dir: this is for the final merge and will be renamed to the permanent live file when done. Since indexmem is 60, perhaps no temp files are needed and thus none are created (this might also explain the /usr1 messages, if your swap is on that filesystem, as the process may be running out of mem). If you set indexmeter=1, do you see any "Merging to temp file" messages? Try reducing indexmem to 40.