[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Reed updated ZOOKEEPER-117: Resolution: Fixed Status: Resolved (was: Patch Available) Committed revision 698743. > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Affects Versions: 3.0.0 >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Fix For: 3.0.0 > > Attachments: ZOOKEEPER-117.patch, ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Reed updated ZOOKEEPER-117: Hadoop Flags: [Reviewed] +1 Looks good > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Affects Versions: 3.0.0 >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Fix For: 3.0.0 > > Attachments: ZOOKEEPER-117.patch, ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Patrick Hunt updated ZOOKEEPER-117: --- Fix Version/s: 3.0.0 Affects Version/s: 3.0.0 > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Affects Versions: 3.0.0 >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Fix For: 3.0.0 > > Attachments: ZOOKEEPER-117.patch, ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Patrick Hunt updated ZOOKEEPER-117: --- Attachment: ZOOKEEPER-117.patch Updated the patch a bit to log in both the expected and unexpected cases. Note: there is a very small timing issue during shutdown where acceptor may return and result in a handler being added to the followers set, but this will eventually timeout on it's own. > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Attachments: ZOOKEEPER-117.patch, ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Patrick Hunt updated ZOOKEEPER-117: --- Status: Patch Available (was: Open) > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Attachments: ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Paiva Junqueira updated ZOOKEEPER-117: - Attachment: (was: ZOOKEEPER-117.patch) > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Attachments: ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Paiva Junqueira updated ZOOKEEPER-117: - Attachment: ZOOKEEPER-117.patch Modification to class FollowerCnxAcceptor to address Pat's comment. > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Attachments: ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Patrick Hunt updated ZOOKEEPER-117: --- Status: Open (was: Patch Available) There is a potential race condition with this code: 1) say leader shutdown is called 2) shutdown will call cnxAcceptor.halt() 3) acceptor is currently blocked on accept (for up to 1 sec) 4) shutdown method completes, including shutting down entire followers set (followerhandlers) 5) accept call in acceptor returns true (socket != null) 6) acceptor now adds followerhandler to followers set > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Attachments: ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Paiva Junqueira updated ZOOKEEPER-117: - Status: Patch Available (was: Open) I have: 1- Created a new class extending thread to handle the connection requests of followers (FollowerCnxAcceptor). An object of this class is shut down when the leader object owning it is shut down; 2- I have removed the naked notify. After inspecting the code, it seems there there is no one waiting on the notification that call generates. Tests pass without a problem. > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Attachments: ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-117) threading issues in Leader election
[ https://issues.apache.org/jira/browse/ZOOKEEPER-117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Paiva Junqueira updated ZOOKEEPER-117: - Attachment: ZOOKEEPER-117.patch > threading issues in Leader election > --- > > Key: ZOOKEEPER-117 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-117 > Project: Zookeeper > Issue Type: Bug > Components: server >Reporter: Patrick Hunt >Assignee: Flavio Paiva Junqueira > Attachments: ZOOKEEPER-117.patch > > > Leader.lead() creates a new thread that can never terminate (short of > restarting vm) > naked notifyall in lead() method - what is the condition variable? Best if > set inside the sync block -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.