mogilefsd cannot see mogstored's running

Mark Smith junior at danga.com
Fri Jul 15 15:28:10 PDT 2005


> I was running mogstored as root... but just to test I also ran it as
> my mogile user and chown'd the directory.  I can perform all the
> making and removing that I want without a problem.

Okay, good to know that it's not a permissions problem.

> When I try to curl a file, the only ones that get written successfully
> are ones at the root directory. When I try to curl a file to a nested
> directory that doesn't exist I get:
>  
> system error: Unable to create file (error = Invalid argument, path =
> /var/mogdata//dev2/0, file = dmotd2.txt, fd = -1 (Error obtaining link
> info: No such file or directory))

This error message is from the old code.  I cannot help you unless you use
the latest code...

> When I try to install the latest Perlbal code (from public CVS), I get
> to make install when it dies :
> 
> [root at centos perlbal]# make test
> PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
> "test_harness(0, 'blib/l                         ib', 'blib/arch')"
> t/*.t
> t/00-use............ok
> t/10-testharness....ok
> t/15-webserver......ok
> t/20-put............ok 18/0epoll() returned fd 13 w/ state 1 for which
> we have no mappi                         ng.  removing.
> t/20-put............ok 27/0epoll() returned fd 13 w/ state 1 for which
> we have no mappi                         ng.  removing.
> #     Failed test (t/20-put.t at line 98)
> t/20-put............NOK 28#     Failed test (t/20-put.t at line 99)
> t/20-put............NOK 29epoll() returned fd 13 w/ state 1 for which
> we have no mappin                         g.  removing.
> #     Failed test (t/20-put.t at line 103)
> t/20-put............ok 34/0# Looks like you failed 3 tests of 34.
> t/20-put............dubious
>         Test returned status 3 (wstat 768, 0x300)
> DIED. FAILED tests 28-30
>         Failed 3/34 tests, 91.18% okay
> Failed Test Stat Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------
> t/20-put.t     3   768    34    3   8.82%  28-30
> Failed 1/4 test scripts, 75.00% okay. 3/43 subtests failed, 93.02% okay.
> make: *** [test_dynamic] Error 2
> 
> Again, I am running Centos 4.1 i386 on dual Xeons (previously was
> getting epoll issues on 386_64 but they went away on i386).

I don't have a clue what a Centos is.  If it's a type of Unix, then it
should work just fine.  I don't believe we do any dependence on Linux in
Perlbal anymore?  (Sendfile?  But that's not being called in this case.)

It's not creating directories, you say.  So perhaps there's something amiss
with that particular functionality.  What happens if you do this:

# perl -MFile::Path -e 'File::Path::mkpath("/var/mogdata/dev1/test/path", 0, 0755) or die "$!";'

Run that as root or whatever you run mogstored as.  Then, see if it created
the test path under the dev1 directory?  Otherwise, is it giving an error?

Perlbal uses that particular call to actually create directories.  If
that's failing, that would explain it.  If it succeeds, we'll have to try
something else... :)

--
Junior (aka Mark Smith)
junior at danga.com

Software Engineer
Six Apart / Danga Interactive


More information about the mogilefs mailing list