[Gluster-devel] Here is why feature/changelog change broke NetBSD

Venky Shankar yknev.shankar at gmail.com
Fri Mar 27 17:07:43 UTC 2015


On Fri, Mar 27, 2015 at 10:14 PM, Emmanuel Dreyfus <manu at netbsd.org> wrote:
> Hi
>
> I have not foound where corruption occurs, but now I have an explaantion:
> feature/chaneglog has been modified to run operation on an event_pool
> in a separate thread. NetBSD uses event-poll.c implementation where e have
> in event_pool_new_poll()
>
> if (eventthreadcount > 1) {
>         gf_log ("poll", GF_LOG_INFO,
>                 "Currently poll does not use multiple event processing"
>                 " threads, thread count (%d) ignored", eventthreadcount);
> }
>
> I do not know where we corrupt memoery exactly, but now I am convinced
> that feature/changelog makes an unsupported usage of event-poll.

That does seem to be the source of the problem.

>
> Is that correct? If it is, how are we going to fix it?

The quickest thing to do is to not spawn the thread (in changelog)
that invokes ->event_dispatch(). This should fix the problem right
away and does not degrade the functionality as the translator stack
already has one running (we'll be just reusing it).

Thoughts?

>
> --
> Emmanuel Dreyfus
> manu at netbsd.org
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel


More information about the Gluster-devel mailing list