[jira] [Updated] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Drob updated HBASE-7411: - Resolution: Won't Fix Status: Resolved (was: Patch Available) Closing with reference to HBASE-16835 already brining curator in for client-side only. > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Attachments: 7411v2.txt, 7411v2.txt, 7411v3.txt, 7411v4.txt, > 7411v4.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Purtell updated HBASE-7411: -- Fix Version/s: (was: 0.98.0) Moving out of 0.98, put back if you feel otherwise. > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Attachments: 7411v2.txt, 7411v2.txt, 7411v3.txt, 7411v4.txt, > 7411v4.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Updated] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Enis Soztutar updated HBASE-7411: - Fix Version/s: (was: 0.95.2) 0.98.0 > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: 0.98.0 > > Attachments: 7411v2.txt, 7411v2.txt, 7411v3.txt, 7411v4.txt, > 7411v4.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-7411: - Attachment: 7411v4.txt Retry > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: 0.95.2 > > Attachments: 7411v2.txt, 7411v2.txt, 7411v3.txt, 7411v4.txt, > 7411v4.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-7411: - Attachment: 7411v4.txt Rebase > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: 0.95.2 > > Attachments: 7411v2.txt, 7411v2.txt, 7411v3.txt, 7411v4.txt, > hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-7411: - Attachment: 7411v3.txt Removed TestRecoverableZooKeeper; expects to be able to replace zk which is not possible when curator is doing zk. Fixed place where getZk could come back null (there may be others). > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: 0.95.2 > > Attachments: 7411v2.txt, 7411v2.txt, 7411v3.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-7411: - Attachment: 7411v2.txt Rebase again > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: 0.95.2 > > Attachments: 7411v2.txt, 7411v2.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-7411: - Status: Patch Available (was: Open) > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: 0.95.2 > > Attachments: 7411v2.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-7411: - Fix Version/s: 0.95.2 > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: 0.95.2 > > Attachments: 7411v2.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-7411: - Attachment: 7411v2.txt Rebase. Need to do the replication recoverablezookeeper too. > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.95.2 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Attachments: 7411v2.txt, hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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] (HBASE-7411) Use Netflix's Curator zookeeper library
[ https://issues.apache.org/jira/browse/HBASE-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Enis Soztutar updated HBASE-7411: - Attachment: hbase-7411_v0.patch Here is a candidate patch I've been working on. As per the discussion, the patch: - Does not change zk connection management. We still create / close and watch the connection events. - Curator now plugs it's watcher, when started. But it cannot create / close the connection. It waits for hbase to create a new connection instead. - Curator is only started when it is called. - I've tested the implementation with curator-based read/write locks for table operations (HBASE-7305). - The patch needs some polishing and maybe some more tests. Also I want to run an actual cluster, but this indicates the general approach, if we will be adding curator dependency after all. > Use Netflix's Curator zookeeper library > --- > > Key: HBASE-7411 > URL: https://issues.apache.org/jira/browse/HBASE-7411 > Project: HBase > Issue Type: New Feature > Components: Zookeeper >Affects Versions: 0.96.0 >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Attachments: hbase-7411_v0.patch > > > We have mentioned using the Curator library > (https://github.com/Netflix/curator) elsewhere but we can continue the > discussion in this. > The advantages for the curator lib over ours are the recipes. We have very > similar retrying mechanism, and we don't need much of the nice client-API > layer. > We also have similar Listener interface, etc. > I think we can decide on one of the following options: > 1. Do not depend on curator. We have some of the recipes, and some custom > recipes (ZKAssign, Leader election, etc already working, locks in HBASE-5991, > etc). We can also copy / fork some code from there. > 2. Replace all of our zk usage / connection management to curator. We may > keep the current set of API's as a thin wrapper. > 3. Use our own connection management / retry logic, and build a custom > CuratorFramework implementation for the curator recipes. This will keep the > current zk logic/code intact, and allow us to use curator-recipes as we see > fit. > 4. Allow both curator and our zk layer to manage the connection. We will > still have 1 connection, but 2 abstraction layers sharing it. This is the > easiest to implement, but a freak show? > I have a patch for 4, and now prototyping 2 or 3 whichever will be less > painful. > Related issues: > HBASE-5547 > HBASE-7305 > HBASE-7212 -- 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