I'm still investigating my problem of sqlite3/SGE.
It seems that sqlite3 doesn't work in my shared directory.
I've logged as root on a node of the cluster. The simple following
command fails: (/commun/data/stats2.sqlite doesn't exist)
ssh root@node02
root@node02's password:
[root@node02 ~]# sqlite3 /commun/data/stats2.sqlite 'create table if
not exists timeBeginDB(target text UNIQUE NOT NULL,inserted int);'
Error: database is locked
it works in ~root:
[root@node02 ~]# sqlite3 stats2.sqlite 'create table if not exists
timeBeginDB(target text UNIQUE NOT NULL,inserted int);'
[root@node02 ~]#
I cannot find a resource saying that sqlite doesn't work with NTFS
Pierre
PS: cross posted on SO: http://stackoverflow.com/questions/13525235
Am 22.11.2012 um 17:24 schrieb Pierre Lindenbaum:
I'm trying to run a script that fills a sqlite3 database.
The script creates a lock with `lockfile` , fills the database and
releases the lock.
$cat test.sh
#!/bin/sh
lockfile /commun/data/_tmp.idp448.lock
sqlite3 /commun/data/stats.sqlite "create table if not exists
timeBeginDB(target text UNIQUE NOT NULL,inserted int);"
rm -f /commun/data/_tmp.idp448.lock
whoami
Is "/commun/" shared between all nodes?
yes.
furthermore, *lockfile* is able to create the file
/commun/data/_tmp.idp448.lock
even when the script is called with 'qsub'
the lock file is later deleted with rm -f
only the call to sqlite3 prints an error message.
without qsub the script works without any problem :
[lindenb]$ sh test.sh
lindenb
when qsub is invoked:
$ qsub -cwd -S /bin/sh test.sh
Your job 673 ("test.sh") has been submitted
$ cat test.sh.o673
lindenb
$ cat test.sh.e673
Error: database is locked
which is a sqlite3 error.
Do you have any idea, suggestion of what, on the SGE side, could be the
cause of that problem, this difference of behavior ?
Is the lockfile you define "_tmp.idp448.lock" in any way related to the
database?
no, it's a random name I've created. This file is here to ensure that
only one process is accessing the sqlite3 database.
I'm the only one here playing with the cluster: so nobody can create the
file on open the sqlite database at the very same time.
Maybe the output is not telling the truth.
On the command line it runs local, but if it's submitted on any machine in
the cluster. Also the environment might miss some settings which are
present on the command line.
all the nodes have been installed using 'yum install sqlite3' so I guess
there is nothing to configure.
Thank your for your help.
Pierre
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users