Camelia, the Perl 6 bug

IRC log for #gluster-dev, 2012-12-03

| Channels | #gluster-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:57 maxiz joined #gluster-dev
02:18 samkottler joined #gluster-dev
02:18 samkottler joined #gluster-dev
02:19 samkottler joined #gluster-dev
02:21 samkottler joined #gluster-dev
02:25 sunus joined #gluster-dev
02:37 bala joined #gluster-dev
02:58 bharata joined #gluster-dev
03:39 nick5 joined #gluster-dev
03:40 nick5 joined #gluster-dev
03:41 kp joined #gluster-dev
04:41 sripathi joined #gluster-dev
04:54 hagarth joined #gluster-dev
05:22 bulde joined #gluster-dev
05:45 sripathi joined #gluster-dev
05:53 bharata joined #gluster-dev
06:11 raghu joined #gluster-dev
06:22 bala joined #gluster-dev
06:34 mohankumar joined #gluster-dev
06:50 nick5 joined #gluster-dev
06:52 bharata joined #gluster-dev
07:08 quillo joined #gluster-dev
07:10 inodb_ joined #gluster-dev
07:22 sripathi joined #gluster-dev
07:48 inodb joined #gluster-dev
08:06 shireesh joined #gluster-dev
08:24 lkoranda joined #gluster-dev
08:43 mdarade1 joined #gluster-dev
09:02 bulde1 joined #gluster-dev
09:21 gbrand_ joined #gluster-dev
09:22 yliu joined #gluster-dev
09:29 sripathi joined #gluster-dev
09:49 sripathi joined #gluster-dev
10:10 harshpb joined #gluster-dev
10:22 sripathi joined #gluster-dev
10:46 bulde joined #gluster-dev
10:48 sripathi joined #gluster-dev
11:00 inodb_ joined #gluster-dev
11:13 inodb joined #gluster-dev
11:33 mohankumar joined #gluster-dev
11:43 gbrand__ joined #gluster-dev
12:12 inodb_ joined #gluster-dev
12:14 inodb^ joined #gluster-dev
12:30 __Bryan__ left #gluster-dev
12:40 maxiz joined #gluster-dev
12:45 inodb joined #gluster-dev
12:56 hagarth joined #gluster-dev
13:11 __Bryan__ joined #gluster-dev
13:17 jdarcy We have a serious problem with http://review.gluster.org/#change,4202
13:19 jdarcy If the disk holding a brick fails completely, now there's no reasonable way for a user to replace it.  Worse, failure of the brick to start is causing the entire AFR set to fail in tests.
13:37 hagarth jdarcy: how about providing a command to set the volume-id on export directories, if missing?
13:38 hagarth maybe an option to turn off this validation too
13:40 jdarcy hagarth: I was thinking of a "gluster volume label" command and/or allowing --force to override the check.
13:40 jdarcy I'll volunteer to do either or both.
13:43 hagarth jdarcy: volume start force gets offline bricks online, changing semantics of that or introducing --force might be harder to explain. I seem to prefer the first approach.
13:43 jdarcy hagarth: OK, should I file a new bug or reopen the old one?
13:44 * jdarcy thinks . . . gluster volume label patchy gfs1:/d/backends/patchy-0
13:57 hagarth jdarcy: maybe you can reopen the old one
13:59 jdarcy Will do.  Thanks.
13:59 harshpb joined #gluster-dev
14:08 harshpb joined #gluster-dev
14:09 gbrand_ joined #gluster-dev
14:17 harshpb joined #gluster-dev
14:20 harshpb joined #gluster-dev
14:32 harshpb joined #gluster-dev
14:33 harshpb joined #gluster-dev
14:35 mohankumar joined #gluster-dev
14:40 harshpb joined #gluster-dev
14:42 harshpb joined #gluster-dev
14:45 harshpb joined #gluster-dev
14:47 harshpb joined #gluster-dev
14:48 harshpb joined #gluster-dev
14:55 harshpb joined #gluster-dev
15:50 gbrand_ joined #gluster-dev
16:19 wushudoin joined #gluster-dev
16:20 inodb_ joined #gluster-dev
16:52 __Bryan joined #gluster-dev
17:35 mohankumar joined #gluster-dev
18:51 sghosh joined #gluster-dev
18:58 johnmark hagarth: ping
18:58 johnmark want to discuss dev conference
19:38 Technicool joined #gluster-dev
19:49 nick5 joined #gluster-dev
21:04 gbrand_ joined #gluster-dev
21:09 jbrooks joined #gluster-dev
22:00 inodb joined #gluster-dev
22:04 inodb joined #gluster-dev
22:15 a2 bfoster, ping
22:16 a2 bfoster, i'm trying to understand the exact issue fixed by review.gluster.org/4260 (setting post-op-delay-secs to 0 in bug-853690.t)
22:16 a2 what was the timing issue exactly?
22:30 sghosh joined #gluster-dev
22:32 sghosh joined #gluster-dev
22:48 foster a2: the ls (lookup) happens before the changelogs get to the file
22:48 foster so a self-heal never happens
22:50 jdarcy Wouldn't the deferred updates lead to the lookup getting artificially *high* counts?
22:51 a2 yeah
22:52 foster the test just checks whether the counts match
22:54 jdarcy So it doesn't deterministically fail, it's just really racy?
22:55 a2 the counts are matched after 'ls' right?
22:56 a2 so 'ls' effects are influenced by the timing race created by post-op-delay-secs?
22:56 foster jdarcy: basically. My understanding is the post-op-delay-secs == 0 and background-self-heal == 0 should fix that.
22:56 foster a2: the counts are expected to not match, but I started seeing that they did
22:57 foster the ls does the lookup, but apparently it didn't detect that a self heal was necessary
22:57 foster unless I remove the delay
22:57 jdarcy I guess there's no compelling reason why we should have post-op-delay-secs on for that test, so disabling it seems OK to me.
22:57 a2 if you  have background-self-heal=0 and do 'ls', then the counts _will_ match with or without delayed-post-op-secs setting
22:57 a2 s/will/should/
22:58 a2 oh wait
22:58 * jdarcy has to disappear.  *Poof*.
22:58 foster the post-op-delay thing affects whether a file is marked not in sync, correct?
22:58 foster or in sync, for that matter
22:59 a2 correct..
22:59 foster my understanding (could be wrong), is the update that marks the files out of sync is delayed
22:59 foster lookups immediately following the test result in self-heal
22:59 foster but the lookup in the test seems to happen too soon
23:00 a2 hmmm, the race actually still exists.. setting it to 0 has made it much less likely to get hit
23:01 foster that certainly could be the case, I'm not familiar with the code enough yet to say otherwise :)
23:02 a2 hmm, even though write-behind acts like the barrier for actual write() fops, flush() was acting like a barrier for the completion of the delayed post ops
23:02 a2 which is now become a "lack" (with the making of flush non transaction)
23:03 foster that characterizes the behavior I was seeing, I assume the full file lock on flush has to wait for whatever locks afr is holding to update changelogs to release (?)
23:04 a2 ok.. this is because the "transaction framework" was calling afr_delayed_changelog_wake_up(), and therefore flush was triggering the delayed post op
23:04 a2 and not because of flush's inodelk()
23:04 a2 in afr_flush() (non-transactional version) we need to call afr_delayed_changelog_wake_up()
23:05 a2 and we should be good, without the need for review.gluster.org/4260
23:06 foster ok, I can give that a try.
23:07 puebele joined #gluster-dev
23:08 JoeJulian a2: Has support for ext4 been abandoned?
23:11 sghosh1 joined #gluster-dev
23:15 a2 JoeJulian, no, unfortunately an issue was found with gluster-NFS + ext4 and i haven't check what's happening with that fix.. amar should have most updated info as he manages shishir (who is working on the ext4 issue)
23:15 a2 foster, loading io-threads on top of afr should expose the even same race with post-op-delay-secs=0 that you see otherwise
23:18 a2 foster (only in lack of the call to afr_delayed_changelog_wake_up() in afr_flush())
23:18 a2 actually even in persence of call to afr_delayed_changelog_wake_up() afr_flush(), loading io-threads on top of afr should expose the race
23:20 a2 (in theory, though in practice it is actually quite a tight race)
23:21 a2 the post-op completion and unwind of flush() are actually unsynchronized
23:23 a2 hmm, even when flush was a transaction, post-op completion and unwind of flush() were unsynchronized.. just that the call to afr_delayed_changelog_wake_up() in the transaction mix was narrowing the race significnatly!
23:24 foster heh
23:25 a2 while it is good (and feels comforting) to have the guarantee that flush() unwind happens only after completion of all the previously delayed post-ops on the fd, i guess we can handle that in a separate patch
23:33 foster makes sense. I'll think about it when I take a deeper look at the transaction framework code.
23:33 foster gotta run, thanks

| Channels | #gluster-dev index | Today | | Search | Google Search | Plain-Text | summary