[jira] [Commented] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301834#comment-14301834 ] Hadoop QA commented on HBASE-12035: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12695958/HBASE-12035.patch against master branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291. ATTACHMENT ID: 12695958 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 39 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 checkstyle{color}. The applied patch does not increase the total number of checkstyle errors {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + public static TableState parseFrom(TableName tableName, byte[] bytes) throws DeserializationException { + ((FSTableDescriptors)(masterServices.getTableDescriptors())).createTableDescriptorForTableDirectory( + WRONG_USAGE, EMPTY_META_CELL, EXPIRED_TABLE_LOCK, BOUNDARIES_ERROR, ORPHAN_TABLE_STATE, NO_TABLE_STATE {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.client.TestReplicaWithCluster {color:red}-1 core zombie tests{color}. There are 1 zombie test(s): at org.apache.hadoop.hbase.master.TestMasterOperationsForRegionReplicas.testCreateTableWithMultipleReplicas(TestMasterOperationsForRegionReplicas.java:206) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12669//console This message is automatically generated. Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of
[jira] [Commented] (HBASE-12452) Add regular expression based split policy
[ https://issues.apache.org/jira/browse/HBASE-12452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301916#comment-14301916 ] Hadoop QA commented on HBASE-12452: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12695975/HBASE-12452-V2.patch against master branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291. ATTACHMENT ID: 12695975 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:red}-1 checkstyle{color}. The applied patch generated 1938 checkstyle errors (more than the master's current 1936 errors). {color:red}-1 findbugs{color}. The patch appears to introduce 2 new Findbugs (version 2.0.3) warnings. {color:red}-1 release audit{color}. The applied patch generated 1 release audit warnings (more than the master's current 0 warnings). {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/patchReleaseAuditWarnings.txt Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12670//console This message is automatically generated. Add regular expression based split policy - Key: HBASE-12452 URL: https://issues.apache.org/jira/browse/HBASE-12452 Project: HBase Issue Type: Improvement Components: regionserver Reporter: He Liangliang Assignee: He Liangliang Priority: Minor Attachments: HBASE-12452-V2.patch, HBASE-12452-V2.patch, HBASE-12452.patch The current DelimitedKeyPrefixRegionSplitPolicy split policy is not flexible enough to describe the split point prefix in some case. A regex based split policy is proposed, for example: ^[^\x00]+\x00[^\x00]+\x00 means the split point will always be truncated to a prefix at the second \0 char. The binary string support is quite useful when the rowkey encoded by a common data access library instead of concatenated manually by application developer. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12439) Procedure V2
[ https://issues.apache.org/jira/browse/HBASE-12439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301960#comment-14301960 ] stack commented on HBASE-12439: --- bq. No, Procedure is the internal name for I'm doing something. Its confusing swapping in Operation for Procedure when you've done all this work talking up Procedures and of how Procedures are made of zero or more Sub-Procedures. Ok on the rest [~mbertozzi] Looks great. Procedure V2 Key: HBASE-12439 URL: https://issues.apache.org/jira/browse/HBASE-12439 Project: HBase Issue Type: New Feature Components: master Affects Versions: 2.0.0 Reporter: Matteo Bertozzi Assignee: Matteo Bertozzi Priority: Minor Attachments: ProcedureV2.pdf, Procedurev2Notification-Bus.pdf Procedure v2 (aka Notification Bus) aims to provide a unified way to build: * multi-steps procedure with a rollback/rollforward ability in case of failure (e.g. create/delete table) ** HBASE-12070 * notifications across multiple machines (e.g. ACLs/Labels/Quotas cache updates) ** Make sure that every machine has the grant/revoke/label ** Enforce space limit quota across the namespace ** HBASE-10295 eliminate permanent replication zk node * procedures across multiple machines (e.g. Snapshots) * coordinated long-running procedures (e.g. compactions, splits, ...) * Synchronous calls, with the ability to see the state/result in case of failure. ** HBASE-11608 sync split still work in progress/initial prototype: https://reviews.apache.org/r/27703/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12955) Make ITBLL less of a wuss
[ https://issues.apache.org/jira/browse/HBASE-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301978#comment-14301978 ] stack commented on HBASE-12955: --- Ok. Let me make new patch. I enabled splitting and the 1B still worked (though only 4 splits happened). Make ITBLL less of a wuss - Key: HBASE-12955 URL: https://issues.apache.org/jira/browse/HBASE-12955 Project: HBase Issue Type: Task Reporter: stack Assignee: stack ITBLL avoids rolling restart and kill of the server hosting meta by default. {code} Action[] actions1 = new Action[] { -new RestartRandomRsExceptMetaAction(6), +new RestartRandomRsAction(6), new RestartActiveMasterAction(5000), -new RollingBatchRestartRsExceptMetaAction(5000, 1.0f, 2), //only allow 2 servers to be dead +new RollingBatchRestartRsAction(5000, 1.0f, 2), //only allow 2 servers to be dead new ForceBalancerAction() {code} Enable killing of meta. Running tests over the w/e against 1.0, all seems to work w/ this enabled (splits were disabled). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302031#comment-14302031 ] Andrew Purtell commented on HBASE-12954: No Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12439) Procedure V2
[ https://issues.apache.org/jira/browse/HBASE-12439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301894#comment-14301894 ] Matteo Bertozzi commented on HBASE-12439: - {quote}The API is Admin.doOperation(). Should it be Admin.doProcedure? (In doc., you start talking about 'operations' when you were talking about 'procedures' up to this).{quote} No, Procedure is the internal name for I'm doing something. Example: delete table maps to a procedure but snapshot may map to multiple procedures (depending on how you view the execution it may be the master part + the RS subprocs or it may be just the snapshot namespace with the table snapshots as subprocedures). another example is create table, if you see create table operation as create procedure + assignment procedure. more in general I use operation because there may be more work than just call the procedure. {quote}If the master does not receve a response within a timeout, or the region was reassigned, it will resend the execution request., master will just retry for ever?{quote} It depends, e.g. if the procedure is assignment yes. if the procedure is snapshot it will timeout after Nsec. {quote}For the TwoPhaseProcedure, would be good to draw out the steps as you have done for the OnePhaseProcedure procedure. Would help me figure if I get how this 'staging' stuff works.{quote} sure, still in progress {quote}What is this? (The syncclient implementation can be done for the 2.0 branch, but we can’t backport that to keep the compatibility. New client methods can be added using the procedure){quote} our Admin is not really sync, for example create table and similar depends on the order of the operation master-side. so if you change the code of the handler but not the client, the client will be async since the operation server side may not be completed. With the procedure you are waiting on the proc to be completed, so you can change the server side as much as you want and the client don't care about it. and you also get the master failover for free. e.g. In the middle of Create Table the master goes down, the client is spinning on isDone(createProcId) the backup master complete the create table and the client receive the isDone() = true. Procedure V2 Key: HBASE-12439 URL: https://issues.apache.org/jira/browse/HBASE-12439 Project: HBase Issue Type: New Feature Components: master Affects Versions: 2.0.0 Reporter: Matteo Bertozzi Assignee: Matteo Bertozzi Priority: Minor Attachments: ProcedureV2.pdf, Procedurev2Notification-Bus.pdf Procedure v2 (aka Notification Bus) aims to provide a unified way to build: * multi-steps procedure with a rollback/rollforward ability in case of failure (e.g. create/delete table) ** HBASE-12070 * notifications across multiple machines (e.g. ACLs/Labels/Quotas cache updates) ** Make sure that every machine has the grant/revoke/label ** Enforce space limit quota across the namespace ** HBASE-10295 eliminate permanent replication zk node * procedures across multiple machines (e.g. Snapshots) * coordinated long-running procedures (e.g. compactions, splits, ...) * Synchronous calls, with the ability to see the state/result in case of failure. ** HBASE-11608 sync split still work in progress/initial prototype: https://reviews.apache.org/r/27703/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301948#comment-14301948 ] Clay B. commented on HBASE-12954: - Hi Andrew Purtell, indeed this can happen under my networks: One could -- intentionally -- have an apparent mismatch of IP and hostname. In the case of the OpenStack network, a region server may talk to a master on the same private (tenancy) network -- all traffic would go via the 100.127.1.0/24. But for external clients to be able to talk in, Zookeeper would be advertising the {{*.tenant.openstack.example.com}} DNS names (192.168.101.0/24 network). The master should always be able to reach the regionserver on the IP the regionserver is bound to {{hbase.regionserver.ipc.address}}, but what is advertised in Zookeeper may be different than what the master would reverse-DNS lookup for the regionserver's bound IP address. Conversely, what is advertised in Zookeeper should always reach the regionserver from anywhere in my networks (e.g. an external client or the master). Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12952) Seek with prefixtree may hang
[ https://issues.apache.org/jira/browse/HBASE-12952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Purtell updated HBASE-12952: --- Fix Version/s: (was: 0.98.6.1) 0.98.11 1.1.0 1.0.1 2.0.0 Seek with prefixtree may hang - Key: HBASE-12952 URL: https://issues.apache.org/jira/browse/HBASE-12952 Project: HBase Issue Type: Bug Components: regionserver Affects Versions: 1.0.0, 0.98.7, 0.98.8, 0.98.6.1, 0.98.9, 0.98.10 Reporter: sinfox Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11 Attachments: hbase_0.98.6.1.patch I have upgraded my hbase cluster from hbase-0.96 to hbase-0.98.6.1,then i found some compaction hang on many regionserver, and the cpu costed100%. It looks like there is an infinite loop somewhere. From the log, i found StoreFileScanner.java : reseekAtOrAfter(HFileScanner s, KeyValue k) enterd an infinite loop. Read source code, I found en error on PrefixTreeArrayReversibleScanner.java : previousRowInternal() eg: A:fan:12, numCell:1 A : 1 - B A : 2 - C C: 3 - D C: 4 - E A: fan:12, numCell:1 B: fan,numCell:1 C: fan:34,numCell: 0 D: fan,numCell:1 E: fan,numCell:1 when currentNode is D, its previous node is B , but this function will return A. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12955) Make ITBLL less of a wuss
[ https://issues.apache.org/jira/browse/HBASE-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301794#comment-14301794 ] stack commented on HBASE-12955: --- bq. Are you talking about the serverKilling monkey? It's purpose was to not kill the meta. Yes. Why not kill meta? Make ITBLL less of a wuss - Key: HBASE-12955 URL: https://issues.apache.org/jira/browse/HBASE-12955 Project: HBase Issue Type: Task Reporter: stack Assignee: stack ITBLL avoids rolling restart and kill of the server hosting meta by default. {code} Action[] actions1 = new Action[] { -new RestartRandomRsExceptMetaAction(6), +new RestartRandomRsAction(6), new RestartActiveMasterAction(5000), -new RollingBatchRestartRsExceptMetaAction(5000, 1.0f, 2), //only allow 2 servers to be dead +new RollingBatchRestartRsAction(5000, 1.0f, 2), //only allow 2 servers to be dead new ForceBalancerAction() {code} Enable killing of meta. Running tests over the w/e against 1.0, all seems to work w/ this enabled (splits were disabled). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-10942) support parallel request cancellation for multi-get
[ https://issues.apache.org/jira/browse/HBASE-10942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302028#comment-14302028 ] Nicolas Liochon commented on HBASE-10942: - Time goes by ;-) LGTM, +1 support parallel request cancellation for multi-get --- Key: HBASE-10942 URL: https://issues.apache.org/jira/browse/HBASE-10942 Project: HBase Issue Type: Sub-task Reporter: Sergey Shelukhin Assignee: Nicolas Liochon Fix For: hbase-10070 Attachments: 10942-1.1.txt, 10942-for-98.zip, 10942.patch, HBASE-10942.01.patch, HBASE-10942.02.patch, HBASE-10942.patch -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12955) Make ITBLL less of a wuss
[ https://issues.apache.org/jira/browse/HBASE-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301826#comment-14301826 ] Enis Soztutar commented on HBASE-12955: --- We have done that monkey in HBASE-10572 as a part of the IT for region replicas. The test IntegrationTestTimeBoundedRequestsWithRegionReplicas kills the servers, but expects the requests with backup RPCs (going to replicas) to finish under some limited time (5sec, etc). Meta for this test is a single point of failure, and will cause the test to fail (unless HBASE-11574 is used with the test). The serverKilling monkey is still useful I think which does not to other actions (like snapshot, etc). Maybe we can rename serverKilling monkey to serverKillingWithoutMeta and change the serverKilling monkey to kill meta. Make ITBLL less of a wuss - Key: HBASE-12955 URL: https://issues.apache.org/jira/browse/HBASE-12955 Project: HBase Issue Type: Task Reporter: stack Assignee: stack ITBLL avoids rolling restart and kill of the server hosting meta by default. {code} Action[] actions1 = new Action[] { -new RestartRandomRsExceptMetaAction(6), +new RestartRandomRsAction(6), new RestartActiveMasterAction(5000), -new RollingBatchRestartRsExceptMetaAction(5000, 1.0f, 2), //only allow 2 servers to be dead +new RollingBatchRestartRsAction(5000, 1.0f, 2), //only allow 2 servers to be dead new ForceBalancerAction() {code} Enable killing of meta. Running tests over the w/e against 1.0, all seems to work w/ this enabled (splits were disabled). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301975#comment-14301975 ] Andrew Purtell commented on HBASE-12954: This is similar of course to issues operators face on EC2 clouds, where the reverse resolved internal DNS names are of no use unless all clients are also using the internal resolvers. So like Stack suggested, we need to disconnect the hostnames HBase uses internally from those posted to ZK for external consumption. One option could be to do it like HDFS rack mapping: a configuration property specifies a script that the master will execute to map IP addresses to internal and external names. It takes as input the IP address and a flag that specifies internal or external. The results from executing the script with internal would be handed to regionservers as their identity, the results from executing with external would be advertised in ZooKeeper. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301975#comment-14301975 ] Andrew Purtell edited comment on HBASE-12954 at 2/2/15 9:36 PM: This is similar of course to issues operators face on EC2 clouds, where the reverse resolved internal DNS names are of no use unless all clients are also using the internal resolvers. So like Stack suggested, we need to disconnect the hostnames HBase uses internally from those posted to ZK for external consumption. One option could be to do it like HDFS rack mapping: a configuration property specifies a script that the master will execute to map IP addresses to internal and external names. It takes as input the IP address and a flag that specifies internal or external. The results from executing the script with internal would be handed to regionservers as their identity, the results from executing with external would be advertised in ZooKeeper. Edit: Or invoke the script once and have it hand back all necessary information, structured as YAML or JSON or similar. was (Author: apurtell): This is similar of course to issues operators face on EC2 clouds, where the reverse resolved internal DNS names are of no use unless all clients are also using the internal resolvers. So like Stack suggested, we need to disconnect the hostnames HBase uses internally from those posted to ZK for external consumption. One option could be to do it like HDFS rack mapping: a configuration property specifies a script that the master will execute to map IP addresses to internal and external names. It takes as input the IP address and a flag that specifies internal or external. The results from executing the script with internal would be handed to regionservers as their identity, the results from executing with external would be advertised in ZooKeeper. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301866#comment-14301866 ] Andrew Purtell commented on HBASE-12954: [~tedyu], your test needs to simulate a hostname resolving to foo.bar.com at the regionserver and baz.bar.com at the master for the same IP address. This sometimes happens. It is necessary for the master to tell the regionserver its identity lest we resurrect data loss issues from the past due to multiple assignment. You'll need to find a solution where the master remains in charge of defining regionserver identities. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301996#comment-14301996 ] Ted Yu commented on HBASE-12954: Currently HRegionServer has one ServerName field. In the above design, looks like it would maintain two ServerName fields. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12952) Seek with prefixtree may hang
[ https://issues.apache.org/jira/browse/HBASE-12952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Purtell updated HBASE-12952: --- Assignee: sinfox Seek with prefixtree may hang - Key: HBASE-12952 URL: https://issues.apache.org/jira/browse/HBASE-12952 Project: HBase Issue Type: Bug Components: regionserver Affects Versions: 1.0.0, 0.98.7, 0.98.8, 0.98.6.1, 0.98.9, 0.98.10 Reporter: sinfox Assignee: sinfox Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11 Attachments: hbase_0.98.6.1.patch I have upgraded my hbase cluster from hbase-0.96 to hbase-0.98.6.1,then i found some compaction hang on many regionserver, and the cpu costed100%. It looks like there is an infinite loop somewhere. From the log, i found StoreFileScanner.java : reseekAtOrAfter(HFileScanner s, KeyValue k) enterd an infinite loop. Read source code, I found en error on PrefixTreeArrayReversibleScanner.java : previousRowInternal() eg: A:fan:12, numCell:1 A : 1 - B A : 2 - C C: 3 - D C: 4 - E A: fan:12, numCell:1 B: fan,numCell:1 C: fan:34,numCell: 0 D: fan,numCell:1 E: fan,numCell:1 when currentNode is D, its previous node is B , but this function will return A. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12948) Increment#addColumn on the same column multi times produce wrong result
[ https://issues.apache.org/jira/browse/HBASE-12948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302059#comment-14302059 ] Andrew Purtell commented on HBASE-12948: A new method plus deprecation of the old will be fine, but we can't at this point change current 0.98 behavior of the old (and presumably to be deprecated) method. Increment#addColumn on the same column multi times produce wrong result Key: HBASE-12948 URL: https://issues.apache.org/jira/browse/HBASE-12948 Project: HBase Issue Type: Bug Components: Client, regionserver Reporter: hongyu bi Priority: Critical Attachments: 12948-v2.patch, 12948-v3.patch, HBASE-12948-0.99.2-v1.patch, HBASE-12948-v0.patch, HBASE-12948.patch Case: Initially get('row1'): rowkey=row1 value=1 run: Increment increment = new Increment(Bytes.toBytes(row1)); for (int i = 0; i N; i++) { increment.addColumn(Bytes.toBytes(cf), Bytes.toBytes(c), 1) } hobi.increment(increment); get('row1'): if N=1 then result is 2 else if N1 the result will always be 1 Cause: https://issues.apache.org/jira/browse/HBASE-7114 let increment extent mutation which change familyMap from NavigableMap to List, so from client side, we can buffer many edits on the same column; However, HRegion#increment use idx to iterate the get's results, here results.sizefamily.value().size if N1,so the latter edits on the same column won't match the condition {idx results.size() CellUtil.matchingQualifier(results.get(idx), kv) }, meantime the edits share the same mvccVersion ,so this case happen. Fix: according to the put/delete#add on the same column behaviour , fix from server side: process last edit wins on the same column inside HRegion#increment to maintenance HBASE-7114's extension and keep the same result from 0.94. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302519#comment-14302519 ] Enis Soztutar commented on HBASE-12954: --- bq. So like Stack suggested, we need to disconnect the hostnames HBase uses internally from those posted to ZK for external consumption Maybe my understanding of this is not correct. I thought that we want to standardize on the hostnames used both internally and externally, but we do not want to do a reverse DNS resolution necessarily. In this case both the master address in zookeeper, and the region server addresses in meta table will be coming from configured (and hardcoded) hostnames. We can still have the master verify the hostname provided from the regionserver, and use it only if the forward resolution works. Otherwise it rejects the RS. The RS will never use hostnames other than configured. The traffic from master to RS or RS to RS can be separated out (if wanted) using custom hosts file or DNS setup. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302538#comment-14302538 ] stack commented on HBASE-12954: --- bq. I thought that we want to standardize on the hostnames used both internally and externally, but we do not want to do a reverse DNS resolution necessarily. In this case both the master address in zookeeper, and the region server addresses in meta table will be coming from configured (and hardcoded) hostnames. We can still have the master verify the hostname provided from the regionserver, and use it only if the forward resolution works. Otherwise it rejects the RS. The RS will never use hostnames other than configured. You are not describing how it currently works -- master tells the RS what to use so no need of reverse lookup -- nor are you describing what is in this patch (RS is rejected if it does not agree w/ what master has). Are you suggesting how it might work [~enis]? Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-10942) support parallel request cancellation for multi-get
[ https://issues.apache.org/jira/browse/HBASE-10942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Devaraj Das updated HBASE-10942: Attachment: 10942-branch-1.txt Thanks for the reviews, [~nkeywal] and [~ndimiduk]. Great to see you, [~nkeywal]! Attaching a patch for branch-1. support parallel request cancellation for multi-get --- Key: HBASE-10942 URL: https://issues.apache.org/jira/browse/HBASE-10942 Project: HBase Issue Type: Sub-task Reporter: Sergey Shelukhin Assignee: Nicolas Liochon Fix For: hbase-10070 Attachments: 10942-1.1.txt, 10942-branch-1.txt, 10942-for-98.zip, 10942.patch, HBASE-10942.01.patch, HBASE-10942.02.patch, HBASE-10942.patch -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302588#comment-14302588 ] Andrey Stepachev commented on HBASE-12035: -- [~stack] Thank you for looking at this patch. As for CellComparator I think it should work, lexicographically table row will be before region rows. I checked, and hope all scans set catalog family explicitly, so they shouldn't see table row if they don't expect them. As for branch-1 it can be ever simplier, because there is no protobuf and table descriptors still the same. Migration can be made in TableStateManager, it can read states from zk and update meta accordingly. If we don't want to support states in zk (that could break some apps, that are rely state in zk instead), we can make migration. If we want to keep things compatible, that would be a bit more work to support zkwatcher and state duplication to zk (may be with configuration property like 'enable.zk.state.compat') Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302622#comment-14302622 ] Enis Soztutar commented on HBASE-12954: --- bq. You are not describing how it currently works – master tells the RS what to use so no need of reverse lookup The RS connects to master with it's ip. Master does a reverse lookup (no?), and tells that to the region server its own hostname and RS uses it from then on. At least that is what I understand from the current code. What I am proposing is a slight alteration (which is similar to what the patch has since I was involved in the initial discussions for the patch) that: - we configure a hostname for the regionserver - RS sends the configured hostname over the region server startup rpc. - Master does not do a reverse DNS resolution, but instead uses the hostname coming from the RPC parameters. - Master does a forward resolution of the hostname to verify that it can talk to the region server. - The hostname (ServerName) is passed back to the RS, which uses it from then on. Again, correct me if I am wrong. I'll re-check the code. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrey Stepachev updated HBASE-12035: - Attachment: HBASE-12035.patch + fixing wrong delete from meta + fixing broken test + fixing npe in EnableTableHandler + fixing npe in RpcServer + fixing long lines Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrey Stepachev updated HBASE-12035: - Status: Patch Available (was: Open) Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-12956) Binding to 0.0.0.0 is broken after HBASE-10569
Esteban Gutierrez created HBASE-12956: - Summary: Binding to 0.0.0.0 is broken after HBASE-10569 Key: HBASE-12956 URL: https://issues.apache.org/jira/browse/HBASE-12956 Project: HBase Issue Type: Bug Affects Versions: 1.0.0 Reporter: Esteban Gutierrez After the Region Server and Master code was merged, we lost the functionality to bind to 0.0.0.0 via hbase.regionserver.ipc.address and znodes now get created with the wildcard address which means that RSs and the master. Thanks to [~dimaspivak] for reporting the issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12867) Shell does not support custom replication endpoint specification
[ https://issues.apache.org/jira/browse/HBASE-12867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Enis Soztutar updated HBASE-12867: -- Attachment: HBASE-12867-v3.patch Reattach again. Shell does not support custom replication endpoint specification Key: HBASE-12867 URL: https://issues.apache.org/jira/browse/HBASE-12867 Project: HBase Issue Type: Bug Reporter: Andrew Purtell Assignee: Kevin Risden Labels: beginner, beginners Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11 Attachments: HBASE-12867-v1.patch, HBASE-12867-v2.patch, HBASE-12867-v3.patch, HBASE-12867-v3.patch, HBASE-12867-v3.patch, HBASE-12867.patch On HBASE-12254 and also at https://github.com/risdenk/hbase-custom-replication-endpoint-example [~risdenk] made the following observations and suggestions regarding custom replication endpoints that I think are a reasonable blueprint for improvement: {quote} I was trying out the pluggable replication endpoint feature and found the following: - you must use the ReplicationAdmin to add the new ReplicationEndpoint - hbase shell add_peer command doesn't support specifying a custom class - hbase shell add_peer relies on the newly deprecated ReplicationAdmin addPeer methods - ReplicationAdmin addPeer tableCfs is now a MapTableName, ? extends CollectionString instead of a string {quote} We should fix the add_peer command in the shell at least. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrey Stepachev updated HBASE-12035: - Status: Open (was: Patch Available) Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-10942) support parallel request cancellation for multi-get
[ https://issues.apache.org/jira/browse/HBASE-10942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302612#comment-14302612 ] Nick Dimiduk commented on HBASE-10942: -- Patch looks good to me. +1 ... though which branch is this intended for? I thought 10070 branch was dead. The file name contains 1.1, so does that mean branch-1? Would be good to get branch-specific HadoopQA output for each target branch for this patch. support parallel request cancellation for multi-get --- Key: HBASE-10942 URL: https://issues.apache.org/jira/browse/HBASE-10942 Project: HBase Issue Type: Sub-task Reporter: Sergey Shelukhin Assignee: Nicolas Liochon Fix For: hbase-10070 Attachments: 10942-1.1.txt, 10942-for-98.zip, 10942.patch, HBASE-10942.01.patch, HBASE-10942.02.patch, HBASE-10942.patch -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302607#comment-14302607 ] stack commented on HBASE-12035: --- bq. Migration can be made in TableStateManager, it can read states from zk and update meta accordingly. This sounds great. bq. If we don't want to support states in zk (that could break some apps, that are rely state in zk instead), we can make migration. I would say that is you were reading from zk directly, its ok that you are broken when you go to branch-1. We can write up a release note when it goes in and call it out loudly. Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (HBASE-10942) support parallel request cancellation for multi-get
[ https://issues.apache.org/jira/browse/HBASE-10942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302637#comment-14302637 ] Devaraj Das edited comment on HBASE-10942 at 2/3/15 1:38 AM: - Thanks for the reviews, [~nkeywal] and [~ndimiduk]. Great to see you, [~nkeywal]! Attaching a patch for branch-1 (the previous one was for the master). was (Author: devaraj): Thanks for the reviews, [~nkeywal] and [~ndimiduk]. Great to see you, [~nkeywal]! Attaching a patch for branch-1. support parallel request cancellation for multi-get --- Key: HBASE-10942 URL: https://issues.apache.org/jira/browse/HBASE-10942 Project: HBase Issue Type: Sub-task Reporter: Sergey Shelukhin Assignee: Nicolas Liochon Fix For: hbase-10070 Attachments: 10942-1.1.txt, 10942-branch-1.txt, 10942-for-98.zip, 10942.patch, HBASE-10942.01.patch, HBASE-10942.02.patch, HBASE-10942.patch -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302638#comment-14302638 ] Andrey Stepachev commented on HBASE-12035: -- [~stack] great. let's roll that into branch2 and then I'll make backport to branch1. (btw, currently there is already code for migration, just need to teach it to go to zk) Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-12953) RegionServer is not functionally working with AysncRpcClient in secure mode
Ashish Singhi created HBASE-12953: - Summary: RegionServer is not functionally working with AysncRpcClient in secure mode Key: HBASE-12953 URL: https://issues.apache.org/jira/browse/HBASE-12953 Project: HBase Issue Type: Bug Components: security Affects Versions: 2.0.0, 1.1.0 Reporter: Ashish Singhi Priority: Critical HBase version 2.0.0 Default value for {{hbase.rpc.client.impl}} is set to AsyncRpcClient. When trying to install HBase with Kerberos, RegionServer is not working functionally. The following log is logged in its log file {noformat} 2015-02-02 14:59:05,407 WARN [AsyncRpcChannel-pool1-t1] channel.DefaultChannelPipeline: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. io.netty.channel.ChannelPipelineException: org.apache.hadoop.hbase.security.SaslClientHandler.handlerAdded() has thrown an exception; removed. at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:499) at io.netty.channel.DefaultChannelPipeline.callHandlerAdded(DefaultChannelPipeline.java:481) at io.netty.channel.DefaultChannelPipeline.addFirst0(DefaultChannelPipeline.java:114) at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:97) at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:235) at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:214) at org.apache.hadoop.hbase.ipc.AsyncRpcChannel$2.operationComplete(AsyncRpcChannel.java:194) at org.apache.hadoop.hbase.ipc.AsyncRpcChannel$2.operationComplete(AsyncRpcChannel.java:157) at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680) at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:603) at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:563) at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:406) at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:253) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:288) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) at java.lang.Thread.run(Thread.java:745) Caused by: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)] at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:212) at org.apache.hadoop.hbase.security.SaslClientHandler.handlerAdded(SaslClientHandler.java:154) at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:486) ... 20 more Caused by: GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt) at sun.security.jgss.krb5.Krb5InitCredential.getInstance(Krb5InitCredential.java:147) at sun.security.jgss.krb5.Krb5MechFactory.getCredentialElement(Krb5MechFactory.java:121) at sun.security.jgss.krb5.Krb5MechFactory.getMechanismContext(Krb5MechFactory.java:187) at sun.security.jgss.GSSManagerImpl.getMechanismContext(GSSManagerImpl.java:223) at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:212) at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179) at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:193) {noformat} When set hbase.rpc.client.impl to RpcClientImpl, there seems to be no issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12948) Increment#addColumn on the same column multi times produce wrong result
[ https://issues.apache.org/jira/browse/HBASE-12948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301072#comment-14301072 ] Hadoop QA commented on HBASE-12948: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12695886/12948-v3.patch against master branch at commit 86b8b8da0082bea9e8b9c43df917acd67a680cd1. ATTACHMENT ID: 12695886 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:red}-1 checkstyle{color}. The applied patch generated 1938 checkstyle errors (more than the master's current 1936 errors). {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12667//console This message is automatically generated. Increment#addColumn on the same column multi times produce wrong result Key: HBASE-12948 URL: https://issues.apache.org/jira/browse/HBASE-12948 Project: HBase Issue Type: Bug Components: Client, regionserver Reporter: hongyu bi Priority: Critical Attachments: 12948-v2.patch, 12948-v3.patch, HBASE-12948-0.99.2-v1.patch, HBASE-12948-v0.patch, HBASE-12948.patch Case: Initially get('row1'): rowkey=row1 value=1 run: Increment increment = new Increment(Bytes.toBytes(row1)); for (int i = 0; i N; i++) { increment.addColumn(Bytes.toBytes(cf), Bytes.toBytes(c), 1) } hobi.increment(increment); get('row1'): if N=1 then result is 2 else if N1 the result will always be 1 Cause: https://issues.apache.org/jira/browse/HBASE-7114 let increment extent mutation which change familyMap from NavigableMap to List, so from client side, we can buffer many edits on the same column; However, HRegion#increment use idx to iterate the get's results, here results.sizefamily.value().size if N1,so the latter edits on the same column won't match the condition {idx results.size() CellUtil.matchingQualifier(results.get(idx), kv) }, meantime the edits share the same mvccVersion
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302790#comment-14302790 ] zhangduo commented on HBASE-8329: - [~stack] There are some conflicts when cherry picking to branch-1. Let me resolve them. Patch will be ready soon. And I also have a patch for 0.98 that is currently used in our cluster. Is it worth to also port this it to 0.98? [~apurtell] Thanks~ Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] zhangduo updated HBASE-8329: Attachment: HBASE-8329-branch-1.patch Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302798#comment-14302798 ] stack commented on HBASE-8329: -- Will wait on the branch-1 patch before applying so they go in together. Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302797#comment-14302797 ] stack commented on HBASE-8329: -- [~Apache9] Would be coolio if you could report on how it is doing in your cluster, if it helps, etc. Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12108) HBaseConfiguration
[ https://issues.apache.org/jira/browse/HBASE-12108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aniket Bhatnagar updated HBASE-12108: - Labels: class_loader configuration patch (was: ) Affects Version/s: 0.98.6 Release Note: HBASE-12108 - This patch fixes hbase configuration not found issues when HBase jars are loaded in a child class loader whose parent has already loaded hadoop classes. Setting appropriate classloader in Configuration should fix this issue. Status: Patch Available (was: Open) This fixes https://issues.apache.org/jira/browse/HBASE-12108 HBaseConfiguration -- Key: HBASE-12108 URL: https://issues.apache.org/jira/browse/HBASE-12108 Project: HBase Issue Type: Bug Components: Client Affects Versions: 0.98.6 Reporter: Aniket Bhatnagar Priority: Minor Labels: patch, configuration, class_loader IN the setup wherein HBase jars are loaded in child classloader whose parent had loaded hadoop-common jar, HBaseConfiguration.create() throws hbase-default.xml file seems to be for and old version of HBase (null)... exception. ClassLoader should be set in Hadoop conf object before calling addHbaseResources method -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302680#comment-14302680 ] Hadoop QA commented on HBASE-12035: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696058/HBASE-12035.patch against master branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291. ATTACHMENT ID: 12696058 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 42 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 checkstyle{color}. The applied patch does not increase the total number of checkstyle errors {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.client.TestMetaWithReplicas Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12672//console This message is automatically generated. Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] zhangduo updated HBASE-8329: Attachment: HBASE-8329_17.patch Address issues on rb Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-7332) [webui] HMaster webui should display the number of regions a table has.
[ https://issues.apache.org/jira/browse/HBASE-7332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302835#comment-14302835 ] stack commented on HBASE-7332: -- Patch looks good. When does stuff get cleared from here? 79private final MapTableName, MapString, RegionState regionStatesTableIndex = 80new HashMapTableName, MapString, RegionState(); [webui] HMaster webui should display the number of regions a table has. --- Key: HBASE-7332 URL: https://issues.apache.org/jira/browse/HBASE-7332 Project: HBase Issue Type: Bug Components: UI Affects Versions: 2.0.0, 1.1.0 Reporter: Jonathan Hsieh Assignee: Andrey Stepachev Priority: Minor Labels: beginner Attachments: HBASE-7332.patch, Screen Shot 2014-07-28 at 4.10.01 PM.png Pre-0.96/trunk hbase displayed the number of regions per table in the table listing. Would be good to have this back. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302829#comment-14302829 ] Hadoop QA commented on HBASE-8329: -- {color:green}+1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696091/HBASE-8329_17.patch against master branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291. ATTACHMENT ID: 12696091 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 46 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 checkstyle{color}. The applied patch does not increase the total number of checkstyle errors {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12674//console This message is automatically generated. Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12108) HBaseConfiguration
[ https://issues.apache.org/jira/browse/HBASE-12108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aniket Bhatnagar updated HBASE-12108: - Attachment: HBaseConfiguration_HBASE_HBASE-12108.patch HBaseConfiguration -- Key: HBASE-12108 URL: https://issues.apache.org/jira/browse/HBASE-12108 Project: HBase Issue Type: Bug Components: Client Affects Versions: 0.98.6 Reporter: Aniket Bhatnagar Priority: Minor Labels: class_loader, configuration, patch Attachments: HBaseConfiguration_HBASE_HBASE-12108.patch IN the setup wherein HBase jars are loaded in child classloader whose parent had loaded hadoop-common jar, HBaseConfiguration.create() throws hbase-default.xml file seems to be for and old version of HBase (null)... exception. ClassLoader should be set in Hadoop conf object before calling addHbaseResources method -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-12957) region_mover#isSuccessfulScan may extremely slow on region with lots of expired data
hongyu bi created HBASE-12957: - Summary: region_mover#isSuccessfulScan may extremely slow on region with lots of expired data Key: HBASE-12957 URL: https://issues.apache.org/jira/browse/HBASE-12957 Project: HBase Issue Type: Improvement Components: scripts Reporter: hongyu bi Priority: Minor region_mover will call isSuccessfulScan when region has moved to make sure it's healthy, however , if the moved region has lots of expired data region_mover#isSuccessfulScan will take a long time to finish ,that may even exceed lease timeout.So I made isSuccessfulScan a get-like scan to achieve faster response in that case. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302667#comment-14302667 ] Clay B. commented on HBASE-12954: - [~apurtell] and [~stack], I think there's some past design I'm not catching as to a desire to split internal and external HBase identification. Is the desire for a split-view (internal/external) of a cluster, for a network having a completely isolated cluster (e.g. public access is not accessible from internal networks but somehow external requests can still permeate in and be answered); I can't quite envision such a network. Certainly, I've seen interesting issues running multiple region servers on the same machine but the port part of the {{RegionServerStatus}}(?) must be the key disambiguator there; in the CDH3 days (~0.90.4) one could certainly end up with duplicate registration due to inconsistent DNS/hostfile entries and that was bad; this would provide a canonical hostname from the region server should one chose to take matters into their own hands. I would be more concerned from an operations perspective that a mapping file (internal and external /etc/hosts for HBase) or script needs to be identical across a cluster (e.g. would need to be updated atomically) versus a configuration in a region server's hbase-site.xml which would be a single source of truth for that region server only and if incorrect would only affect that region server (ideally if we can figure out a good way to prevent potential duplicate registration otherwise duplicate registration could be a problem). It seems that a script would end up needing to query some atomic single source of truth like Zookeeper, Consul or etcd in the end anyways (as a master may jump e.g. due to a hardware failure at any time and one may want to move a region server(s)'s hostname) versus distributing responsibilty to the region servers and having a good check for duplicate registration. (Perhaps this could implement some UUID generation scheme as was suggested in the similar HBASE-3413, if protecting users from themselves is a key concern; also since work like HBASE-5844 has come about since the duplicate registration days, is this as big of a problem -- would we delete the znode of a competing region server?) Again, following the line of a mapping script/file, would the thought be that the master enforce some reregistration process so that if hosta 1.1.1.1 becomes hostb which was 1.1.1.2 we don't allow all sorts of havoc to come about because region server identiies were changed in the mapping file but no region server restart was performed? (Further, how would this be handled gracefully and the administrator handle coordination across a cluster?) Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the
[jira] [Commented] (HBASE-10942) support parallel request cancellation for multi-get
[ https://issues.apache.org/jira/browse/HBASE-10942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302718#comment-14302718 ] Hadoop QA commented on HBASE-10942: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696072/10942-branch-1.txt against branch-1 branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291. ATTACHMENT ID: 12696072 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 12 warning messages. {color:green}+1 checkstyle{color}. The applied patch does not increase the total number of checkstyle errors {color:red}-1 findbugs{color}. The patch appears to introduce 1 new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/checkstyle-aggregate.html Javadoc warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//artifact/patchprocess/patchJavadocWarnings.txt Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12673//console This message is automatically generated. support parallel request cancellation for multi-get --- Key: HBASE-10942 URL: https://issues.apache.org/jira/browse/HBASE-10942 Project: HBase Issue Type: Sub-task Reporter: Sergey Shelukhin Assignee: Nicolas Liochon Fix For: hbase-10070 Attachments: 10942-1.1.txt, 10942-branch-1.txt, 10942-for-98.zip, 10942.patch, HBASE-10942.01.patch, HBASE-10942.02.patch, HBASE-10942.patch -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-12035: -- Attachment: HBASE-12035 (1).patch Retry Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035 (1).patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302801#comment-14302801 ] zhangduo commented on HBASE-8329: - [~stack] , the branch-1 patch is ready, I have uploaded it just now. It is near the bottom of all the patches :) Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12452) Add regular expression based split policy
[ https://issues.apache.org/jira/browse/HBASE-12452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302820#comment-14302820 ] stack commented on HBASE-12452: --- [~heliangliang] Missing license on /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/KeyRegexPrefixRegionSplitPolicy.java You think patch adds to the checkstyle and findbugs warnings? Thanks boss. Add regular expression based split policy - Key: HBASE-12452 URL: https://issues.apache.org/jira/browse/HBASE-12452 Project: HBase Issue Type: Improvement Components: regionserver Reporter: He Liangliang Assignee: He Liangliang Priority: Minor Attachments: HBASE-12452-V2.patch, HBASE-12452-V2.patch, HBASE-12452.patch The current DelimitedKeyPrefixRegionSplitPolicy split policy is not flexible enough to describe the split point prefix in some case. A regex based split policy is proposed, for example: ^[^\x00]+\x00[^\x00]+\x00 means the split point will always be truncated to a prefix at the second \0 char. The binary string support is quite useful when the rowkey encoded by a common data access library instead of concatenated manually by application developer. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12957) region_mover#isSuccessfulScan may extremely slow on region with lots of expired data
[ https://issues.apache.org/jira/browse/HBASE-12957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] hongyu bi updated HBASE-12957: -- Description: region_mover will call isSuccessfulScan when region has moved to make sure it's healthy, however , if the moved region has lots of expired data region_mover#isSuccessfulScan will take a long time to finish ,that may even exceed lease timeout.So I made isSuccessfulScan a get-like scan to achieve faster response in that case. workaround:before graceful_stop/rolling_restart ,call major_compact on the table with small TTL was:region_mover will call isSuccessfulScan when region has moved to make sure it's healthy, however , if the moved region has lots of expired data region_mover#isSuccessfulScan will take a long time to finish ,that may even exceed lease timeout.So I made isSuccessfulScan a get-like scan to achieve faster response in that case. region_mover#isSuccessfulScan may extremely slow on region with lots of expired data Key: HBASE-12957 URL: https://issues.apache.org/jira/browse/HBASE-12957 Project: HBase Issue Type: Improvement Components: scripts Reporter: hongyu bi Priority: Minor Attachments: HBASE-12957-v0.patch region_mover will call isSuccessfulScan when region has moved to make sure it's healthy, however , if the moved region has lots of expired data region_mover#isSuccessfulScan will take a long time to finish ,that may even exceed lease timeout.So I made isSuccessfulScan a get-like scan to achieve faster response in that case. workaround:before graceful_stop/rolling_restart ,call major_compact on the table with small TTL -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12867) Shell does not support custom replication endpoint specification
[ https://issues.apache.org/jira/browse/HBASE-12867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302664#comment-14302664 ] Hadoop QA commented on HBASE-12867: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696053/HBASE-12867-v3.patch against master branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291. ATTACHMENT ID: 12696053 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 8 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 checkstyle{color}. The applied patch does not increase the total number of checkstyle errors {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: {color:red}-1 core zombie tests{color}. There are 2 zombie test(s): at org.apache.hadoop.test.GenericTestUtils.waitFor(GenericTestUtils.java:162) at org.apache.hadoop.hdfs.TestDistributedFileSystem.testGetFileBlockStorageLocationsError(TestDistributedFileSystem.java:852) at org.apache.hadoop.hbase.TestAcidGuarantees.testScanAtomicity(TestAcidGuarantees.java:354) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12671//console This message is automatically generated. Shell does not support custom replication endpoint specification Key: HBASE-12867 URL: https://issues.apache.org/jira/browse/HBASE-12867 Project: HBase Issue Type: Bug Reporter: Andrew Purtell Assignee: Kevin Risden Labels: beginner, beginners Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11 Attachments: HBASE-12867-v1.patch, HBASE-12867-v2.patch, HBASE-12867-v3.patch, HBASE-12867-v3.patch, HBASE-12867-v3.patch, HBASE-12867.patch On HBASE-12254 and also at https://github.com/risdenk/hbase-custom-replication-endpoint-example [~risdenk] made the following observations and suggestions regarding custom replication endpoints that I think are a reasonable blueprint for improvement: {quote} I was trying out the pluggable replication endpoint feature and found the following: - you must use the ReplicationAdmin to add the
[jira] [Commented] (HBASE-12951) TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation
[ https://issues.apache.org/jira/browse/HBASE-12951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302710#comment-14302710 ] zhangduo commented on HBASE-12951: -- Just a follow up [~stack], should we remove the FlakeyTests annotation of TestHCM? I run it several times locally and it is all passed. Thanks~ TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation Key: HBASE-12951 URL: https://issues.apache.org/jira/browse/HBASE-12951 Project: HBase Issue Type: Bug Components: IPC/RPC Affects Versions: 2.0.0, 1.1.0 Reporter: zhangduo Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-12951.patch Sometimes the background thread is stuck in table.get, here is the jstack result. testConnectionCloseThread prio=10 tid=0x7fdb296f9800 nid=0x6b5c in Object.wait() [0x7fdad1bf9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at java.lang.Object.wait(Object.java:503) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:254) - locked 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:32) at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:31) at org.apache.hadoop.hbase.ipc.AsyncRpcClient.call(AsyncRpcClient.java:181) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:213) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:287) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:31727) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:848) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:1) at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:120) at org.apache.hadoop.hbase.client.HTable.get(HTable.java:856) at org.apache.hadoop.hbase.client.TestHCM$3.run(TestHCM.java:371) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302731#comment-14302731 ] Clay B. commented on HBASE-12954: - [~stack] certainly this would be an optional parameter; instead of the resolution done today trying to figure out what is right; which still requires lots of fiddling and opens a cluster to cluster exogenous changes (e.g. an HBase only DNS server and specifying a particular physical interface which may host multiple IP addresses). My apologies for not being specific, this would only be used for those who are today either unserved by the DNS {{hbase.master.dns.nameserver}]/{{hbase.regionserver.dns.nameserver}} and {{hbase.master.dns.interface}}/{{hbase.regionserver.dns.interface}} route and would most certainly not replace any default behavior. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12439) Procedure V2
[ https://issues.apache.org/jira/browse/HBASE-12439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302746#comment-14302746 ] Enis Soztutar commented on HBASE-12439: --- Thanks Matteo. This is good. Similar to what has been discussed in other jiras, but with some implementation this time. bq. Suggest add JIRA number to doc. Suggest a sentence on how PV2 is NOT FATE. Add the work 'idempotent' in around this text ...in a way that each step must be able to be executed multiple times (generating the same result) a... (although if a rollback, I suppose it not idempotent?) The way I see it is that FATE execution is in stack, versus here is DAG. FATE calls the above adompotent, since the step can be in partially done or failed. So the step should work over the result of a partial execution from previous. For example, a step for creating a dir for the table in hdfs should not fail if the directory is already there. What is the diagram that talks about branch coordinators? Does not seem mentioned in the text. I think we should address fencing as a first level goal, and mention it in the state store implementation. If we make it explicit in store, alternative implementations if any has to take that into account. Fencing is really important because current master lacks it, and it is a potential cause for wracking havoc on the cluster. Proper fencing can only be achieved through the store, and only if active master does a state store operation for every action. For example, the master can do a register master' procedure as a way to commit its state, and prevent the previous master to do any more operation. I could not see a use of fencing through wal (or recover lease, etc) in the patch. bq. The main problem of using a table is that you end up with the chicken egg problem. This is easy to workaround. We can have two state store implementations. One is a smaller scale zk based one, for doing bootstrap. The other is for usual operations. However, I think we still do not need a table yet, but a state store can be implemented as a region opened in master. This way, we do not have to re-implement yet another wal, and custom in-memory data structures. Let me experiment with this approach on top of this patch. I'll take a more closer look at the patch as well. Procedure V2 Key: HBASE-12439 URL: https://issues.apache.org/jira/browse/HBASE-12439 Project: HBase Issue Type: New Feature Components: master Affects Versions: 2.0.0 Reporter: Matteo Bertozzi Assignee: Matteo Bertozzi Priority: Minor Attachments: ProcedureV2.pdf, Procedurev2Notification-Bus.pdf Procedure v2 (aka Notification Bus) aims to provide a unified way to build: * multi-steps procedure with a rollback/rollforward ability in case of failure (e.g. create/delete table) ** HBASE-12070 * notifications across multiple machines (e.g. ACLs/Labels/Quotas cache updates) ** Make sure that every machine has the grant/revoke/label ** Enforce space limit quota across the namespace ** HBASE-10295 eliminate permanent replication zk node * procedures across multiple machines (e.g. Snapshots) * coordinated long-running procedures (e.g. compactions, splits, ...) * Synchronous calls, with the ability to see the state/result in case of failure. ** HBASE-11608 sync split still work in progress/initial prototype: https://reviews.apache.org/r/27703/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302781#comment-14302781 ] stack commented on HBASE-8329: -- Patch LGTM. Looks like PressureAwareCompactionThroughputController is default? This will work for master branch. Want to make a patch for branch-1 where we have NoLimit and I'll commit that? Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-10900) FULL table backup and restore
[ https://issues.apache.org/jira/browse/HBASE-10900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302677#comment-14302677 ] Demai Ni commented on HBASE-10900: -- [~ram_krish], thanks for the ping. After chatted with several folks in hbase community, the plan is to build a stand-alone utility in github(or some place similar) instead of pushing the large portion of code into hbase core code. I think [~jinghe]is still planning to get it done. FULL table backup and restore - Key: HBASE-10900 URL: https://issues.apache.org/jira/browse/HBASE-10900 Project: HBase Issue Type: Task Reporter: Demai Ni Assignee: Demai Ni Fix For: 1.1.0 Attachments: HBASE-10900-fullbackup-trunk-v1.patch, HBASE-10900-trunk-v2.patch, HBASE-10900-trunk-v3.patch, HBASE-10900-trunk-v4.patch h2. Feature Description This is a subtask of [HBase-7912|https://issues.apache.org/jira/browse/HBASE-7912] to support FULL backup/restore, and will complete the following function: {code:title=Backup Restore example|borderStyle=solid} /* backup from sourcecluster to targetcluster */ /* if no table name specified, all tables from source cluster will be backuped */ [sourcecluster]$ hbase backup create full hdfs://hostname.targetcluster.org:9000/userid/backupdir t1_dn,t2_dn,t3_dn /* restore on targetcluser, this is a local restore */ /* backup_1396650096738 - backup image name */ /* t1_dn,etc are the original table names. All tables will be restored if not specified */ /* t1_dn_restore, etc. are the restored table. if not specified, orginal table name will be used*/ [targetcluster]$ hbase restore /userid/backupdir backup_1396650096738 t1_dn,t2_dn,t3_dn t1_dn_restore,t2_dn_restore,t3_dn_restore /* restore from targetcluster back to source cluster, this is a remote restore [sourcecluster]$ hbase restore hdfs://hostname.targetcluster.org:9000/userid/backupdir backup_1396650096738 t1_dn,t2_dn,t3_dn t1_dn_restore,t2_dn_restore,t3_dn_restore {code} h2. Detail layout and frame work for the next jiras The patch is a wrapper of the existing snapshot and exportSnapshot, and will use as the base framework for the over-all solution of [HBase-7912|https://issues.apache.org/jira/browse/HBASE-7912] as described below: * *bin/hbase* : end-user command line interface to invoke BackupClient and RestoreClient * *BackupClient.java* : 'main' entry for backup operations. This patch will only support 'full' backup. In future jiras, will support: ** *create* incremental backup ** *cancel* an ongoing backup ** *delete* an exisitng backup image ** *describe* the detailed informaiton of backup image ** show *history* of all successful backups ** show the *status* of the latest backup request ** *convert* incremental backup WAL files into HFiles. either on-the-fly during create or after create ** *merge* backup image ** *stop* backup a table of existing backup image ** *show* tables of a backup image * *BackupCommands.java* : a place to keep all the command usages and options * *BackupManager.java* : handle backup requests on server-side, create BACKUP ZOOKEEPER nodes to keep track backup. The timestamps kept in zookeeper will be used for future incremental backup (not included in this jira). Create BackupContext and DispatchRequest. * *BackupHandler.java* : in this patch, it is a wrapper of snapshot and exportsnapshot. In future jiras, ** *timestamps* info will be recorded in ZK ** carry on *incremental* backup. ** update backup *progress* ** set flags of *status* ** build up *backupManifest* file(in this jira only limited info for fullback. later on, timestamps and dependency of multipl backup images are also recorded here) ** clean up after *failed* backup ** clean up after *cancelled* backup ** allow on-the-fly *convert* during incremental backup * *BackupContext.java* : encapsulate backup information like backup ID, table names, directory info, phase, TimeStamps of backup progress, size of data, ancestor info, etc. * *BackupCopier.java* : the copying operation. Later on, to support progress report and mapper estimation; and extends DisCp for progress updating to ZK during backup. * *BackupExcpetion.java*: to handle exception from backup/restore * *BackupManifest.java* : encapsulate all the backup image information. The manifest info will be bundled as manifest file together with data. So that each backup image will contain all the info needed for restore. * *BackupStatus.java* : encapsulate backup status at table level during backup progress * *BackupUtil.java* : utility methods
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302706#comment-14302706 ] stack commented on HBASE-12954: --- bq. At least that is what I understand from the current code. That is basically what happens. The RS uses what the Master tells it to use however it came upon its notion. bq. we configure a hostname for the regionserver You mean optionally, right? Else -1 that RS has to have its 'name' specified in a config. The rest of the proposal seems predicated on this first step so awaiting clarification before commenting on the rest (This stuff seems a bit dodgy: Master does a forward resolution of the hostname to verify that it can talk to the region server.). Generally wary of change in this area because this was broke the longest time and took a while to achieve some stability. A patch out of no where w/o acknowledgement of the history around this issue w/o test is going to be viewed suspiciously. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302729#comment-14302729 ] stack commented on HBASE-12954: --- [~clayb] bq. I think there's some past design I'm not catching as to a desire to split internal and external HBase identification. I wouldn't call it 'design'. In past, hbase relied on folks setting up their named properly, but we were then repeatedly burned by master having one name for a regionserver but then the regionserver identifying itself by another (usually ip and resolved hostname); so one regionserver showed up twice. The 'fix' was to just let the master say what a regionserver should call itself. So, given users can't be expected to set up resolve properly, expecting them to set a 'hostname' in each RS site.xml, is of the same calibre; it is too much to ask. Its fine if it optional (with the master doing good defense to protect against it getting two misconfigured RS using same site.xml...) I take it you like something like the attached patch where optionally we take what the RS says we should use -- if it had extra stuff like the master-side defense against double-registration and actual tests to prove it works? Thanks for your quality input. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12951) TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation
[ https://issues.apache.org/jira/browse/HBASE-12951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302769#comment-14302769 ] stack commented on HBASE-12951: --- [~Apache9] Done. On master branch only since only it has the flakey marking. Did it as addendum on this issue. Thanks. TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation Key: HBASE-12951 URL: https://issues.apache.org/jira/browse/HBASE-12951 Project: HBase Issue Type: Bug Components: IPC/RPC Affects Versions: 2.0.0, 1.1.0 Reporter: zhangduo Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-12951.patch Sometimes the background thread is stuck in table.get, here is the jstack result. testConnectionCloseThread prio=10 tid=0x7fdb296f9800 nid=0x6b5c in Object.wait() [0x7fdad1bf9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at java.lang.Object.wait(Object.java:503) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:254) - locked 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:32) at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:31) at org.apache.hadoop.hbase.ipc.AsyncRpcClient.call(AsyncRpcClient.java:181) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:213) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:287) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:31727) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:848) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:1) at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:120) at org.apache.hadoop.hbase.client.HTable.get(HTable.java:856) at org.apache.hadoop.hbase.client.TestHCM$3.run(TestHCM.java:371) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-8329: - Resolution: Fixed Hadoop Flags: Reviewed Status: Resolved (was: Patch Available) Very nice addition [~Apache9] Thanks for working on this. Committed to branch-1+ Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12108) HBaseConfiguration
[ https://issues.apache.org/jira/browse/HBASE-12108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302840#comment-14302840 ] Aniket Bhatnagar commented on HBASE-12108: -- Alright.. I have attached the patch here HBaseConfiguration -- Key: HBASE-12108 URL: https://issues.apache.org/jira/browse/HBASE-12108 Project: HBase Issue Type: Bug Components: Client Affects Versions: 0.98.6 Reporter: Aniket Bhatnagar Priority: Minor Labels: class_loader, configuration, patch Attachments: HBaseConfiguration_HBASE_HBASE-12108.patch IN the setup wherein HBase jars are loaded in child classloader whose parent had loaded hadoop-common jar, HBaseConfiguration.create() throws hbase-default.xml file seems to be for and old version of HBase (null)... exception. ClassLoader should be set in Hadoop conf object before calling addHbaseResources method -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12108) HBaseConfiguration
[ https://issues.apache.org/jira/browse/HBASE-12108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aniket Bhatnagar updated HBASE-12108: - Release Note: This patch fixes hbase configuration not found issues when HBase jars are loaded in a child class loader whose parent has already loaded hadoop classes. Setting appropriate classloader in Configuration should fix this issue. (was: HBASE-12108 - This patch fixes hbase configuration not found issues when HBase jars are loaded in a child class loader whose parent has already loaded hadoop classes. Setting appropriate classloader in Configuration should fix this issue.) HBaseConfiguration -- Key: HBASE-12108 URL: https://issues.apache.org/jira/browse/HBASE-12108 Project: HBase Issue Type: Bug Components: Client Affects Versions: 0.98.6 Reporter: Aniket Bhatnagar Priority: Minor Labels: class_loader, configuration, patch Attachments: HBaseConfiguration_HBASE_HBASE-12108.patch IN the setup wherein HBase jars are loaded in child classloader whose parent had loaded hadoop-common jar, HBaseConfiguration.create() throws hbase-default.xml file seems to be for and old version of HBase (null)... exception. ClassLoader should be set in Hadoop conf object before calling addHbaseResources method -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12957) region_mover#isSuccessfulScan may extremely slow on region with lots of expired data
[ https://issues.apache.org/jira/browse/HBASE-12957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] hongyu bi updated HBASE-12957: -- Attachment: HBASE-12957-v0.patch region_mover#isSuccessfulScan may extremely slow on region with lots of expired data Key: HBASE-12957 URL: https://issues.apache.org/jira/browse/HBASE-12957 Project: HBase Issue Type: Improvement Components: scripts Reporter: hongyu bi Priority: Minor Attachments: HBASE-12957-v0.patch region_mover will call isSuccessfulScan when region has moved to make sure it's healthy, however , if the moved region has lots of expired data region_mover#isSuccessfulScan will take a long time to finish ,that may even exceed lease timeout.So I made isSuccessfulScan a get-like scan to achieve faster response in that case. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-11542) Unit Test KeyStoreTestUtil.java compilation failure in IBM JDK
[ https://issues.apache.org/jira/browse/HBASE-11542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301331#comment-14301331 ] pascal oliva commented on HBASE-11542: -- As the fix by using bouncycastle library as been approved into HADOOP-10847 i suggest to use the same fix. (already proposed here with HBASE-11542-4.patch) Unit Test KeyStoreTestUtil.java compilation failure in IBM JDK Key: HBASE-11542 URL: https://issues.apache.org/jira/browse/HBASE-11542 Project: HBase Issue Type: Bug Components: build, test Affects Versions: 0.99.0 Environment: IBM JDK 6, IBM JDK 7 Reporter: LinseyPang Priority: Critical Fix For: 2.0.0, 1.0.1, 1.1.0 Attachments: HBASE-11542-4.patch, HBASE-11542-5.patch, HBASE-11542-6.patch, HBASE_11542-1.patch, KeyStoreTestUtil.java.new1, client_crt, client_pkcs8, hbase11542-0.99-v3.patch, hbase11542-0.99-v3.patch, hbase11542-0.99-v3.patch, hbase_11542-v2.patch, server_crt, server_pkcs8, sslkeystore.patch In trunk, jira HBase-10336 added a utility test KeyStoreTestUtil.java, which leverages the following sun classes: import sun.security.x509.AlgorithmId; import sun.security.x509.CertificateAlgorithmId; this cause hbase compiler failure if using IBM JDK, There are similar classes like below in IBM jdk: import com.ibm.security.x509.AlgorithmId; import com.ibm.security.x509.CertificateAlgorithmId; This jira is to add handling of the x509 references. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-12954) Ability impared using HBase on multihomed hosts
Clay B. created HBASE-12954: --- Summary: Ability impared using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Priority: Minor For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request `hbase.master.ipc.address` or `hbase.regionserver.ipc.address` but one can not specify the desired HBase `hbase.master.hostname`. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12954) Ability impared using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Clay B. updated HBASE-12954: Attachment: Hadoop Three Interfaces.png Diagram showing two currently pathological networks: h3. Multi-homed/Multi-IP Bare Metal Here we see machines with multiple physical network interfaces (eth0, eth4.1000, eth5.1001) and mutiple IP addresses per physical interface (e.g. host-specific f-hostb.bach.example.com and a transient VIP services.bach.example.com). Here, we would want to bind HBase services to a specific IP address (i.e. 192.168.100.12) and we would want to advertise HBase services in Zookeeper at a specific hostname (i.e. f-hostb.bach.example.com). Using only a physical interface (i.e. eth5.1001) this is not possible. h3. OpenStack Here we see that each VM only knows of its internal (-int) address; i.e. if one runs an `ip addr list` they will only see a 100.127.0.0/24 address but in Zookeeper we would like to advertise the hostname which corresponds to the globally reachable NAT'd IP address (the 192.168.101.0/24) address (here for example `hosta.tenant.openstack.example.com`). Meanwhile, as the VM is unaware of the 192.168.101.0/24 network on its local IP stack we would have to bind to the hosts only IP interface 100.127.1.2. Ability impared using HBase on multihomed hosts --- Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Priority: Minor Attachments: Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request `hbase.master.ipc.address` or `hbase.regionserver.ipc.address` but one can not specify the desired HBase `hbase.master.hostname`. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-10942) support parallel request cancellation for multi-get
[ https://issues.apache.org/jira/browse/HBASE-10942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Devaraj Das updated HBASE-10942: Fix Version/s: (was: hbase-10070) 1.1.0 Assignee: Devaraj Das (was: Nicolas Liochon) Committed the patch. Thanks for the initial patches, Sergey and Nicolas. support parallel request cancellation for multi-get --- Key: HBASE-10942 URL: https://issues.apache.org/jira/browse/HBASE-10942 Project: HBase Issue Type: Sub-task Reporter: Sergey Shelukhin Assignee: Devaraj Das Fix For: 1.1.0 Attachments: 10942-1.1.txt, 10942-branch-1.txt, 10942-for-98.zip, 10942.patch, HBASE-10942.01.patch, HBASE-10942.02.patch, HBASE-10942.patch -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-10942) support parallel request cancellation for multi-get
[ https://issues.apache.org/jira/browse/HBASE-10942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Devaraj Das updated HBASE-10942: Resolution: Fixed Status: Resolved (was: Patch Available) support parallel request cancellation for multi-get --- Key: HBASE-10942 URL: https://issues.apache.org/jira/browse/HBASE-10942 Project: HBase Issue Type: Sub-task Reporter: Sergey Shelukhin Assignee: Devaraj Das Fix For: 1.1.0 Attachments: 10942-1.1.txt, 10942-branch-1.txt, 10942-for-98.zip, 10942.patch, HBASE-10942.01.patch, HBASE-10942.02.patch, HBASE-10942.patch -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302856#comment-14302856 ] Hadoop QA commented on HBASE-12035: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696096/HBASE-12035%20%281%29.patch against master branch at commit da30c72b7334891aff7b0cc353b18f7b9717043a. ATTACHMENT ID: 12696096 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 42 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 checkstyle{color}. The applied patch does not increase the total number of checkstyle errors {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.client.TestMetaWithReplicas {color:red}-1 core zombie tests{color}. There are 1 zombie test(s): Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12675//console This message is automatically generated. Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035 (1).patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This
[jira] [Created] (HBASE-12958) SSH doing hbase:meta get but hbase:meta not assigned
stack created HBASE-12958: - Summary: SSH doing hbase:meta get but hbase:meta not assigned Key: HBASE-12958 URL: https://issues.apache.org/jira/browse/HBASE-12958 Project: HBase Issue Type: Bug Affects Versions: 1.0.0 Reporter: stack Assignee: stack All master threads are blocked waiting on this call to return: {code} MASTER_SERVER_OPERATIONS-c2020:16020-2 #189 prio=5 os_prio=0 tid=0x7f4b0408b000 nid=0x7821 in Object.wait() [0x7f4ada24d000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:168) - locked 0x00041c374f50 (a java.util.concurrent.atomic.AtomicBoolean) at org.apache.hadoop.hbase.client.HTable.get(HTable.java:881) at org.apache.hadoop.hbase.MetaTableAccessor.get(MetaTableAccessor.java:208) at org.apache.hadoop.hbase.MetaTableAccessor.getRegionLocation(MetaTableAccessor.java:250) at org.apache.hadoop.hbase.MetaTableAccessor.getRegion(MetaTableAccessor.java:225) at org.apache.hadoop.hbase.master.RegionStates.serverOffline(RegionStates.java:634) - locked 0x00041c1f0d80 (a org.apache.hadoop.hbase.master.RegionStates) at org.apache.hadoop.hbase.master.AssignmentManager.processServerShutdown(AssignmentManager.java:3298) at org.apache.hadoop.hbase.master.handler.ServerShutdownHandler.process(ServerShutdownHandler.java:226) at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) {code} Master is stuck trying to find hbase:meta on the server that just crashed and that we just recovered: Mon Feb 02 23:00:02 PST 2015, null, java.net.SocketTimeoutException: callTimeout=6, callDuration=68181: row '' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=c2022.halxg.cloudera.com,16020,1422944918568, seqNum=0 Will add more detail in a sec. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302886#comment-14302886 ] Hadoop QA commented on HBASE-8329: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696098/HBASE-8329-branch-1.patch against branch-1 branch at commit da30c72b7334891aff7b0cc353b18f7b9717043a. ATTACHMENT ID: 12696098 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 46 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 12 warning messages. {color:green}+1 checkstyle{color}. The applied patch does not increase the total number of checkstyle errors {color:red}-1 findbugs{color}. The patch appears to introduce 1 new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + PressureAwareCompactionThroughputController.HBASE_HSTORE_COMPACTION_MAX_THROUGHPUT_HIGHER_BOUND, + PressureAwareCompactionThroughputController.HBASE_HSTORE_COMPACTION_MAX_THROUGHPUT_LOWER_BOUND, + PressureAwareCompactionThroughputController.HBASE_HSTORE_COMPACTION_MAX_THROUGHPUT_HIGHER_BOUND, + PressureAwareCompactionThroughputController.HBASE_HSTORE_COMPACTION_MAX_THROUGHPUT_LOWER_BOUND, + assertTrue(regionServer.compactSplitThread.getCompactionThroughputController() instanceof NoLimitCompactionThroughputController); {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/checkstyle-aggregate.html Javadoc warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//artifact/patchprocess/patchJavadocWarnings.txt Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12676//console This message is automatically generated. Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch,
[jira] [Commented] (HBASE-10900) FULL table backup and restore
[ https://issues.apache.org/jira/browse/HBASE-10900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302896#comment-14302896 ] Andrew Purtell commented on HBASE-10900: Then we should resolve this issue. FULL table backup and restore - Key: HBASE-10900 URL: https://issues.apache.org/jira/browse/HBASE-10900 Project: HBase Issue Type: Task Reporter: Demai Ni Assignee: Demai Ni Fix For: 1.1.0 Attachments: HBASE-10900-fullbackup-trunk-v1.patch, HBASE-10900-trunk-v2.patch, HBASE-10900-trunk-v3.patch, HBASE-10900-trunk-v4.patch h2. Feature Description This is a subtask of [HBase-7912|https://issues.apache.org/jira/browse/HBASE-7912] to support FULL backup/restore, and will complete the following function: {code:title=Backup Restore example|borderStyle=solid} /* backup from sourcecluster to targetcluster */ /* if no table name specified, all tables from source cluster will be backuped */ [sourcecluster]$ hbase backup create full hdfs://hostname.targetcluster.org:9000/userid/backupdir t1_dn,t2_dn,t3_dn /* restore on targetcluser, this is a local restore */ /* backup_1396650096738 - backup image name */ /* t1_dn,etc are the original table names. All tables will be restored if not specified */ /* t1_dn_restore, etc. are the restored table. if not specified, orginal table name will be used*/ [targetcluster]$ hbase restore /userid/backupdir backup_1396650096738 t1_dn,t2_dn,t3_dn t1_dn_restore,t2_dn_restore,t3_dn_restore /* restore from targetcluster back to source cluster, this is a remote restore [sourcecluster]$ hbase restore hdfs://hostname.targetcluster.org:9000/userid/backupdir backup_1396650096738 t1_dn,t2_dn,t3_dn t1_dn_restore,t2_dn_restore,t3_dn_restore {code} h2. Detail layout and frame work for the next jiras The patch is a wrapper of the existing snapshot and exportSnapshot, and will use as the base framework for the over-all solution of [HBase-7912|https://issues.apache.org/jira/browse/HBASE-7912] as described below: * *bin/hbase* : end-user command line interface to invoke BackupClient and RestoreClient * *BackupClient.java* : 'main' entry for backup operations. This patch will only support 'full' backup. In future jiras, will support: ** *create* incremental backup ** *cancel* an ongoing backup ** *delete* an exisitng backup image ** *describe* the detailed informaiton of backup image ** show *history* of all successful backups ** show the *status* of the latest backup request ** *convert* incremental backup WAL files into HFiles. either on-the-fly during create or after create ** *merge* backup image ** *stop* backup a table of existing backup image ** *show* tables of a backup image * *BackupCommands.java* : a place to keep all the command usages and options * *BackupManager.java* : handle backup requests on server-side, create BACKUP ZOOKEEPER nodes to keep track backup. The timestamps kept in zookeeper will be used for future incremental backup (not included in this jira). Create BackupContext and DispatchRequest. * *BackupHandler.java* : in this patch, it is a wrapper of snapshot and exportsnapshot. In future jiras, ** *timestamps* info will be recorded in ZK ** carry on *incremental* backup. ** update backup *progress* ** set flags of *status* ** build up *backupManifest* file(in this jira only limited info for fullback. later on, timestamps and dependency of multipl backup images are also recorded here) ** clean up after *failed* backup ** clean up after *cancelled* backup ** allow on-the-fly *convert* during incremental backup * *BackupContext.java* : encapsulate backup information like backup ID, table names, directory info, phase, TimeStamps of backup progress, size of data, ancestor info, etc. * *BackupCopier.java* : the copying operation. Later on, to support progress report and mapper estimation; and extends DisCp for progress updating to ZK during backup. * *BackupExcpetion.java*: to handle exception from backup/restore * *BackupManifest.java* : encapsulate all the backup image information. The manifest info will be bundled as manifest file together with data. So that each backup image will contain all the info needed for restore. * *BackupStatus.java* : encapsulate backup status at table level during backup progress * *BackupUtil.java* : utility methods during backup process * *RestoreClient.java* : 'main' entry for restore operations. This patch will only support 'full' backup. * *RestoreUtil.java*: utility methods during restore process * *ExportSnapshot.java* : remove
[jira] [Commented] (HBASE-12957) region_mover#isSuccessfulScan may extremely slow on region with lots of expired data
[ https://issues.apache.org/jira/browse/HBASE-12957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302851#comment-14302851 ] stack commented on HBASE-12957: --- For sure this works? You have evidence we actually find first item in the region before returning? If so, +1. Patch looks good to me. region_mover#isSuccessfulScan may extremely slow on region with lots of expired data Key: HBASE-12957 URL: https://issues.apache.org/jira/browse/HBASE-12957 Project: HBase Issue Type: Improvement Components: scripts Reporter: hongyu bi Priority: Minor Attachments: HBASE-12957-v0.patch region_mover will call isSuccessfulScan when region has moved to make sure it's healthy, however , if the moved region has lots of expired data region_mover#isSuccessfulScan will take a long time to finish ,that may even exceed lease timeout.So I made isSuccessfulScan a get-like scan to achieve faster response in that case. workaround:before graceful_stop/rolling_restart ,call major_compact on the table with small TTL -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12108) HBaseConfiguration
[ https://issues.apache.org/jira/browse/HBASE-12108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302852#comment-14302852 ] stack commented on HBASE-12108: --- Patch LGTM. Lets see what hadoopqa says. HBaseConfiguration -- Key: HBASE-12108 URL: https://issues.apache.org/jira/browse/HBASE-12108 Project: HBase Issue Type: Bug Components: Client Affects Versions: 0.98.6 Reporter: Aniket Bhatnagar Priority: Minor Labels: class_loader, configuration, patch Attachments: HBaseConfiguration_HBASE_HBASE-12108.patch IN the setup wherein HBase jars are loaded in child classloader whose parent had loaded hadoop-common jar, HBaseConfiguration.create() throws hbase-default.xml file seems to be for and old version of HBase (null)... exception. ClassLoader should be set in Hadoop conf object before calling addHbaseResources method -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302912#comment-14302912 ] Andrew Purtell commented on HBASE-8329: --- Porting to 0.98 should be fine. We'd do it the same way as we did it for branch-1. If you have an 0.98 patch please put it up and I'll review it for compatibility and check it in if it looks good. Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12957) region_mover#isSuccessfulScan may extremely slow on region with lots of expired data
[ https://issues.apache.org/jira/browse/HBASE-12957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302862#comment-14302862 ] hongyu bi commented on HBASE-12957: --- IMO, isSuccessfulScan is called to make sure the target region is online and serving ,or it'll throw TableNotFoundException/TableNotEnabledException/NotServingRegionException.It's not have to make sure we find the first item. please correct me if wrong. thanks stack:) region_mover#isSuccessfulScan may extremely slow on region with lots of expired data Key: HBASE-12957 URL: https://issues.apache.org/jira/browse/HBASE-12957 Project: HBase Issue Type: Improvement Components: scripts Reporter: hongyu bi Priority: Minor Attachments: HBASE-12957-v0.patch region_mover will call isSuccessfulScan when region has moved to make sure it's healthy, however , if the moved region has lots of expired data region_mover#isSuccessfulScan will take a long time to finish ,that may even exceed lease timeout.So I made isSuccessfulScan a get-like scan to achieve faster response in that case. workaround:before graceful_stop/rolling_restart ,call major_compact on the table with small TTL -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-8329) Limit compaction speed
[ https://issues.apache.org/jira/browse/HBASE-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14302906#comment-14302906 ] Hudson commented on HBASE-8329: --- SUCCESS: Integrated in HBase-1.1 #133 (See [https://builds.apache.org/job/HBase-1.1/133/]) HBASE-8329 Limit compaction speed (stack: rev 2fd27ea80ca4a116efef52df504381387c4aec2b) * hbase-server/src/test/java/org/apache/hadoop/hbase/TestIOFencing.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionThroughputController.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCompactionWithThroughputController.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/PressureAwareCompactionThroughputController.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/NoLimitCompactionThroughputController.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/StripeCompactor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java * hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StripeStoreEngine.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreEngine.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeCompactor.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactionTool.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileManager.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionThroughputControllerFactory.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverScannerOpenHook.java * hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java Limit compaction speed -- Key: HBASE-8329 URL: https://issues.apache.org/jira/browse/HBASE-8329 Project: HBase Issue Type: Improvement Components: Compaction Reporter: binlijin Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-8329-10.patch, HBASE-8329-11.patch, HBASE-8329-12.patch, HBASE-8329-2-trunk.patch, HBASE-8329-3-trunk.patch, HBASE-8329-4-trunk.patch, HBASE-8329-5-trunk.patch, HBASE-8329-6-trunk.patch, HBASE-8329-7-trunk.patch, HBASE-8329-8-trunk.patch, HBASE-8329-9-trunk.patch, HBASE-8329-branch-1.patch, HBASE-8329-trunk.patch, HBASE-8329_13.patch, HBASE-8329_14.patch, HBASE-8329_15.patch, HBASE-8329_16.patch, HBASE-8329_17.patch There is no speed or resource limit for compaction,I think we should add this feature especially when request burst. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Clay B. updated HBASE-12954: Summary: Ability impaired using HBase on multihomed hosts (was: Ability impared using HBase on multihomed hosts) Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Priority: Minor Attachments: Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12951) TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation
[ https://issues.apache.org/jira/browse/HBASE-12951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-12951: -- Resolution: Fixed Fix Version/s: 1.1.0 2.0.0 Hadoop Flags: Reviewed Status: Resolved (was: Patch Available) Pushed to branch-1+ Thank you for the nice patch [~Apache9] and the review [~jurmous] TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation Key: HBASE-12951 URL: https://issues.apache.org/jira/browse/HBASE-12951 Project: HBase Issue Type: Bug Components: IPC/RPC Affects Versions: 2.0.0, 1.1.0 Reporter: zhangduo Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-12951.patch Sometimes the background thread is stuck in table.get, here is the jstack result. testConnectionCloseThread prio=10 tid=0x7fdb296f9800 nid=0x6b5c in Object.wait() [0x7fdad1bf9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at java.lang.Object.wait(Object.java:503) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:254) - locked 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:32) at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:31) at org.apache.hadoop.hbase.ipc.AsyncRpcClient.call(AsyncRpcClient.java:181) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:213) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:287) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:31727) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:848) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:1) at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:120) at org.apache.hadoop.hbase.client.HTable.get(HTable.java:856) at org.apache.hadoop.hbase.client.TestHCM$3.run(TestHCM.java:371) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ted Yu updated HBASE-12954: --- Status: Patch Available (was: Open) Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301442#comment-14301442 ] Ted Yu commented on HBASE-12954: Patch v1 adds hbase.regionserver.hostname config parameter which allows region server to specify the desired hostname to be published in zookeeper. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12953) RegionServer is not functionally working with AysncRpcClient in secure mode
[ https://issues.apache.org/jira/browse/HBASE-12953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301406#comment-14301406 ] stack commented on HBASE-12953: --- [~jurmous] Any input? Else I'll take a look. RegionServer is not functionally working with AysncRpcClient in secure mode --- Key: HBASE-12953 URL: https://issues.apache.org/jira/browse/HBASE-12953 Project: HBase Issue Type: Bug Components: security Affects Versions: 2.0.0, 1.1.0 Reporter: Ashish Singhi Priority: Critical HBase version 2.0.0 Default value for {{hbase.rpc.client.impl}} is set to AsyncRpcClient. When trying to install HBase with Kerberos, RegionServer is not working functionally. The following log is logged in its log file {noformat} 2015-02-02 14:59:05,407 WARN [AsyncRpcChannel-pool1-t1] channel.DefaultChannelPipeline: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. io.netty.channel.ChannelPipelineException: org.apache.hadoop.hbase.security.SaslClientHandler.handlerAdded() has thrown an exception; removed. at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:499) at io.netty.channel.DefaultChannelPipeline.callHandlerAdded(DefaultChannelPipeline.java:481) at io.netty.channel.DefaultChannelPipeline.addFirst0(DefaultChannelPipeline.java:114) at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:97) at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:235) at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:214) at org.apache.hadoop.hbase.ipc.AsyncRpcChannel$2.operationComplete(AsyncRpcChannel.java:194) at org.apache.hadoop.hbase.ipc.AsyncRpcChannel$2.operationComplete(AsyncRpcChannel.java:157) at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680) at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:603) at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:563) at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:406) at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:253) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:288) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) at java.lang.Thread.run(Thread.java:745) Caused by: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)] at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:212) at org.apache.hadoop.hbase.security.SaslClientHandler.handlerAdded(SaslClientHandler.java:154) at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:486) ... 20 more Caused by: GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt) at sun.security.jgss.krb5.Krb5InitCredential.getInstance(Krb5InitCredential.java:147) at sun.security.jgss.krb5.Krb5MechFactory.getCredentialElement(Krb5MechFactory.java:121) at sun.security.jgss.krb5.Krb5MechFactory.getMechanismContext(Krb5MechFactory.java:187) at sun.security.jgss.GSSManagerImpl.getMechanismContext(GSSManagerImpl.java:223) at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:212) at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179) at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:193) {noformat} When set hbase.rpc.client.impl to RpcClientImpl, there seems to be no issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-5954) Allow proper fsync support for HBase
[ https://issues.apache.org/jira/browse/HBASE-5954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301435#comment-14301435 ] stack commented on HBASE-5954: -- We could. Lets do that if can't make the API as is work. Allow proper fsync support for HBase Key: HBASE-5954 URL: https://issues.apache.org/jira/browse/HBASE-5954 Project: HBase Issue Type: Improvement Components: HFile, wal Reporter: Lars Hofhansl Assignee: Lars Hofhansl Priority: Critical Fix For: 2.0.0 Attachments: 5954-WIP-trunk.txt, 5954-WIP-v2-trunk.txt, 5954-trunk-hdfs-trunk-v2.txt, 5954-trunk-hdfs-trunk-v3.txt, 5954-trunk-hdfs-trunk-v4.txt, 5954-trunk-hdfs-trunk-v5.txt, 5954-trunk-hdfs-trunk-v6.txt, 5954-trunk-hdfs-trunk.txt, 5954-v3-trunk.txt, 5954-v3-trunk.txt, 5954-v4-trunk.txt, 5954-v5-trunk.txt, 5954-v6-trunk.txt, 5954-v6-trunk.txt, 5954-v6-trunk.txt, 5954-v6-trunk.txt, 5954-v6-trunk.txt, hbase-hdfs-744.txt At least get recommendation into 0.96 doc and some numbers running w/ this hdfs feature enabled. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ted Yu reassigned HBASE-12954: -- Assignee: Ted Yu Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12954) Ability impared using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Clay B. updated HBASE-12954: Description: For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. was: For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request `hbase.master.ipc.address` or `hbase.regionserver.ipc.address` but one can not specify the desired HBase `hbase.master.hostname`. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. Ability impared using HBase on multihomed hosts --- Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Priority: Minor Attachments: Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a
[jira] [Updated] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ted Yu updated HBASE-12954: --- Attachment: 12954-v1.txt Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrey Stepachev updated HBASE-12035: - Status: Patch Available (was: Open) Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301600#comment-14301600 ] stack commented on HBASE-12954: --- bq. In the current formation, region server suggests its hostname through RegionServerStatus to master. When you say the above [~tedyu], it seems that you do not know how the naming works in hbase. Looking at the patch, there is not even a test of what happens when regionserver specifies name. What is to prevent recurrence of bad old days where a regionserver would show twice in the regionserver listings; once w/ the name the master has for it and then with the name the regionserver chose for itself. The master tells the regionserver the name to use is how it works else they two diverge when naming is misconfigured. [~clayb] Sounds like we need to disconnect the name hbase uses internally from that posted to zk. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12951) TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation
[ https://issues.apache.org/jira/browse/HBASE-12951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301597#comment-14301597 ] Hudson commented on HBASE-12951: FAILURE: Integrated in HBase-TRUNK #6078 (See [https://builds.apache.org/job/HBase-TRUNK/6078/]) HBASE-12951 TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation (stack: rev fef78acf6534f6736c10d2054cf8cb479edd3291) * hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.java TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation Key: HBASE-12951 URL: https://issues.apache.org/jira/browse/HBASE-12951 Project: HBase Issue Type: Bug Components: IPC/RPC Affects Versions: 2.0.0, 1.1.0 Reporter: zhangduo Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-12951.patch Sometimes the background thread is stuck in table.get, here is the jstack result. testConnectionCloseThread prio=10 tid=0x7fdb296f9800 nid=0x6b5c in Object.wait() [0x7fdad1bf9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at java.lang.Object.wait(Object.java:503) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:254) - locked 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:32) at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:31) at org.apache.hadoop.hbase.ipc.AsyncRpcClient.call(AsyncRpcClient.java:181) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:213) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:287) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:31727) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:848) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:1) at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:120) at org.apache.hadoop.hbase.client.HTable.get(HTable.java:856) at org.apache.hadoop.hbase.client.TestHCM$3.run(TestHCM.java:371) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301625#comment-14301625 ] stack commented on HBASE-12035: --- [~octo47] I went over the patch. It looks good (what about the CellComparator expecting to be able to find ',' delimiters in these new table-specific rows... that works ok?) So, what about migration? Would be sweet to get this into hbase-1.0.1 but that would require it self-migrating. You think that possible? Or we have to wait till hbase-2.0? Thanks. Nice work. Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12108) HBaseConfiguration
[ https://issues.apache.org/jira/browse/HBASE-12108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301636#comment-14301636 ] stack commented on HBASE-12108: --- [~aniket] Mind attaching a patch here? Then folks have one place to look only for the back and forth on patches. Thank you. HBaseConfiguration -- Key: HBASE-12108 URL: https://issues.apache.org/jira/browse/HBASE-12108 Project: HBase Issue Type: Bug Components: Client Reporter: Aniket Bhatnagar Priority: Minor IN the setup wherein HBase jars are loaded in child classloader whose parent had loaded hadoop-common jar, HBaseConfiguration.create() throws hbase-default.xml file seems to be for and old version of HBase (null)... exception. ClassLoader should be set in Hadoop conf object before calling addHbaseResources method -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12452) Add regular expression based split policy
[ https://issues.apache.org/jira/browse/HBASE-12452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-12452: -- Attachment: HBASE-12452-V2.patch Retry Add regular expression based split policy - Key: HBASE-12452 URL: https://issues.apache.org/jira/browse/HBASE-12452 Project: HBase Issue Type: Improvement Components: regionserver Reporter: He Liangliang Assignee: He Liangliang Priority: Minor Attachments: HBASE-12452-V2.patch, HBASE-12452-V2.patch, HBASE-12452.patch The current DelimitedKeyPrefixRegionSplitPolicy split policy is not flexible enough to describe the split point prefix in some case. A regex based split policy is proposed, for example: ^[^\x00]+\x00[^\x00]+\x00 means the split point will always be truncated to a prefix at the second \0 char. The binary string support is quite useful when the rowkey encoded by a common data access library instead of concatenated manually by application developer. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301649#comment-14301649 ] Hadoop QA commented on HBASE-12954: --- {color:green}+1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12695936/12954-v1.txt against master branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291. ATTACHMENT ID: 12695936 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 checkstyle{color}. The applied patch does not increase the total number of checkstyle errors {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//console This message is automatically generated. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to
[jira] [Updated] (HBASE-12865) WALs may be deleted before they are replicated to peers
[ https://issues.apache.org/jira/browse/HBASE-12865?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] stack updated HBASE-12865: -- Priority: Critical (was: Major) WALs may be deleted before they are replicated to peers --- Key: HBASE-12865 URL: https://issues.apache.org/jira/browse/HBASE-12865 Project: HBase Issue Type: Bug Components: Replication Reporter: Liu Shaohui Priority: Critical By design, ReplicationLogCleaner guarantee that the WALs being in replication queue can't been deleted by the HMaster. The ReplicationLogCleaner gets the WAL set from zookeeper by scanning the replication zk node. But it may get uncompleted WAL set during replication failover for the scan operation is not atomic. For example: There are three region servers: rs1, rs2, rs3, and peer id 10. The layout of replication zookeeper nodes is: {code} /hbase/replication/rs/rs1/10/wals /rs2/10/wals /rs3/10/wals {code} - t1: the ReplicationLogCleaner finished scanning the replication queue of rs1, and start to scan the queue of rs2. - t2: region server rs3 is down, and rs1 take over rs3's replication queue. The new layout is {code} /hbase/replication/rs/rs1/10/wals /rs1/10-rs3/wals /rs2/10/wals /rs3 {code} - t3, the ReplicationLogCleaner finished scanning the queue of rs2, and start to scan the node of rs3. But the the queue has been moved to replication/rs1/10-rs3/WALS So the ReplicationLogCleaner will miss the WALs of rs3 in peer 10 and the hmaster may delete these WALs before they are replicated to peer clusters. We encountered this problem in our cluster and I think it's a serious bug for replication. Suggestions are welcomed to fix this bug. thx~ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12914) Mark public features that require HFilev3 Unstable in 0.98, warn in upgrade section
[ https://issues.apache.org/jira/browse/HBASE-12914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301664#comment-14301664 ] Nick Dimiduk commented on HBASE-12914: -- Just skimmed though the RB. Does it make sense to annotate them specifically as HFileV3, in the same way that we annotate limited-pivate APIs as for Phoenix or Coprocs? Mark public features that require HFilev3 Unstable in 0.98, warn in upgrade section --- Key: HBASE-12914 URL: https://issues.apache.org/jira/browse/HBASE-12914 Project: HBase Issue Type: Bug Components: API, documentation Affects Versions: 0.98.6, 0.98.7, 0.98.8, 0.98.9 Reporter: Sean Busbey Assignee: ramkrishna.s.vasudevan Priority: Critical Fix For: 0.98.11 Attachments: HBASE-12914-0.98.patch, HBASE-12914-branch-1.patch, HBASE-12914.patch There are several features in 0.98 that require enabling HFilev3 support. Some of those features include new extendable components that are marked IA.Public. Current practice has been to treat these features as experimental. This has included pushing non-compatible changes to branch-1 as the API got worked out through use in 0.98. * Update all of the IA.Public classes involved to make sure they are IS.Unstable in 0.98. * Update the ref guide section on upgrading from 0.98 - 1.0 to make folks aware of these changes. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301855#comment-14301855 ] Ted Yu commented on HBASE-12954: Tried to add a test where region server hostname is specified as different from what the normal hostname is - assuming multiple network interfaces are present. {code} EnumerationNetworkInterface netInterfaceList = NetworkInterface.getNetworkInterfaces(); while (netInterfaceList.hasMoreElements()) { NetworkInterface ni = netInterfaceList.nextElement(); EnumerationInetAddress addrList = ni.getInetAddresses(); while (addrList.hasMoreElements()) { InetAddress addr = addrList.nextElement(); LOG.info(Found + addr); } } {code} which produced: {code} 2015-02-02 12:09:34,351 INFO [Thread-1] regionserver.TestRegionServerName(71): Found /10.10.9.249 2015-02-02 12:09:34,353 INFO [Thread-1] regionserver.TestRegionServerName(71): Found /192.168.64.1 2015-02-02 12:09:34,354 INFO [Thread-1] regionserver.TestRegionServerName(71): Found /10.11.3.249 {code} Suppose 10.10.9.249 is the one that is returned by ia.getHostName() in regionServerStartup(). When 10.11.3.249 is specified as hostname, I got: {code} Caused by: java.net.ConnectException: Connection refused: /10.11.3.249:52284 at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:287) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) {code} The ports on the network interfaces need to be configured to have the corresponding value. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301538#comment-14301538 ] Ted Yu commented on HBASE-12954: In the current formation, region server suggests its hostname through RegionServerStatus to master. For the scenario where 0.98 region server with this feature talking to 1.0.0 master without this feature, the suggested hostname wouldn't be adopted. But this scenario shouldn't last long if the user wants to use this feature - once master with this feature is started, the feature works. Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-12035) Client does an RPC to master everytime a region is relocated
[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrey Stepachev updated HBASE-12035: - Status: Open (was: Patch Available) Client does an RPC to master everytime a region is relocated Key: HBASE-12035 URL: https://issues.apache.org/jira/browse/HBASE-12035 Project: HBase Issue Type: Improvement Components: Client, master Affects Versions: 2.0.0 Reporter: Enis Soztutar Assignee: Andrey Stepachev Priority: Critical Fix For: 2.0.0 Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of zookeeper. isTableDisabled() which is used in HConnectionImplementation.relocateRegion() now became a master RPC call rather than a zookeeper client call. Since we do relocateRegion() calls everytime we want to relocate a region (region moved, RS down, etc) this implies that when the master is down, the some of the clients for uncached regions will be affected. See HBASE-7767 and HBASE-11974 for some more background. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12951) TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation
[ https://issues.apache.org/jira/browse/HBASE-12951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301513#comment-14301513 ] Hudson commented on HBASE-12951: FAILURE: Integrated in HBase-1.1 #132 (See [https://builds.apache.org/job/HBase-1.1/132/]) HBASE-12951 TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation (stack: rev b8626afc883d6bfad916b3641ea438048a1e8b63) * hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.java TestHCM.testConnectionClose is flakey when using AsyncRpcClient as client implementation Key: HBASE-12951 URL: https://issues.apache.org/jira/browse/HBASE-12951 Project: HBase Issue Type: Bug Components: IPC/RPC Affects Versions: 2.0.0, 1.1.0 Reporter: zhangduo Assignee: zhangduo Fix For: 2.0.0, 1.1.0 Attachments: HBASE-12951.patch Sometimes the background thread is stuck in table.get, here is the jstack result. testConnectionCloseThread prio=10 tid=0x7fdb296f9800 nid=0x6b5c in Object.wait() [0x7fdad1bf9000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at java.lang.Object.wait(Object.java:503) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:254) - locked 0xf192d6e0 (a org.apache.hadoop.hbase.ipc.AsyncCall) at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:32) at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:31) at org.apache.hadoop.hbase.ipc.AsyncRpcClient.call(AsyncRpcClient.java:181) at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:213) at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:287) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:31727) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:848) at org.apache.hadoop.hbase.client.HTable$4.call(HTable.java:1) at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:120) at org.apache.hadoop.hbase.client.HTable.get(HTable.java:856) at org.apache.hadoop.hbase.client.TestHCM$3.run(TestHCM.java:371) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-12954) Ability impaired using HBase on multihomed hosts
[ https://issues.apache.org/jira/browse/HBASE-12954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14301545#comment-14301545 ] Dima Spivak commented on HBASE-12954: - I guess my concern was less around the rolling upgrade scenario (though that is an important one, good thought), and more having to do with a 0.98.x client with this feature enabled talking to a 1.0.0 cluster that didn't have knowledge of it. As long as the server can handle the unknown deserialized information without freaking out, it's fine by me. Is that doable with a change like this? Ability impaired using HBase on multihomed hosts Key: HBASE-12954 URL: https://issues.apache.org/jira/browse/HBASE-12954 Project: HBase Issue Type: Bug Affects Versions: 0.98.4 Reporter: Clay B. Assignee: Ted Yu Priority: Minor Attachments: 12954-v1.txt, Hadoop Three Interfaces.png For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify: # which IP interface to which HBase master or region-server will bind # what hostname HBase will advertise in Zookeeper both for a master or region-server process While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified. One has been able to request {{hbase.master.ipc.address}} or {{hbase.regionserver.ipc.address}} but one can not specify the desired HBase {{hbase.master.hostname}}. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.) I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful. Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time. I will attach two networking examples I use which become very difficult to manage under the current properties. -- This message was sent by Atlassian JIRA (v6.3.4#6332)