[Bugs] [Bug 1412941] New: Regression caused by enabling client-io-threads by default

bugzilla at redhat.com bugzilla at redhat.com
Fri Jan 13 07:50:46 UTC 2017


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

            Bug ID: 1412941
           Summary: Regression caused by enabling client-io-threads by
                    default
           Product: GlusterFS
           Version: 3.8
         Component: io-threads
          Keywords: Triaged
          Severity: high
          Assignee: bugs at gluster.org
          Reporter: pkarampu at redhat.com
                CC: bugs at gluster.org, pkarampu at redhat.com,
                    skoduri at redhat.com
        Depends On: 1381830
            Blocks: 1387894



+++ This bug was initially created as a clone of Bug #1381830 +++

Description of problem:

As mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=1380619#c11,  
there is a regression caused to gfapi applications with making
client-io-threads option on by default. 

iot-worker threads spawned are not cleaned up as part of xlator->fini() and
they could end up accessing invalid/freed memory.

we need to fix io-thread->fini() to cleanup those threads before exiting. Since
it could be an intricate fix, we could try disabling io-threads by default till
then.



Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Worker Ant on 2016-10-05 05:35:56 EDT ---

REVIEW: http://review.gluster.org/15616 (Revert "mgmt/glusterd: Enable
client-io-threads by default") posted (#2) for review on master by soumya k
(skoduri at redhat.com)

--- Additional comment from Worker Ant on 2016-10-09 12:18:41 EDT ---

REVIEW: http://review.gluster.org/15620 (performance/io-threads: Exit all
threads on PARENT_DOWN) posted (#1) for review on master by Pranith Kumar
Karampuri (pkarampu at redhat.com)

--- Additional comment from Worker Ant on 2016-10-21 07:38:04 EDT ---

REVIEW: http://review.gluster.org/15620 (performance/io-threads: Exit all
threads on PARENT_DOWN) posted (#2) for review on master by Pranith Kumar
Karampuri (pkarampu at redhat.com)

--- Additional comment from Worker Ant on 2016-10-22 03:59:06 EDT ---

REVIEW: http://review.gluster.org/15620 (performance/io-threads: Exit all
threads on PARENT_DOWN) posted (#3) for review on master by Pranith Kumar
Karampuri (pkarampu at redhat.com)

--- Additional comment from Worker Ant on 2016-10-23 05:32:10 EDT ---

COMMIT: http://review.gluster.org/15620 committed in master by Raghavendra G
(rgowdapp at redhat.com) 
------
commit d7a5ca16911caca03cec1112d4be56a9cda2ee30
Author: Pranith Kumar K <pkarampu at redhat.com>
Date:   Sun Oct 9 21:36:40 2016 +0530

    performance/io-threads: Exit all threads on PARENT_DOWN

    Problem:
    When glfs_fini() is called on a volume where client.io-threads is enabled,
    fini() will free up iothread xl's private structure but there would be some
    threads that are sleeping which would wakeup after the timedwait completes
    leading to accessing already free'd memory.

    Fix:
    As part of parent-down, exit all sleeping threads.

    BUG: 1381830
    Change-Id: I0bb8d90241112c355fb22ee3fbfd7307f475b339
    Signed-off-by: Pranith Kumar K <pkarampu at redhat.com>
    Reviewed-on: http://review.gluster.org/15620
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    Reviewed-by: Raghavendra G <rgowdapp at redhat.com>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1381830
[Bug 1381830] Regression caused by enabling client-io-threads by default
https://bugzilla.redhat.com/show_bug.cgi?id=1387894
[Bug 1387894] Regression caused by enabling client-io-threads by default
-- 
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