2014-07-11 6 views
4

Le code lmdb est obtenu à partir du repo officiel git.lmdb (base de données mappée en mémoire Symas Lightning) ne fonctionne pas sur CentOS

https://gitorious.org/mdb

Il ne fonctionne pas avec mon projet avec le code mdb_env_open retour 38.

Le code de test qui vient avec LMDB ne fonctionne pas non plus.

Le code d'erreur est également 38, le message d'erreur est "Fonction non implémentée".

Le même code compilé sur ubuntu fonctionne parfaitement.

Il existe peu de documentation sur lmdb, je ne trouve même pas ce que cela signifie pour obtenir le code de retour 38, et il n'y a pas de balise correspondante dans stackoverflow.

Un expert?

============================================== ========

Je trouve que c'est à cause du NFS, déplacer la base de données vers un stockage local a résolu ce problème. Mais y a-t-il une solution que je peux utiliser dans le NFS? L'espace de stockage local est trop petit.

Répondre

7

De la première page de la documentation: http://symas.com/mdb/doc/

Ne pas utiliser des bases de données sur les systèmes de fichiers distants LMDB, même entre les processus sur le même hôte. Cela casse flock() sur certains systèmes d'exploitation, peut-être synchro de la mémoire, et certainement de synchronisation entre les programmes sur différents hôtes.

+1

Est-il sûr d'utiliser LMDB sur NFS si vous ouvrez la base de données en lecture seule et que vous n'essayez pas d'acquérir un verrou? –

Questions connexes