[Bugs] [Bug 1672480] Bugs Test Module tests failing on s390x

bugzilla at redhat.com bugzilla at redhat.com
Tue Mar 5 15:05:32 UTC 2019


https://bugzilla.redhat.com/show_bug.cgi?id=1672480



--- Comment #57 from Nithya Balachandran <nbalacha at redhat.com> ---
(In reply to abhays from comment #55)
> (In reply to Nithya Balachandran from comment #54)
> > > 
> > > However, the test cases are still failing and only pass if x86 hash values
> > > are provided(Refer to comment#8):-
> > > ./tests/bugs/glusterfs/bug-902610.t
> > > ./tests/bugs/posix/bug-1619720.t
> > 
> > Please provide more information on what changes you tried.
> 
> For tests/bugs/glusterfs/bug-902610.t:-
> In the test case, after the kill_brick function is run, the mkdir $M0/dir1
> doesn't work and hence the get_layout function test fails. So,as a
> workaround we tried not killing the brick and then checked the functionality
> of the test case, after which the dir1 did get created in all the 4 bricks,
> however, the test failed with the following output:-

The mkdir function will fail if the hashed brick of the directory being created
is down. In your case, the change in hashed values means the brick that was
killed is the hashed subvol for the directory. Killing a different brick 
should cause it to succeed.

In any case this is not a feature that we support anymore so I can just remove
the test case.

> Therefore, can these changes be added in the test case with a condition for
> s390x separately?

I do not think we should separate it out like this. The better way would be to
just find 2 bricks that work for both big and little endian.
I will try out your changes on a big endian system and see if this combination
will work there as well.

> 
> Also, We have a few queries on the tests behaviour.
> When a directory or a file gets created, according to me, it should be
> placed in the brick depending on its hash range and value of the
> file/directory.
> However, in the above test, as you can see, if we don't kill the
> bricks{2,3}, the directory gets created in all the bricks{0,1,2,3}.So, does
> it not consider hash values and range at this point or is it something to do
> with mounting FUSE?

The way dht creates files and directories is slightly different.

For files, it calculates the hash and creates it in the subvolume in whose
directory layout range it falls.
For directories, it first tries to create it on the hashed subvol. If for some
reason that fails, it will not be created on the other bricks. In this test,
for s390x, one of the bricks killed was the hashed subvol so mkdir fails. 
The solution here is to make sure the bricks being killed are not the hashed
subvol in either big or little endian systems.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list