CCDB, Lustre, and SQLite

Did a test where I copied a CCDB SQLite file from the group disk to the volatile disk (Lustre) and from there to a local disk on my Linux box (non-Lustre). I tried the ccdb -i command, and gave the “ls” command inside of that. It failed on Lustre as expected:

CCDB provider unable to connect to sqlite:////volatile/halld/home/marki/ccdb.sqlite. Aborting command. Exception details: (sqlite3.OperationalError) database is locked [SQL: u'SELECT "schemaVersions"."schemaVersion" AS "schemaVersions_schemaVersion", "schemaVersions".id AS "schemaVersions_id" \nFROM "schemaVersions"\n LIMIT ? OFFSET ?'] [parameters: (1, 0)]

but it succeeded from the original location on the group disk and on my local disk. I conclude that a file passing through Lustre during its lifetime does not ruin it. This is inconsistent with Elton’s experience.



Lustre Quotas

Additional information:

Grace period — The period of time (in seconds) within which users are allowed to exceed their soft limit. There are four types of grace periods:

  • user block soft limit
  • user inode soft limit
  • group block soft limit
  • group inode soft limit

The grace periods are applied to all users. The user block soft limit is for all users who are using a blocks quota.

Soft limit — Once you are beyond the soft limit, the quota module begins to time, but you still can write block and inode. When you are always beyond the soft limit and use up your grace time, you get the same result as the hard limit. For inodes and blocks, it is the same. Usually, the soft limit MUST be less than the hard limit; if not, the quota module never triggers the timing. If the soft limit is not needed, leave it as zero (0).

Hard limit — When you are beyond the hard limit, you get -EQUOTA and cannot write inode/block any more. The hard limit is the absolute limit. When a grace period is set, you can exceed the soft limit within the grace period if are under the hard limits.