[jira] [Updated] (ZOOKEEPER-1214) QuorumPeer should unregister only its previsously registered MBeans instead of use MBeanRegistry.unregisterAll() method.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michi Mutsuzaki updated ZOOKEEPER-1214: --- Attachment: ZOOKEEPER-1214.patch > QuorumPeer should unregister only its previsously registered MBeans instead > of use MBeanRegistry.unregisterAll() method. > > > Key: ZOOKEEPER-1214 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1214 > Project: ZooKeeper > Issue Type: Bug > Components: quorum >Reporter: César Álvarez Núñez >Assignee: César Álvarez Núñez > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1214.2.patch, ZOOKEEPER-1214.3.patch, > ZOOKEEPER-1214.patch, ZOOKEEPER-1214.patch, ZOOKEEPER-1214.patch, > ZOOKEEPER-1214.patch > > > When a QuorumPeer thread dies, it is unregistering *all* ZKMBeanInfo MBeans > previously registered on its java process; including those that has not been > registered by itself. > It does not cause any side effect in production environment where each server > is running on a separate java process; but fails when using > "org.apache.zookeeper.test.QuorumUtil" to programmatically start up a > zookeeper server ensemble and use its provided methods to force Disconnected, > SyncConnected or SessionExpired events; in order to perform some > basic/functional testing. > Scenario: > * QuorumUtil qU = new QuorumUtil(1); // It creates a 3 servers ensemble. > * qU.startAll(); // Startup all servers: 1 Leader + 2 Followers > * qU.shutdown\(i\); // i is a number from 1 to 3. It shutdown one server. > The last method causes that a QuorumPeer will die, invoking the > MBeanRegistry.unregisterAll() method. > As a result, *all* ZKMBeanInfo MBeans are unregistered; including those > belonging to the other QuorumPeer instances. > When trying to restart previous server (qU.restart\(i\)) an AssertionError is > thrown at MBeanRegistry.register(ZKMBeanInfo bean, ZKMBeanInfo parent) > method, causing the QuorumPeer thread dead. > To solve it: > * MBeanRegistry.unregisterAll() method has been removed. > * QuorumPeer only unregister its ZKMBeanInfo MBeans. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (ZOOKEEPER-1214) QuorumPeer should unregister only its previsously registered MBeans instead of use MBeanRegistry.unregisterAll() method.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Edward Ribeiro updated ZOOKEEPER-1214: -- Attachment: ZOOKEEPER-1214.3.patch Thanks for the feedback Michi, it's highly appreciated. I am sending a new version with an one line change wrt the previous one. > QuorumPeer should unregister only its previsously registered MBeans instead > of use MBeanRegistry.unregisterAll() method. > > > Key: ZOOKEEPER-1214 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1214 > Project: ZooKeeper > Issue Type: Bug > Components: quorum >Reporter: César Álvarez Núñez >Assignee: César Álvarez Núñez > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1214.2.patch, ZOOKEEPER-1214.3.patch, > ZOOKEEPER-1214.patch, ZOOKEEPER-1214.patch, ZOOKEEPER-1214.patch > > > When a QuorumPeer thread dies, it is unregistering *all* ZKMBeanInfo MBeans > previously registered on its java process; including those that has not been > registered by itself. > It does not cause any side effect in production environment where each server > is running on a separate java process; but fails when using > "org.apache.zookeeper.test.QuorumUtil" to programmatically start up a > zookeeper server ensemble and use its provided methods to force Disconnected, > SyncConnected or SessionExpired events; in order to perform some > basic/functional testing. > Scenario: > * QuorumUtil qU = new QuorumUtil(1); // It creates a 3 servers ensemble. > * qU.startAll(); // Startup all servers: 1 Leader + 2 Followers > * qU.shutdown\(i\); // i is a number from 1 to 3. It shutdown one server. > The last method causes that a QuorumPeer will die, invoking the > MBeanRegistry.unregisterAll() method. > As a result, *all* ZKMBeanInfo MBeans are unregistered; including those > belonging to the other QuorumPeer instances. > When trying to restart previous server (qU.restart\(i\)) an AssertionError is > thrown at MBeanRegistry.register(ZKMBeanInfo bean, ZKMBeanInfo parent) > method, causing the QuorumPeer thread dead. > To solve it: > * MBeanRegistry.unregisterAll() method has been removed. > * QuorumPeer only unregister its ZKMBeanInfo MBeans. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ZOOKEEPER-1214) QuorumPeer should unregister only its previsously registered MBeans instead of use MBeanRegistry.unregisterAll() method.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Edward Ribeiro updated ZOOKEEPER-1214: -- Attachment: ZOOKEEPER-1214.2.patch Ummm ... as this issue last patch is +1 year old -- and I made a silly mistake during my previous explanation (sorry, it's _synchronized_ keyword instead of _synchronize_) -- then I decided to submit a new version of Cesar's patch that applies against the trunk and implements the _possible_ solution I've just proposed. It still Cesar's patch tough. See if it helps. > QuorumPeer should unregister only its previsously registered MBeans instead > of use MBeanRegistry.unregisterAll() method. > > > Key: ZOOKEEPER-1214 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1214 > Project: ZooKeeper > Issue Type: Bug > Components: quorum >Reporter: César Álvarez Núñez >Assignee: César Álvarez Núñez > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1214.2.patch, ZOOKEEPER-1214.patch, > ZOOKEEPER-1214.patch, ZOOKEEPER-1214.patch > > > When a QuorumPeer thread dies, it is unregistering *all* ZKMBeanInfo MBeans > previously registered on its java process; including those that has not been > registered by itself. > It does not cause any side effect in production environment where each server > is running on a separate java process; but fails when using > "org.apache.zookeeper.test.QuorumUtil" to programmatically start up a > zookeeper server ensemble and use its provided methods to force Disconnected, > SyncConnected or SessionExpired events; in order to perform some > basic/functional testing. > Scenario: > * QuorumUtil qU = new QuorumUtil(1); // It creates a 3 servers ensemble. > * qU.startAll(); // Startup all servers: 1 Leader + 2 Followers > * qU.shutdown\(i\); // i is a number from 1 to 3. It shutdown one server. > The last method causes that a QuorumPeer will die, invoking the > MBeanRegistry.unregisterAll() method. > As a result, *all* ZKMBeanInfo MBeans are unregistered; including those > belonging to the other QuorumPeer instances. > When trying to restart previous server (qU.restart\(i\)) an AssertionError is > thrown at MBeanRegistry.register(ZKMBeanInfo bean, ZKMBeanInfo parent) > method, causing the QuorumPeer thread dead. > To solve it: > * MBeanRegistry.unregisterAll() method has been removed. > * QuorumPeer only unregister its ZKMBeanInfo MBeans. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ZOOKEEPER-1214) QuorumPeer should unregister only its previsously registered MBeans instead of use MBeanRegistry.unregisterAll() method.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] César Álvarez Núñez updated ZOOKEEPER-1214: --- Attachment: ZOOKEEPER-1214.patch > QuorumPeer should unregister only its previsously registered MBeans instead > of use MBeanRegistry.unregisterAll() method. > > > Key: ZOOKEEPER-1214 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1214 > Project: ZooKeeper > Issue Type: Bug > Components: quorum >Reporter: César Álvarez Núñez >Assignee: César Álvarez Núñez > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1214.patch, ZOOKEEPER-1214.patch, > ZOOKEEPER-1214.patch > > > When a QuorumPeer thread dies, it is unregistering *all* ZKMBeanInfo MBeans > previously registered on its java process; including those that has not been > registered by itself. > It does not cause any side effect in production environment where each server > is running on a separate java process; but fails when using > "org.apache.zookeeper.test.QuorumUtil" to programmatically start up a > zookeeper server ensemble and use its provided methods to force Disconnected, > SyncConnected or SessionExpired events; in order to perform some > basic/functional testing. > Scenario: > * QuorumUtil qU = new QuorumUtil(1); // It creates a 3 servers ensemble. > * qU.startAll(); // Startup all servers: 1 Leader + 2 Followers > * qU.shutdown\(i\); // i is a number from 1 to 3. It shutdown one server. > The last method causes that a QuorumPeer will die, invoking the > MBeanRegistry.unregisterAll() method. > As a result, *all* ZKMBeanInfo MBeans are unregistered; including those > belonging to the other QuorumPeer instances. > When trying to restart previous server (qU.restart\(i\)) an AssertionError is > thrown at MBeanRegistry.register(ZKMBeanInfo bean, ZKMBeanInfo parent) > method, causing the QuorumPeer thread dead. > To solve it: > * MBeanRegistry.unregisterAll() method has been removed. > * QuorumPeer only unregister its ZKMBeanInfo MBeans. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ZOOKEEPER-1214) QuorumPeer should unregister only its previsously registered MBeans instead of use MBeanRegistry.unregisterAll() method.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mahadev konar updated ZOOKEEPER-1214: - Fix Version/s: 3.5.0 > QuorumPeer should unregister only its previsously registered MBeans instead > of use MBeanRegistry.unregisterAll() method. > > > Key: ZOOKEEPER-1214 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1214 > Project: ZooKeeper > Issue Type: Bug > Components: quorum >Reporter: César Álvarez Núñez >Assignee: César Álvarez Núñez > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1214.patch, ZOOKEEPER-1214.patch > > > When a QuorumPeer thread dies, it is unregistering *all* ZKMBeanInfo MBeans > previously registered on its java process; including those that has not been > registered by itself. > It does not cause any side effect in production environment where each server > is running on a separate java process; but fails when using > "org.apache.zookeeper.test.QuorumUtil" to programmatically start up a > zookeeper server ensemble and use its provided methods to force Disconnected, > SyncConnected or SessionExpired events; in order to perform some > basic/functional testing. > Scenario: > * QuorumUtil qU = new QuorumUtil(1); // It creates a 3 servers ensemble. > * qU.startAll(); // Startup all servers: 1 Leader + 2 Followers > * qU.shutdown\(i\); // i is a number from 1 to 3. It shutdown one server. > The last method causes that a QuorumPeer will die, invoking the > MBeanRegistry.unregisterAll() method. > As a result, *all* ZKMBeanInfo MBeans are unregistered; including those > belonging to the other QuorumPeer instances. > When trying to restart previous server (qU.restart\(i\)) an AssertionError is > thrown at MBeanRegistry.register(ZKMBeanInfo bean, ZKMBeanInfo parent) > method, causing the QuorumPeer thread dead. > To solve it: > * MBeanRegistry.unregisterAll() method has been removed. > * QuorumPeer only unregister its ZKMBeanInfo MBeans. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ZOOKEEPER-1214) QuorumPeer should unregister only its previsously registered MBeans instead of use MBeanRegistry.unregisterAll() method.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] César Álvarez Núñez updated ZOOKEEPER-1214: --- Attachment: ZOOKEEPER-1214.patch Refreshed trunk. Regenerated patch. > QuorumPeer should unregister only its previsously registered MBeans instead > of use MBeanRegistry.unregisterAll() method. > > > Key: ZOOKEEPER-1214 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1214 > Project: ZooKeeper > Issue Type: Bug > Components: quorum >Reporter: César Álvarez Núñez >Assignee: César Álvarez Núñez > Attachments: ZOOKEEPER-1214.patch, ZOOKEEPER-1214.patch > > > When a QuorumPeer thread dies, it is unregistering *all* ZKMBeanInfo MBeans > previously registered on its java process; including those that has not been > registered by itself. > It does not cause any side effect in production environment where each server > is running on a separate java process; but fails when using > "org.apache.zookeeper.test.QuorumUtil" to programmatically start up a > zookeeper server ensemble and use its provided methods to force Disconnected, > SyncConnected or SessionExpired events; in order to perform some > basic/functional testing. > Scenario: > * QuorumUtil qU = new QuorumUtil(1); // It creates a 3 servers ensemble. > * qU.startAll(); // Startup all servers: 1 Leader + 2 Followers > * qU.shutdown\(i\); // i is a number from 1 to 3. It shutdown one server. > The last method causes that a QuorumPeer will die, invoking the > MBeanRegistry.unregisterAll() method. > As a result, *all* ZKMBeanInfo MBeans are unregistered; including those > belonging to the other QuorumPeer instances. > When trying to restart previous server (qU.restart\(i\)) an AssertionError is > thrown at MBeanRegistry.register(ZKMBeanInfo bean, ZKMBeanInfo parent) > method, causing the QuorumPeer thread dead. > To solve it: > * MBeanRegistry.unregisterAll() method has been removed. > * QuorumPeer only unregister its ZKMBeanInfo MBeans. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (ZOOKEEPER-1214) QuorumPeer should unregister only its previsously registered MBeans instead of use MBeanRegistry.unregisterAll() method.
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] César Álvarez Núñez updated ZOOKEEPER-1214: --- Attachment: ZOOKEEPER-1214.patch > QuorumPeer should unregister only its previsously registered MBeans instead > of use MBeanRegistry.unregisterAll() method. > > > Key: ZOOKEEPER-1214 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1214 > Project: ZooKeeper > Issue Type: Bug > Components: quorum >Reporter: César Álvarez Núñez >Assignee: César Álvarez Núñez > Attachments: ZOOKEEPER-1214.patch > > > When a QuorumPeer thread dies, it is unregistering *all* ZKMBeanInfo MBeans > previously registered on its java process; including those that has not been > registered by itself. > It does not cause any side effect in production environment where each server > is running on a separate java process; but fails when using > "org.apache.zookeeper.test.QuorumUtil" to programmatically start up a > zookeeper server ensemble and use its provided methods to force Disconnected, > SyncConnected or SessionExpired events; in order to perform some > basic/functional testing. > Scenario: > * QuorumUtil qU = new QuorumUtil(1); // It creates a 3 servers ensemble. > * qU.startAll(); // Startup all servers: 1 Leader + 2 Followers > * qU.shutdown\(i\); // i is a number from 1 to 3. It shutdown one server. > The last method causes that a QuorumPeer will die, invoking the > MBeanRegistry.unregisterAll() method. > As a result, *all* ZKMBeanInfo MBeans are unregistered; including those > belonging to the other QuorumPeer instances. > When trying to restart previous server (qU.restart\(i\)) an AssertionError is > thrown at MBeanRegistry.register(ZKMBeanInfo bean, ZKMBeanInfo parent) > method, causing the QuorumPeer thread dead. > To solve it: > * MBeanRegistry.unregisterAll() method has been removed. > * QuorumPeer only unregister its ZKMBeanInfo MBeans. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira