[jira] [Updated] (HBASE-18113) Handle old client without include_stop_row flag when startRow equals endRow

2017-05-25 Thread Phil Yang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Yang updated HBASE-18113:
--
  Resolution: Fixed
Hadoop Flags: Reviewed
  Status: Resolved  (was: Patch Available)

Pushed to master and branch-1. Thanks [~Apache9] for review.

> Handle old client without include_stop_row flag when startRow equals endRow
> ---
>
> Key: HBASE-18113
> URL: https://issues.apache.org/jira/browse/HBASE-18113
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.4.0
>Reporter: Phil Yang
>Assignee: Phil Yang
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-18113.v02.patch, HBASE-18113.v02.patch, 
> HBASE-18113.v03.patch
>
>
> Now we have include_start_row/include_stop_row flag in new version. Before 
> it, startRow is include and stopRow is exclude, but when startRow=endRow 
> there is a special logic that we consider it as a get and we should return 
> the value of this row to client.
> In the new client, if user set start=end we will change include_stop_row to 
> true for behavior compatibility. 
> We should also do a special logic if old client access new server for 
> compatibility at server.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18118) Default storage policy if not configured cannot be "NONE"

2017-05-25 Thread Yu Li (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025838#comment-16025838
 ] 

Yu Li commented on HBASE-18118:
---

+1

> Default storage policy if not configured cannot be "NONE"
> -
>
> Key: HBASE-18118
> URL: https://issues.apache.org/jira/browse/HBASE-18118
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-18118.patch
>
>
> HBase can't use 'NONE' as default storage policy if not configured because 
> HDFS supports no such policy. This policy name was probably available in a 
> precommit or early version of the HDFS side support for heterogeneous 
> storage. Now the best default is 'HOT'. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-16011) TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows

2017-05-25 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025834#comment-16025834
 ] 

Hudson commented on HBASE-16011:


SUCCESS: Integrated in Jenkins build HBase-Trunk_matrix #3077 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3077/])
HBASE-16011 TableSnapshotScanner and TableSnapshotInputFormat can (tedyu: rev 
f441ca0458b40556a64d564cf2d4aa15a0c0be1e)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/client/TableSnapshotScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestTableSnapshotScanner.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java


> TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows
> 
>
> Key: HBASE-16011
> URL: https://issues.apache.org/jira/browse/HBASE-16011
> Project: HBase
>  Issue Type: Bug
>  Components: snapshots
>Affects Versions: 2.0.0, 1.2.2
>Reporter: Youngjoon Kim
>Assignee: Zheng Hu
> Attachments: HBASE-16011.v1.patch, HBASE-16011.v2.patch, 
> HBASE-16011.v2.patch, snapshot_bug_test.patch
>
>
> A snapshot of (non-pre) split table can include both a parent region and 
> daughter regions. If run TableSnapshotScanner or TableSnapshotInputFormat on 
> the such snapshot, duplicate rows are produced.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities

2017-05-25 Thread Xiaobing Zhou (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025824#comment-16025824
 ] 

Xiaobing Zhou commented on HBASE-18078:
---

Coming next are:

# apply the APIs (e.g. ConnectionFactory and ConnectionPool) changes to all 
related places.
# In order to simulate various abnormal behaviors, it necessitates building a 
TestRpcServer, which can be started from samples in 
[BootstrapTest|https://github.com/facebook/wangle/blob/master/wangle/bootstrap/BootstrapTest.cpp]
# handle other abnormal cases such as defined in folly::AsyncSocketException
{code}
class AsyncSocketException : public std::runtime_error {
 public:
  enum AsyncSocketExceptionType {
UNKNOWN = 0,
NOT_OPEN = 1,
ALREADY_OPEN = 2,
TIMED_OUT = 3,
END_OF_FILE = 4,
INTERRUPTED = 5,
BAD_ARGS = 6,
CORRUPTED_DATA = 7,
INTERNAL_ERROR = 8,
NOT_SUPPORTED = 9,
INVALID_STATE = 10,
SSL_ERROR = 12,
COULD_NOT_BIND = 13,
SASL_HANDSHAKE_TIMEOUT = 14,
NETWORK_ERROR = 15
  };
{code}
#  add unit tests to cover them.

> [C++] Harden RPC by handling various communication abnormalities
> 
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormalities (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities

2017-05-25 Thread Xiaobing Zhou (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025812#comment-16025812
 ] 

Xiaobing Zhou commented on HBASE-18078:
---

Posted v0 patch to handle connection related issues, such as timeout.

The idea is to catch and propagate ConnectionException up. Therefore, from 
bottom of stack, whatever issues from establishing connection (i.e. Wangle 
pipeline) will be folly::AsyncSocketException wrapped within 
ConnectionException.

Note that there's no way to set socket options in Wangle ClientBootstrap, but 
fortunately, ClientBootstrap::connect supports setting our own timeout which is 
enough for now.

See also ConnectionFactory::Connect
{code}
try {
  /* any connection error (e.g. timeout) will be 
folly::AsyncSocketException */
auto pipeline = client->connect(
SocketAddress(hostname, port, true),
std::chrono::duration_cast(connect_timeout_)).get();
auto dispatcher = std::make_shared();
dispatcher->setPipeline(pipeline);
promise.setValue(dispatcher);
} catch(const folly::AsyncSocketException ) {
  promise.setException(
  folly::make_exception_wrapper(
  
folly::make_exception_wrapper(e)));
}
{code}


> [C++] Harden RPC by handling various communication abnormalities
> 
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormalities (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Attachment: (was: HBASE-18078.000.patch)

> [C++] Harden RPC by handling various communication abnormalities
> 
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormalities (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Attachment: HBASE-18078.000.patch

> [C++] Harden RPC by handling various communication abnormalities
> 
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormalities (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Attachment: (was: HBASE-18078.000.patch)

> [C++] Harden RPC by handling various communication abnormalities
> 
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormalities (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Attachment: HBASE-18078.000.patch

> [C++] Harden RPC by handling various communication abnormalities
> 
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormalities (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Description: 
RPC layer should handle various communication abnormalities (e.g. connection 
timeout, server aborted connection, and so on). Ideally, the corresponding 
exceptions should be raised and propagated through handlers of pipeline in 
client.


  was:
RPC layer should handle various communication abnormality (e.g. connection 
timeout, server aborted connection, and so on). Ideally, the corresponding 
exceptions should be raised and propagated through handlers of pipeline in 
client.



> [C++] Harden RPC by handling various communication abnormalities
> 
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormalities (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Summary: [C++] Harden RPC by handling various communication abnormalities  
(was: [C++] Implement RPC timeout)

> [C++] Harden RPC by handling various communication abnormalities
> 
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormality (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Implement RPC timeout

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Description: 
RPC layer should handle various communication abnormality (e.g. connection 
timeout, server aborted connection, and so on). Ideally, the corresponding 
exceptions should be raised and propagated through handlers of pipeline in 
client.


  was:
RPC layer should handle various communication abnormality (e.g. connection 
timeout, server aborted connection, and so on). Ideally, exceptions should be 
raised and propagated through handlers of pipeline in client.



> [C++] Implement RPC timeout
> ---
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormality (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Implement RPC timeout

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Description: 
RPC layer should handle various communication abnormality (e.g. connection 
timeout, server aborted connection, and so on). Ideally, exceptions should be 
raised and propagated through handlers of pipeline in client.


  was:
RPC layer should handle various connection abnormality (e.g. server aborted 
connection) through timeout. Ideally, exceptions should be raised and 
propagated through handlers of pipeline in client.



> [C++] Implement RPC timeout
> ---
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various communication abnormality (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, exceptions should be 
> raised and propagated through handlers of pipeline in client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18113) Handle old client without include_stop_row flag when startRow equals endRow

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025799#comment-16025799
 ] 

Hadoop QA commented on HBASE-18113:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 17s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s 
{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 
20s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 22s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
28s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
11s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 6s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 20s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
25s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 22s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 22s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
30s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
11s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
36m 4s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
17s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 21s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 37s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
8s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 49m 25s {color} 
| {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:757bf37 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869991/HBASE-18113.v03.patch 
|
| JIRA Issue | HBASE-18113 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 3322641fdaa9 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 
13:48:03 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / f441ca0 |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6964/testReport/ |
| modules | C: hbase-client U: hbase-client |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6964/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Handle old client without include_stop_row flag when startRow equals endRow
> ---
>
> Key: HBASE-18113
> URL: https://issues.apache.org/jira/browse/HBASE-18113
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.4.0
>   

[jira] [Commented] (HBASE-18113) Handle old client without include_stop_row flag when startRow equals endRow

2017-05-25 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025772#comment-16025772
 ] 

Duo Zhang commented on HBASE-18113:
---

+1.

> Handle old client without include_stop_row flag when startRow equals endRow
> ---
>
> Key: HBASE-18113
> URL: https://issues.apache.org/jira/browse/HBASE-18113
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.4.0
>Reporter: Phil Yang
>Assignee: Phil Yang
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-18113.v02.patch, HBASE-18113.v02.patch, 
> HBASE-18113.v03.patch
>
>
> Now we have include_start_row/include_stop_row flag in new version. Before 
> it, startRow is include and stopRow is exclude, but when startRow=endRow 
> there is a special logic that we consider it as a get and we should return 
> the value of this row to client.
> In the new client, if user set start=end we will change include_stop_row to 
> true for behavior compatibility. 
> We should also do a special logic if old client access new server for 
> compatibility at server.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3

2017-05-25 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025769#comment-16025769
 ] 

Duo Zhang commented on HBASE-18042:
---

OK, now branch-1.3 is also failed...

We need to find a solution...

[~busbey]

> Client Compatibility breaks between versions 1.2 and 1.3
> 
>
> Key: HBASE-18042
> URL: https://issues.apache.org/jira/browse/HBASE-18042
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver, scan
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Karan Mehta
>Assignee: Duo Zhang
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18042-branch-1.3.patch, 
> HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, 
> HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, 
> HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, 
> HBASE-18042-v2.patch
>
>
> OpenTSDB uses AsyncHBase as its client, rather than using the traditional 
> HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been 
> changed. Newer fields are added to {{ScanResponse}} proto.
> For a typical Scan request in 1.2, would require caller to make an 
> OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on 
> {{more_rows}} boolean field in the {{ScanResponse}} proto.
> However, from 1.3, new parameter {{more_results_in_region}} was added, which 
> limits the results per region. Therefore the client has to now manage sending 
> all the requests for each region. Further more, if the results are exhausted 
> from a particular region, the {{ScanResponse}} will set 
> {{more_results_in_region}} to false, but {{more_results}} can still be true. 
> Whenever the former is set to false, the {{RegionScanner}} will also be 
> closed. 
> OpenTSDB makes an OpenScanner Request and receives all its results in the 
> first {{ScanResponse}} itself, thus creating a condition as described in 
> above paragraph. Since {{more_rows}} is true, it will proceed to send next 
> request at which point the {{RSRpcServices}} will throw 
> {{UnknownScannerException}}. The protobuf client compatibility is maintained 
> but expected behavior is modified.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18113) Handle old client without include_stop_row flag when startRow equals endRow

2017-05-25 Thread Phil Yang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Yang updated HBASE-18113:
--
Attachment: HBASE-18113.v03.patch

Add a new ClientUtil

> Handle old client without include_stop_row flag when startRow equals endRow
> ---
>
> Key: HBASE-18113
> URL: https://issues.apache.org/jira/browse/HBASE-18113
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.4.0
>Reporter: Phil Yang
>Assignee: Phil Yang
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-18113.v02.patch, HBASE-18113.v02.patch, 
> HBASE-18113.v03.patch
>
>
> Now we have include_start_row/include_stop_row flag in new version. Before 
> it, startRow is include and stopRow is exclude, but when startRow=endRow 
> there is a special logic that we consider it as a get and we should return 
> the value of this row to client.
> In the new client, if user set start=end we will change include_stop_row to 
> true for behavior compatibility. 
> We should also do a special logic if old client access new server for 
> compatibility at server.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025765#comment-16025765
 ] 

Hadoop QA commented on HBASE-18042:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:red}-1{color} | {color:red} docker {color} | {color:red} 0m 24s 
{color} | {color:red} Docker failed to build yetus/hbase:e1e11ad. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869990/HBASE-18042-branch-1.3-v1.patch
 |
| JIRA Issue | HBASE-18042 |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6963/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Client Compatibility breaks between versions 1.2 and 1.3
> 
>
> Key: HBASE-18042
> URL: https://issues.apache.org/jira/browse/HBASE-18042
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver, scan
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Karan Mehta
>Assignee: Duo Zhang
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18042-branch-1.3.patch, 
> HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, 
> HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, 
> HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, 
> HBASE-18042-v2.patch
>
>
> OpenTSDB uses AsyncHBase as its client, rather than using the traditional 
> HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been 
> changed. Newer fields are added to {{ScanResponse}} proto.
> For a typical Scan request in 1.2, would require caller to make an 
> OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on 
> {{more_rows}} boolean field in the {{ScanResponse}} proto.
> However, from 1.3, new parameter {{more_results_in_region}} was added, which 
> limits the results per region. Therefore the client has to now manage sending 
> all the requests for each region. Further more, if the results are exhausted 
> from a particular region, the {{ScanResponse}} will set 
> {{more_results_in_region}} to false, but {{more_results}} can still be true. 
> Whenever the former is set to false, the {{RegionScanner}} will also be 
> closed. 
> OpenTSDB makes an OpenScanner Request and receives all its results in the 
> first {{ScanResponse}} itself, thus creating a condition as described in 
> above paragraph. Since {{more_rows}} is true, it will proceed to send next 
> request at which point the {{RSRpcServices}} will throw 
> {{UnknownScannerException}}. The protobuf client compatibility is maintained 
> but expected behavior is modified.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3

2017-05-25 Thread Duo Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-18042:
--
Attachment: HBASE-18042-branch-1.3-v1.patch

> Client Compatibility breaks between versions 1.2 and 1.3
> 
>
> Key: HBASE-18042
> URL: https://issues.apache.org/jira/browse/HBASE-18042
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver, scan
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Karan Mehta
>Assignee: Duo Zhang
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18042-branch-1.3.patch, 
> HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, 
> HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, 
> HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, 
> HBASE-18042-v2.patch
>
>
> OpenTSDB uses AsyncHBase as its client, rather than using the traditional 
> HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been 
> changed. Newer fields are added to {{ScanResponse}} proto.
> For a typical Scan request in 1.2, would require caller to make an 
> OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on 
> {{more_rows}} boolean field in the {{ScanResponse}} proto.
> However, from 1.3, new parameter {{more_results_in_region}} was added, which 
> limits the results per region. Therefore the client has to now manage sending 
> all the requests for each region. Further more, if the results are exhausted 
> from a particular region, the {{ScanResponse}} will set 
> {{more_results_in_region}} to false, but {{more_results}} can still be true. 
> Whenever the former is set to false, the {{RegionScanner}} will also be 
> closed. 
> OpenTSDB makes an OpenScanner Request and receives all its results in the 
> first {{ScanResponse}} itself, thus creating a condition as described in 
> above paragraph. Since {{more_rows}} is true, it will proceed to send next 
> request at which point the {{RSRpcServices}} will throw 
> {{UnknownScannerException}}. The protobuf client compatibility is maintained 
> but expected behavior is modified.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-15160) Put back HFile's HDFS op latency sampling code and add metrics for monitoring

2017-05-25 Thread Yu Li (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025754#comment-16025754
 ] 

Yu Li commented on HBASE-15160:
---

Thanks for reviving this [~enis], will check the patch and try the YCSB tests 
ASAP

bq. BTW, these metrics would have saved us days worth of debugging in a recent 
case, so let's get this patch in one way or the other.
Understood, the same in our case and it's the exact reason we already put this 
(a customized version) online for one and a half years (smile).

> Put back HFile's HDFS op latency sampling code and add metrics for monitoring
> -
>
> Key: HBASE-15160
> URL: https://issues.apache.org/jira/browse/HBASE-15160
> Project: HBase
>  Issue Type: Sub-task
>Affects Versions: 2.0.0, 1.1.2
>Reporter: Yu Li
>Assignee: Yu Li
>Priority: Critical
> Attachments: HBASE-15160.patch, HBASE-15160_v2.patch, 
> HBASE-15160_v3.patch, hbase-15160_v4.patch, hbase-15160_v5.patch, 
> hbase-15160_v6.patch
>
>
> In HBASE-11586 all HDFS op latency sampling code, including fsReadLatency, 
> fsPreadLatency and fsWriteLatency, have been removed. There was some 
> discussion about putting them back in a new JIRA but never happened. 
> According to our experience, these metrics are useful to judge whether issue 
> lies on HDFS when slow request occurs, so we propose to put them back in this 
> JIRA, and add the metrics for monitoring as well.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-16261) MultiHFileOutputFormat Enhancement

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025744#comment-16025744
 ] 

Hadoop QA commented on HBASE-16261:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 26s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 2 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 6m 
16s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 20s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
26s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
25s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 9s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 52s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 
27s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
27s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
26s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
58m 9s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 
25s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 51s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 215m 15s 
{color} | {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
54s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 299m 39s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.client.TestAsyncProcedureAdminApi |
|   | hadoop.hbase.client.TestAsyncRegionAdminApi |
|   | hadoop.hbase.util.TestHBaseFsckTwoRS |
|   | hadoop.hbase.client.TestAsyncBalancerAdminApi |
|   | hadoop.hbase.client.TestAsyncTableAdminApi |
|   | hadoop.hbase.client.TestBlockEvictionFromClient |
| Timed out junit tests | org.apache.hadoop.hbase.master.TestMasterFailover |
|   | org.apache.hadoop.hbase.client.TestMultiRespectsLimits |
|   | org.apache.hadoop.hbase.master.TestDistributedLogSplitting |
|   | org.apache.hadoop.hbase.snapshot.TestMobSecureExportSnapshot |
|   | org.apache.hadoop.hbase.master.TestMasterOperationsForRegionReplicas |
|   | org.apache.hadoop.hbase.util.TestHBaseFsckTwoRS |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.03.0-ce Server=17.03.0-ce Image:yetus/hbase:757bf37 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869942/HBase-16261-V9.patch |
| JIRA Issue | HBASE-16261 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 59a5b0b6e526 4.8.3-std-1 #1 SMP Fri Oct 21 11:15:43 UTC 2016 
x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / f441ca0 |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
| unit | 

[jira] [Updated] (HBASE-18119) Improve HFile readability and modify ChecksumUtil log level

2017-05-25 Thread Qilin Cao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qilin Cao updated HBASE-18119:
--
Affects Version/s: 2.0.0
   Status: Patch Available  (was: Open)

> Improve HFile readability and modify ChecksumUtil log level
> ---
>
> Key: HBASE-18119
> URL: https://issues.apache.org/jira/browse/HBASE-18119
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 2.0.0
>Reporter: Qilin Cao
>Assignee: Qilin Cao
>Priority: Minor
> Attachments: HBASE-18119-v1.patch
>
>
> It is confused when I read the HFile.checkHFileVersion method, so I change 
> the source code. Simultaneously, I change ChecksumUtil the info log level to 
> trace.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18119) Improve HFile readability and modify ChecksumUtil log level

2017-05-25 Thread Qilin Cao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qilin Cao updated HBASE-18119:
--
Attachment: HBASE-18119-v1.patch

Submit a patch!

> Improve HFile readability and modify ChecksumUtil log level
> ---
>
> Key: HBASE-18119
> URL: https://issues.apache.org/jira/browse/HBASE-18119
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 2.0.0
>Reporter: Qilin Cao
>Assignee: Qilin Cao
>Priority: Minor
> Attachments: HBASE-18119-v1.patch
>
>
> It is confused when I read the HFile.checkHFileVersion method, so I change 
> the source code. Simultaneously, I change ChecksumUtil the info log level to 
> trace.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (HBASE-18119) Improve HFile readability and modify ChecksumUtil log level

2017-05-25 Thread Qilin Cao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Qilin Cao reassigned HBASE-18119:
-

Assignee: Qilin Cao

> Improve HFile readability and modify ChecksumUtil log level
> ---
>
> Key: HBASE-18119
> URL: https://issues.apache.org/jira/browse/HBASE-18119
> Project: HBase
>  Issue Type: Improvement
>Reporter: Qilin Cao
>Assignee: Qilin Cao
>Priority: Minor
>
> It is confused when I read the HFile.checkHFileVersion method, so I change 
> the source code. Simultaneously, I change ChecksumUtil the info log level to 
> trace.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18066) Get with closest_row_before on "hbase:meta" can return empty Cell during region merge/split

2017-05-25 Thread Zheng Hu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025730#comment-16025730
 ] 

Zheng Hu commented on HBASE-18066:
--

[~busbey], FYI. 

> Get with closest_row_before on "hbase:meta" can return empty Cell during 
> region merge/split
> ---
>
> Key: HBASE-18066
> URL: https://issues.apache.org/jira/browse/HBASE-18066
> Project: HBase
>  Issue Type: Bug
>  Components: hbase, regionserver
>Affects Versions: 1.3.1
> Environment: Linux (16.04.2), MacOS 10.11.6.
> Standalone and distributed HBase setup.
>Reporter: Andrey Elenskiy
>Assignee: Zheng Hu
> Attachments: HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.1.v1.patch, HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.3.v1.patch, HBASE-18066.branch-1.3.v1.patch, 
> HBASE-18066.branch-1.v1.patch, HBASE-18066.branch-1.v2.patch, 
> HBASE-18066.branch-1.v3.patch, TestGetWithClosestRowBeforeWhenSplit.java
>
>
> During region split/merge there's a brief period of time where doing a "Get" 
> with "closest_row_before=true" on "hbase:meta" may return empty 
> "GetResponse.result.cell" field even though parent, splitA and splitB regions 
> are all in "hbase:meta". Both gohbase (https://github.com/tsuna/gohbase) and 
> AsyncHBase (https://github.com/OpenTSDB/asynchbase) interprets this as 
> "TableDoesNotExist", which is returned to the client.
> Here's a gist that reproduces this problem: 
> https://gist.github.com/Timoha/c7a236b768be9220e85e53e1ca53bf96. Note that 
> you have to use older HTable client (I used 1.2.4) as current versions ignore 
> `Get.setClosestRowBefore(bool)` option.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (HBASE-18119) Improve HFile readability and modify ChecksumUtil log level

2017-05-25 Thread Qilin Cao (JIRA)
Qilin Cao created HBASE-18119:
-

 Summary: Improve HFile readability and modify ChecksumUtil log 
level
 Key: HBASE-18119
 URL: https://issues.apache.org/jira/browse/HBASE-18119
 Project: HBase
  Issue Type: Improvement
Reporter: Qilin Cao
Priority: Minor


It is confused when I read the HFile.checkHFileVersion method, so I change the 
source code. Simultaneously, I change ChecksumUtil the info log level to trace.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18066) Get with closest_row_before on "hbase:meta" can return empty Cell during region merge/split

2017-05-25 Thread Zheng Hu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025726#comment-16025726
 ] 

Zheng Hu commented on HBASE-18066:
--

I've tried following shell commands to install oracle-java7-installer and 
failed.
{code}
Step 8 : RUN apt-get -q update && apt-get -q install --no-install-recommends -y 
software-properties-common
 ---> Using cache
 ---> e8bb99c68d6d
Step 9 : RUN add-apt-repository -y ppa:webupd8team/java
 ---> Using cache
 ---> e5856402bd14
Step 10 : RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 
select true | sudo /usr/bin/debconf-set-selections
 ---> Running in 0d3c79d66aa7
 ---> 1172173f42b9
Removing intermediate container 0d3c79d66aa7
Step 11 : RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 
select true | sudo /usr/bin/debconf-set-selections
 ---> Running in d2e322271e4e
 ---> d911c02484a3
Removing intermediate container d2e322271e4e
Step 12 : RUN apt-get -q update && apt-get -q install -y oracle-java7-installer
{code}

> Get with closest_row_before on "hbase:meta" can return empty Cell during 
> region merge/split
> ---
>
> Key: HBASE-18066
> URL: https://issues.apache.org/jira/browse/HBASE-18066
> Project: HBase
>  Issue Type: Bug
>  Components: hbase, regionserver
>Affects Versions: 1.3.1
> Environment: Linux (16.04.2), MacOS 10.11.6.
> Standalone and distributed HBase setup.
>Reporter: Andrey Elenskiy
>Assignee: Zheng Hu
> Attachments: HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.1.v1.patch, HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.3.v1.patch, HBASE-18066.branch-1.3.v1.patch, 
> HBASE-18066.branch-1.v1.patch, HBASE-18066.branch-1.v2.patch, 
> HBASE-18066.branch-1.v3.patch, TestGetWithClosestRowBeforeWhenSplit.java
>
>
> During region split/merge there's a brief period of time where doing a "Get" 
> with "closest_row_before=true" on "hbase:meta" may return empty 
> "GetResponse.result.cell" field even though parent, splitA and splitB regions 
> are all in "hbase:meta". Both gohbase (https://github.com/tsuna/gohbase) and 
> AsyncHBase (https://github.com/OpenTSDB/asynchbase) interprets this as 
> "TableDoesNotExist", which is returned to the client.
> Here's a gist that reproduces this problem: 
> https://gist.github.com/Timoha/c7a236b768be9220e85e53e1ca53bf96. Note that 
> you have to use older HTable client (I used 1.2.4) as current versions ignore 
> `Get.setClosestRowBefore(bool)` option.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (HBASE-18066) Get with closest_row_before on "hbase:meta" can return empty Cell during region merge/split

2017-05-25 Thread Zheng Hu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025726#comment-16025726
 ] 

Zheng Hu edited comment on HBASE-18066 at 5/26/17 2:47 AM:
---

I've tried following shell commands to install oracle-java7-installer under my 
ubuntu and failed.
{code}
Step 8 : RUN apt-get -q update && apt-get -q install --no-install-recommends -y 
software-properties-common
 ---> Using cache
 ---> e8bb99c68d6d
Step 9 : RUN add-apt-repository -y ppa:webupd8team/java
 ---> Using cache
 ---> e5856402bd14
Step 10 : RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 
select true | sudo /usr/bin/debconf-set-selections
 ---> Running in 0d3c79d66aa7
 ---> 1172173f42b9
Removing intermediate container 0d3c79d66aa7
Step 11 : RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 
select true | sudo /usr/bin/debconf-set-selections
 ---> Running in d2e322271e4e
 ---> d911c02484a3
Removing intermediate container d2e322271e4e
Step 12 : RUN apt-get -q update && apt-get -q install -y oracle-java7-installer
{code}


was (Author: openinx):
I've tried following shell commands to install oracle-java7-installer and 
failed.
{code}
Step 8 : RUN apt-get -q update && apt-get -q install --no-install-recommends -y 
software-properties-common
 ---> Using cache
 ---> e8bb99c68d6d
Step 9 : RUN add-apt-repository -y ppa:webupd8team/java
 ---> Using cache
 ---> e5856402bd14
Step 10 : RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 
select true | sudo /usr/bin/debconf-set-selections
 ---> Running in 0d3c79d66aa7
 ---> 1172173f42b9
Removing intermediate container 0d3c79d66aa7
Step 11 : RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 
select true | sudo /usr/bin/debconf-set-selections
 ---> Running in d2e322271e4e
 ---> d911c02484a3
Removing intermediate container d2e322271e4e
Step 12 : RUN apt-get -q update && apt-get -q install -y oracle-java7-installer
{code}

> Get with closest_row_before on "hbase:meta" can return empty Cell during 
> region merge/split
> ---
>
> Key: HBASE-18066
> URL: https://issues.apache.org/jira/browse/HBASE-18066
> Project: HBase
>  Issue Type: Bug
>  Components: hbase, regionserver
>Affects Versions: 1.3.1
> Environment: Linux (16.04.2), MacOS 10.11.6.
> Standalone and distributed HBase setup.
>Reporter: Andrey Elenskiy
>Assignee: Zheng Hu
> Attachments: HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.1.v1.patch, HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.3.v1.patch, HBASE-18066.branch-1.3.v1.patch, 
> HBASE-18066.branch-1.v1.patch, HBASE-18066.branch-1.v2.patch, 
> HBASE-18066.branch-1.v3.patch, TestGetWithClosestRowBeforeWhenSplit.java
>
>
> During region split/merge there's a brief period of time where doing a "Get" 
> with "closest_row_before=true" on "hbase:meta" may return empty 
> "GetResponse.result.cell" field even though parent, splitA and splitB regions 
> are all in "hbase:meta". Both gohbase (https://github.com/tsuna/gohbase) and 
> AsyncHBase (https://github.com/OpenTSDB/asynchbase) interprets this as 
> "TableDoesNotExist", which is returned to the client.
> Here's a gist that reproduces this problem: 
> https://gist.github.com/Timoha/c7a236b768be9220e85e53e1ca53bf96. Note that 
> you have to use older HTable client (I used 1.2.4) as current versions ignore 
> `Get.setClosestRowBefore(bool)` option.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18066) Get with closest_row_before on "hbase:meta" can return empty Cell during region merge/split

2017-05-25 Thread Zheng Hu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025718#comment-16025718
 ] 

Zheng Hu commented on HBASE-18066:
--

Seems like we often fail to install jdk7  for Hadoop QA.  ( RUN apt-get -q 
update && apt-get -q install -y oracle-java7-installer  failed) 
1. https://builds.apache.org/job/PreCommit-HBASE-Build/6921/console
2. https://builds.apache.org/job/PreCommit-HBASE-Build/6960/console



> Get with closest_row_before on "hbase:meta" can return empty Cell during 
> region merge/split
> ---
>
> Key: HBASE-18066
> URL: https://issues.apache.org/jira/browse/HBASE-18066
> Project: HBase
>  Issue Type: Bug
>  Components: hbase, regionserver
>Affects Versions: 1.3.1
> Environment: Linux (16.04.2), MacOS 10.11.6.
> Standalone and distributed HBase setup.
>Reporter: Andrey Elenskiy
>Assignee: Zheng Hu
> Attachments: HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.1.v1.patch, HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.3.v1.patch, HBASE-18066.branch-1.3.v1.patch, 
> HBASE-18066.branch-1.v1.patch, HBASE-18066.branch-1.v2.patch, 
> HBASE-18066.branch-1.v3.patch, TestGetWithClosestRowBeforeWhenSplit.java
>
>
> During region split/merge there's a brief period of time where doing a "Get" 
> with "closest_row_before=true" on "hbase:meta" may return empty 
> "GetResponse.result.cell" field even though parent, splitA and splitB regions 
> are all in "hbase:meta". Both gohbase (https://github.com/tsuna/gohbase) and 
> AsyncHBase (https://github.com/OpenTSDB/asynchbase) interprets this as 
> "TableDoesNotExist", which is returned to the client.
> Here's a gist that reproduces this problem: 
> https://gist.github.com/Timoha/c7a236b768be9220e85e53e1ca53bf96. Note that 
> you have to use older HTable client (I used 1.2.4) as current versions ignore 
> `Get.setClosestRowBefore(bool)` option.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18118) Default storage policy if not configured cannot be "NONE"

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025711#comment-16025711
 ] 

Hadoop QA commented on HBASE-18118:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 23s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s 
{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
42s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 16s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
22s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
10s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 
38s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 17s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
18s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
21s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
10s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
32m 40s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 
48s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 57s 
{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
8s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 43m 5s {color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:757bf37 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869973/HBASE-18118.patch |
| JIRA Issue | HBASE-18118 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux a3135f265126 3.13.0-105-generic #152-Ubuntu SMP Fri Dec 2 
15:37:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / f441ca0 |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6959/testReport/ |
| modules | C: hbase-common U: hbase-common |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6959/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Default storage policy if not configured cannot be "NONE"
> -
>
> Key: HBASE-18118
> URL: https://issues.apache.org/jira/browse/HBASE-18118
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Andrew 

[jira] [Commented] (HBASE-18066) Get with closest_row_before on "hbase:meta" can return empty Cell during region merge/split

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025701#comment-16025701
 ] 

Hadoop QA commented on HBASE-18066:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:red}-1{color} | {color:red} docker {color} | {color:red} 0m 37s 
{color} | {color:red} Docker failed to build yetus/hbase:de9b245. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869976/HBASE-18066.branch-1.1.v1.patch
 |
| JIRA Issue | HBASE-18066 |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6960/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Get with closest_row_before on "hbase:meta" can return empty Cell during 
> region merge/split
> ---
>
> Key: HBASE-18066
> URL: https://issues.apache.org/jira/browse/HBASE-18066
> Project: HBase
>  Issue Type: Bug
>  Components: hbase, regionserver
>Affects Versions: 1.3.1
> Environment: Linux (16.04.2), MacOS 10.11.6.
> Standalone and distributed HBase setup.
>Reporter: Andrey Elenskiy
>Assignee: Zheng Hu
> Attachments: HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.1.v1.patch, HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.3.v1.patch, HBASE-18066.branch-1.3.v1.patch, 
> HBASE-18066.branch-1.v1.patch, HBASE-18066.branch-1.v2.patch, 
> HBASE-18066.branch-1.v3.patch, TestGetWithClosestRowBeforeWhenSplit.java
>
>
> During region split/merge there's a brief period of time where doing a "Get" 
> with "closest_row_before=true" on "hbase:meta" may return empty 
> "GetResponse.result.cell" field even though parent, splitA and splitB regions 
> are all in "hbase:meta". Both gohbase (https://github.com/tsuna/gohbase) and 
> AsyncHBase (https://github.com/OpenTSDB/asynchbase) interprets this as 
> "TableDoesNotExist", which is returned to the client.
> Here's a gist that reproduces this problem: 
> https://gist.github.com/Timoha/c7a236b768be9220e85e53e1ca53bf96. Note that 
> you have to use older HTable client (I used 1.2.4) as current versions ignore 
> `Get.setClosestRowBefore(bool)` option.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18114) Update the config of TestAsync*AdminApi to make test stable

2017-05-25 Thread Guanghao Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guanghao Zhang updated HBASE-18114:
---
Attachment: HBASE-18114-v2.patch

> Update the config of TestAsync*AdminApi to make test stable
> ---
>
> Key: HBASE-18114
> URL: https://issues.apache.org/jira/browse/HBASE-18114
> Project: HBase
>  Issue Type: Sub-task
>  Components: Client
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-18114-v1.patch, HBASE-18114-v1.patch, 
> HBASE-18114-v1.patch, HBASE-18114-v2.patch, HBASE-18114-v2.patch
>
>
> {code}
> 2017-05-25 17:56:34,967 INFO  
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=50801] 
> master.HMaster$11(2297): Client=hao//127.0.0.1 disable testModifyColumnFamily
> 2017-05-25 17:56:37,974 INFO  [RpcClient-timer-pool1-t1] 
> client.AsyncHBaseAdmin$TableProcedureBiConsumer(2219): Operation: DISABLE, 
> Table Name: default:testModifyColumnFamily failed with Failed after 
> attempts=3, exceptions: 
> Thu May 25 17:56:35 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=294, waitTime=1008, 
> rpcTimeout=1000
> Thu May 25 17:56:37 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=295, waitTime=1299, 
> rpcTimeout=1000
> Thu May 25 17:56:37 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=296, waitTime=668, 
> rpcTimeout=660
> 017-05-25 17:56:38,936 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=50801] 
> procedure2.ProcedureExecutor(788): Stored procId=15, owner=hao, 
> state=RUNNABLE:DISABLE_TABLE_PREPARE, DisableTableProcedure 
> table=testModifyColumnFamily
> {code}
> For this disable table procedure, master return the procedure id when it 
> submit the procedure to ProcedureExecutor. And the above procedure take 4 
> seconds to submit. So the disable table call failed because the rpc timeout 
> is 1 seconds and the retry number is 3.
> For admin operation, I thought we don't need change the default timeout 
> config in unit test. And the retry is not need, too. (Or we can set a retry > 
> 1 to test nonce thing). Meanwhile, the default timeout is 60 seconds. So the 
> test type may need change to LargeTests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18066) Get with closest_row_before on "hbase:meta" can return empty Cell during region merge/split

2017-05-25 Thread Zheng Hu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zheng Hu updated HBASE-18066:
-
Attachment: HBASE-18066.branch-1.1.v1.patch

Trigger Hadoop QA  for branch-1.1 again.

> Get with closest_row_before on "hbase:meta" can return empty Cell during 
> region merge/split
> ---
>
> Key: HBASE-18066
> URL: https://issues.apache.org/jira/browse/HBASE-18066
> Project: HBase
>  Issue Type: Bug
>  Components: hbase, regionserver
>Affects Versions: 1.3.1
> Environment: Linux (16.04.2), MacOS 10.11.6.
> Standalone and distributed HBase setup.
>Reporter: Andrey Elenskiy
>Assignee: Zheng Hu
> Attachments: HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.1.v1.patch, HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.3.v1.patch, HBASE-18066.branch-1.3.v1.patch, 
> HBASE-18066.branch-1.v1.patch, HBASE-18066.branch-1.v2.patch, 
> HBASE-18066.branch-1.v3.patch, TestGetWithClosestRowBeforeWhenSplit.java
>
>
> During region split/merge there's a brief period of time where doing a "Get" 
> with "closest_row_before=true" on "hbase:meta" may return empty 
> "GetResponse.result.cell" field even though parent, splitA and splitB regions 
> are all in "hbase:meta". Both gohbase (https://github.com/tsuna/gohbase) and 
> AsyncHBase (https://github.com/OpenTSDB/asynchbase) interprets this as 
> "TableDoesNotExist", which is returned to the client.
> Here's a gist that reproduces this problem: 
> https://gist.github.com/Timoha/c7a236b768be9220e85e53e1ca53bf96. Note that 
> you have to use older HTable client (I used 1.2.4) as current versions ignore 
> `Get.setClosestRowBefore(bool)` option.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18118) Default storage policy if not configured cannot be "NONE"

2017-05-25 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025684#comment-16025684
 ] 

Ted Yu commented on HBASE-18118:


lgtm

> Default storage policy if not configured cannot be "NONE"
> -
>
> Key: HBASE-18118
> URL: https://issues.apache.org/jira/browse/HBASE-18118
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-18118.patch
>
>
> HBase can't use 'NONE' as default storage policy if not configured because 
> HDFS supports no such policy. This policy name was probably available in a 
> precommit or early version of the HDFS side support for heterogeneous 
> storage. Now the best default is 'HOT'. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18118) Default storage policy if not configured cannot be "NONE"

2017-05-25 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18118:
---
Attachment: HBASE-18118.patch

Simple patch. Eliminates log noise that can come about when WAL storage policy 
isn't set in the site file. 

> Default storage policy if not configured cannot be "NONE"
> -
>
> Key: HBASE-18118
> URL: https://issues.apache.org/jira/browse/HBASE-18118
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-18118.patch
>
>
> HBase can't use 'NONE' as default storage policy if not configured because 
> HDFS supports no such policy. This policy name was probably available in a 
> precommit or early version of the HDFS side support for heterogeneous 
> storage. Now the best default is 'HOT'. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18118) Default storage policy if not configured cannot be "NONE"

2017-05-25 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18118:
---
Status: Patch Available  (was: Open)

> Default storage policy if not configured cannot be "NONE"
> -
>
> Key: HBASE-18118
> URL: https://issues.apache.org/jira/browse/HBASE-18118
> Project: HBase
>  Issue Type: Bug
>  Components: wal
>Affects Versions: 2.0.0
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-18118.patch
>
>
> HBase can't use 'NONE' as default storage policy if not configured because 
> HDFS supports no such policy. This policy name was probably available in a 
> precommit or early version of the HDFS side support for heterogeneous 
> storage. Now the best default is 'HOT'. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (HBASE-18118) Default storage policy if not configured cannot be "NONE"

2017-05-25 Thread Andrew Purtell (JIRA)
Andrew Purtell created HBASE-18118:
--

 Summary: Default storage policy if not configured cannot be "NONE"
 Key: HBASE-18118
 URL: https://issues.apache.org/jira/browse/HBASE-18118
 Project: HBase
  Issue Type: Bug
  Components: wal
Affects Versions: 2.0.0
Reporter: Andrew Purtell
Assignee: Andrew Purtell
Priority: Minor
 Fix For: 2.0.0


HBase can't use 'NONE' as default storage policy if not configured because HDFS 
supports no such policy. This policy name was probably available in a precommit 
or early version of the HDFS side support for heterogeneous storage. Now the 
best default is 'HOT'. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3

2017-05-25 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025654#comment-16025654
 ] 

Duo Zhang commented on HBASE-18042:
---

Seems the download url is changed by oracle.

https://stackoverflow.com/questions/44142450/apt-get-installing-oracle-java-7-stopped-working.

> Client Compatibility breaks between versions 1.2 and 1.3
> 
>
> Key: HBASE-18042
> URL: https://issues.apache.org/jira/browse/HBASE-18042
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver, scan
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Karan Mehta
>Assignee: Duo Zhang
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18042-branch-1.3.patch, 
> HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, 
> HBASE-18042-branch-1-v1.patch, HBASE-18042-branch-1-v1.patch, 
> HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch
>
>
> OpenTSDB uses AsyncHBase as its client, rather than using the traditional 
> HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been 
> changed. Newer fields are added to {{ScanResponse}} proto.
> For a typical Scan request in 1.2, would require caller to make an 
> OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on 
> {{more_rows}} boolean field in the {{ScanResponse}} proto.
> However, from 1.3, new parameter {{more_results_in_region}} was added, which 
> limits the results per region. Therefore the client has to now manage sending 
> all the requests for each region. Further more, if the results are exhausted 
> from a particular region, the {{ScanResponse}} will set 
> {{more_results_in_region}} to false, but {{more_results}} can still be true. 
> Whenever the former is set to false, the {{RegionScanner}} will also be 
> closed. 
> OpenTSDB makes an OpenScanner Request and receives all its results in the 
> first {{ScanResponse}} itself, thus creating a condition as described in 
> above paragraph. Since {{more_rows}} is true, it will proceed to send next 
> request at which point the {{RSRpcServices}} will throw 
> {{UnknownScannerException}}. The protobuf client compatibility is maintained 
> but expected behavior is modified.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18114) Update the config of TestAsync*AdminApi to make test stable

2017-05-25 Thread Guanghao Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guanghao Zhang updated HBASE-18114:
---
Attachment: HBASE-18114-v2.patch

> Update the config of TestAsync*AdminApi to make test stable
> ---
>
> Key: HBASE-18114
> URL: https://issues.apache.org/jira/browse/HBASE-18114
> Project: HBase
>  Issue Type: Sub-task
>  Components: Client
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-18114-v1.patch, HBASE-18114-v1.patch, 
> HBASE-18114-v1.patch, HBASE-18114-v2.patch
>
>
> {code}
> 2017-05-25 17:56:34,967 INFO  
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=50801] 
> master.HMaster$11(2297): Client=hao//127.0.0.1 disable testModifyColumnFamily
> 2017-05-25 17:56:37,974 INFO  [RpcClient-timer-pool1-t1] 
> client.AsyncHBaseAdmin$TableProcedureBiConsumer(2219): Operation: DISABLE, 
> Table Name: default:testModifyColumnFamily failed with Failed after 
> attempts=3, exceptions: 
> Thu May 25 17:56:35 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=294, waitTime=1008, 
> rpcTimeout=1000
> Thu May 25 17:56:37 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=295, waitTime=1299, 
> rpcTimeout=1000
> Thu May 25 17:56:37 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=296, waitTime=668, 
> rpcTimeout=660
> 017-05-25 17:56:38,936 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=50801] 
> procedure2.ProcedureExecutor(788): Stored procId=15, owner=hao, 
> state=RUNNABLE:DISABLE_TABLE_PREPARE, DisableTableProcedure 
> table=testModifyColumnFamily
> {code}
> For this disable table procedure, master return the procedure id when it 
> submit the procedure to ProcedureExecutor. And the above procedure take 4 
> seconds to submit. So the disable table call failed because the rpc timeout 
> is 1 seconds and the retry number is 3.
> For admin operation, I thought we don't need change the default timeout 
> config in unit test. And the retry is not need, too. (Or we can set a retry > 
> 1 to test nonce thing). Meanwhile, the default timeout is 60 seconds. So the 
> test type may need change to LargeTests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18117) Increase resiliency by allowing more parameters for online config change

2017-05-25 Thread Karan Mehta (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025640#comment-16025640
 ] 

Karan Mehta commented on HBASE-18117:
-

The current framework only allows changes on the config parameters that are 
accessed only on the server side. If {{ConfigurationObserver}} is implemented 
by any of the classes from {{hbase-client}}, this will introduce a cyclic 
dependency between hbase-client and hbase-server projects and thus the build 
would fail. 

> Increase resiliency by allowing more parameters for online config change
> 
>
> Key: HBASE-18117
> URL: https://issues.apache.org/jira/browse/HBASE-18117
> Project: HBase
>  Issue Type: Improvement
>Reporter: Karan Mehta
>Assignee: Karan Mehta
>
> HBASE-8544 adds the feature to change config online without having a server 
> restart. This JIRA is to work on new parameters for the utilizing that 
> feature.
> As [~apurtell] suggested, following are the useful and frequently changing 
> parameters in production.
> - RPC limits, timeouts, and other performance relevant settings
> - Replication limits and batch sizes
> - Region carrying limit
> - WAL retention and cleaning parameters
> I will try to make the RPC timeout parameter online as a part of this JIRA. 
> If it seems suitable then we can extend it to other params.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18027) Replication should respect RPC size limits when batching edits

2017-05-25 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18027:
---
Attachment: HBASE-18027-branch-1.patch

The branch-1 patch is simpler. I keep the logging changes and only the clamping 
of replication queue capacity limit.

I did look into changing logic in ReplicationSource to check if we go overlimit 
_before_ adding an entry to the replication worklist, but the question then is 
what to do with that last read entry. Must be robust to failure. In-memory only 
'put back' queue will lose data upon failure. Seeking the reader back to before 
the most recent read did not test out to be robust with active chaos.

Instead we try to avoid creating an overlarge RPC by setting the replication 
queue capacity limit to the lesser of replication.source.size.capacity or 95% 
of the RPC size limit. This is trying a lot harder than we did previously to 
avoid the problem.

> Replication should respect RPC size limits when batching edits
> --
>
> Key: HBASE-18027
> URL: https://issues.apache.org/jira/browse/HBASE-18027
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18027-branch-1.patch, HBASE-18027.patch, 
> HBASE-18027.patch, HBASE-18027.patch, HBASE-18027.patch, HBASE-18027.patch
>
>
> In HBaseInterClusterReplicationEndpoint#replicate we try to replicate in 
> batches. We create N lists. N is the minimum of configured replicator 
> threads, number of 100-waledit batches, or number of current sinks. Every 
> pending entry in the replication context is then placed in order by hash of 
> encoded region name into one of these N lists. Each of the N lists is then 
> sent all at once in one replication RPC. We do not test if the sum of data in 
> each N list will exceed RPC size limits. This code presumes each individual 
> edit is reasonably small. Not checking for aggregate size while assembling 
> the lists into RPCs is an oversight and can lead to replication failure when 
> that assumption is violated.
> We can fix this by generating as many replication RPC calls as we need to 
> drain a list, keeping each RPC under limit, instead of assuming the whole 
> list will fit in one.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17997) In dev environment, add jruby-complete jar to classpath only when jruby is needed

2017-05-25 Thread Xiang Li (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025604#comment-16025604
 ] 

Xiang Li commented on HBASE-17997:
--

Ted, thanks for that!

> In dev environment, add jruby-complete jar to classpath only when jruby is 
> needed
> -
>
> Key: HBASE-17997
> URL: https://issues.apache.org/jira/browse/HBASE-17997
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Xiang Li
> Fix For: 2.0.0
>
> Attachments: HBASE-17997.master.000.patch, 
> HBASE-17997.master.001.patch, HBASE-17997.master.002.patch, 
> HBASE-17997.master.003.debug.diff, HBASE-17997.master.003.patch
>
>
> HBASE-15199 moves jruby-complete-1.6.8.jar to lib/ruby directory.
> However, jruby-complete-1.6.8.jar still appears in cached_classpath.txt
> This means that user would see exception similar to the following when 
> starting hbase in  standalone mode with s3a as rootdir :
> {code}
> 2017-05-04 16:41:32,854 WARN  
> [RpcServer.FifoWFPBQ.priority.handler=18,queue=0,port=38659] 
> internal.S3MetadataResponseHandler: Unable to parse last modified date: Thu, 
> 04 May 2017 16:27:09 GMT
> java.lang.IllegalStateException: Joda-time 2.2 or later version is required, 
> but found version: null
>   at com.amazonaws.util.DateUtils.handleException(DateUtils.java:149)
>   at com.amazonaws.util.DateUtils.parseRFC822Date(DateUtils.java:195)
>   at 
> com.amazonaws.services.s3.internal.ServiceUtils.parseRfc822Date(ServiceUtils.java:78)
>   at 
> com.amazonaws.services.s3.internal.AbstractS3ResponseHandler.populateObjectMetadata(AbstractS3ResponseHandler.java:115)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:52)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:30)
>   at 
> com.amazonaws.http.AmazonHttpClient.handleResponse(AmazonHttpClient.java:1072)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:746)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
>   at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
>   at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3785)
>   at 
> com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1191)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.reopen(S3AInputStream.java:148)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.lazySeek(S3AInputStream.java:281)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.read(S3AInputStream.java:364)
>   at org.apache.hadoop.fs.FSInputStream.read(FSInputStream.java:75)
>   at org.apache.hadoop.fs.FSDataInputStream.read(FSDataInputStream.java:92)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock.positionalReadWithExtra(HFileBlock.java:722)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1420)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockDataInternal(HFileBlock.java:1677)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockData(HFileBlock.java:1504)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:439)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.seekTo(HFileReaderV2.java:904)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:267)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:169)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:363)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.(StoreScanner.java:217)
>   at 
> org.apache.hadoop.hbase.regionserver.HStore.createScanner(HStore.java:2132)
>   at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:2122)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5687)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2679)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2665)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2647)
>   at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6906)
>   at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6885)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2007)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-15160) Put back HFile's HDFS op latency sampling code and add metrics for monitoring

2017-05-25 Thread Enis Soztutar (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-15160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Enis Soztutar updated HBASE-15160:
--
Attachment: hbase-15160_v6.patch

[~carp84] how about this patch.  
I've removed the extra counters and made it so that we are passing a boolean 
down from the getMetaBlock() function so that metrics are not updated for the 
meta blocks.  
The reason that we cannot move the timing and updating of metrics up the stack 
is that, the callers of readBlock() do not know whether the returned block is 
read from disk, or comes from cache. Is it easy enough for you to replicate the 
YCSB tests? I've done some basic testing, and did not find meaningful perf 
regression. 

BTW, these metrics would have saved us days worth of debugging in a recent 
case, so let's get this patch in one way or the other. 

> Put back HFile's HDFS op latency sampling code and add metrics for monitoring
> -
>
> Key: HBASE-15160
> URL: https://issues.apache.org/jira/browse/HBASE-15160
> Project: HBase
>  Issue Type: Sub-task
>Affects Versions: 2.0.0, 1.1.2
>Reporter: Yu Li
>Assignee: Yu Li
> Attachments: HBASE-15160.patch, HBASE-15160_v2.patch, 
> HBASE-15160_v3.patch, hbase-15160_v4.patch, hbase-15160_v5.patch, 
> hbase-15160_v6.patch
>
>
> In HBASE-11586 all HDFS op latency sampling code, including fsReadLatency, 
> fsPreadLatency and fsWriteLatency, have been removed. There was some 
> discussion about putting them back in a new JIRA but never happened. 
> According to our experience, these metrics are useful to judge whether issue 
> lies on HDFS when slow request occurs, so we propose to put them back in this 
> JIRA, and add the metrics for monitoring as well.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-15160) Put back HFile's HDFS op latency sampling code and add metrics for monitoring

2017-05-25 Thread Enis Soztutar (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-15160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Enis Soztutar updated HBASE-15160:
--
Priority: Critical  (was: Major)

> Put back HFile's HDFS op latency sampling code and add metrics for monitoring
> -
>
> Key: HBASE-15160
> URL: https://issues.apache.org/jira/browse/HBASE-15160
> Project: HBase
>  Issue Type: Sub-task
>Affects Versions: 2.0.0, 1.1.2
>Reporter: Yu Li
>Assignee: Yu Li
>Priority: Critical
> Attachments: HBASE-15160.patch, HBASE-15160_v2.patch, 
> HBASE-15160_v3.patch, hbase-15160_v4.patch, hbase-15160_v5.patch, 
> hbase-15160_v6.patch
>
>
> In HBASE-11586 all HDFS op latency sampling code, including fsReadLatency, 
> fsPreadLatency and fsWriteLatency, have been removed. There was some 
> discussion about putting them back in a new JIRA but never happened. 
> According to our experience, these metrics are useful to judge whether issue 
> lies on HDFS when slow request occurs, so we propose to put them back in this 
> JIRA, and add the metrics for monitoring as well.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-16392) Backup delete fault tolerance

2017-05-25 Thread Vladimir Rodionov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025575#comment-16025575
 ] 

Vladimir Rodionov commented on HBASE-16392:
---

{quote}
If deleteSnapshot() fails in the middle, 
BackupSystemTable.restoreFromSnapshot(conn) call in catch block would fail as 
well, right ?
{quote}

Good catch. Will need to fix this.

> Backup delete fault tolerance
> -
>
> Key: HBASE-16392
> URL: https://issues.apache.org/jira/browse/HBASE-16392
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>  Labels: backup
> Fix For: 2.0.0
>
> Attachments: HBASE-16392-v1.patch
>
>
> Backup delete modified file system and backup system table. We have to make 
> sure that operation is atomic, durable and isolated.
> Delete operation:
> # Start backup session (this guarantees) that system will be blocked for all 
> backup commands during delete operation
> # Save list of tables being deleted to system table
> # Before delete operation we take backup system table snapshot  
> # During delete operation we detect any failures and restore backup system 
> table from snapshot, then finish backup session
> # To guarantee consistency of the data, delete operation MUST be repeated
> # We guarantee that all file delete operations are idempotent, can be 
> repeated multiple times
> # Any backup operations will be blocked until consistency is restored
> # To restore consistency, repair command must be executed.
> # Repair command checks if there is failed delete op in a backup system 
> table, and repeats delete operation



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18078) [C++] Implement RPC timeout

2017-05-25 Thread Xiaobing Zhou (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaobing Zhou updated HBASE-18078:
--
Attachment: HBASE-18078.000.patch

> [C++] Implement RPC timeout
> ---
>
> Key: HBASE-18078
> URL: https://issues.apache.org/jira/browse/HBASE-18078
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Xiaobing Zhou
>Assignee: Xiaobing Zhou
> Attachments: HBASE-18078.000.patch
>
>
> RPC layer should handle various connection abnormality (e.g. server aborted 
> connection) through timeout. Ideally, exceptions should be raised and 
> propagated through handlers of pipeline in client.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18090) Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-05-25 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025520#comment-16025520
 ] 

Mikhail Antonov commented on HBASE-18090:
-

I actually just want to decouple two things: 1) decision making guiding table 
split layout on the cluster running HBase and serving traffic to applications 
and 2) amount of parallelism available in the batch processing.

So it's not necessarily about knowing the size of regions, its about knowing 
that if number of regions in snapshot is X and number of mapreduce slots is, 
for example, 5x, then I can run 5 tasks per region.

> Improve TableSnapshotInputFormat to allow more multiple mappers per region
> --
>
> Key: HBASE-18090
> URL: https://issues.apache.org/jira/browse/HBASE-18090
> Project: HBase
>  Issue Type: Improvement
>  Components: mapreduce
>Affects Versions: 1.4.0
>Reporter: Mikhail Antonov
> Attachments: HBASE-18090-branch-1.3-v1.patch
>
>
> TableSnapshotInputFormat runs one map task per region in the table snapshot. 
> This places unnecessary restriction that the region layout of the original 
> table needs to take the processing resources available to MR job into 
> consideration. Allowing to run multiple mappers per region (assuming 
> reasonably even key distribution) would be useful.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18090) Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-05-25 Thread Yi Liang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025515#comment-16025515
 ] 

Yi Liang commented on HBASE-18090:
--

ok, so if user know the size of region, they can considering split it into a 
reasonable number. Cool,   i will review the code today and tomorrow. 

> Improve TableSnapshotInputFormat to allow more multiple mappers per region
> --
>
> Key: HBASE-18090
> URL: https://issues.apache.org/jira/browse/HBASE-18090
> Project: HBase
>  Issue Type: Improvement
>  Components: mapreduce
>Affects Versions: 1.4.0
>Reporter: Mikhail Antonov
> Attachments: HBASE-18090-branch-1.3-v1.patch
>
>
> TableSnapshotInputFormat runs one map task per region in the table snapshot. 
> This places unnecessary restriction that the region layout of the original 
> table needs to take the processing resources available to MR job into 
> consideration. Allowing to run multiple mappers per region (assuming 
> reasonably even key distribution) would be useful.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18090) Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-05-25 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025511#comment-16025511
 ] 

Mikhail Antonov commented on HBASE-18090:
-

`int numSplitsPerRegion` param, passed in :)

> Improve TableSnapshotInputFormat to allow more multiple mappers per region
> --
>
> Key: HBASE-18090
> URL: https://issues.apache.org/jira/browse/HBASE-18090
> Project: HBase
>  Issue Type: Improvement
>  Components: mapreduce
>Affects Versions: 1.4.0
>Reporter: Mikhail Antonov
> Attachments: HBASE-18090-branch-1.3-v1.patch
>
>
> TableSnapshotInputFormat runs one map task per region in the table snapshot. 
> This places unnecessary restriction that the region layout of the original 
> table needs to take the processing resources available to MR job into 
> consideration. Allowing to run multiple mappers per region (assuming 
> reasonably even key distribution) would be useful.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18090) Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-05-25 Thread Yi Liang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025497#comment-16025497
 ] 

Yi Liang commented on HBASE-18090:
--

Hi Mikhail,
   Before dig into your patch, just have a questions, how do you decide how 
many mappers per region. 

> Improve TableSnapshotInputFormat to allow more multiple mappers per region
> --
>
> Key: HBASE-18090
> URL: https://issues.apache.org/jira/browse/HBASE-18090
> Project: HBase
>  Issue Type: Improvement
>  Components: mapreduce
>Affects Versions: 1.4.0
>Reporter: Mikhail Antonov
> Attachments: HBASE-18090-branch-1.3-v1.patch
>
>
> TableSnapshotInputFormat runs one map task per region in the table snapshot. 
> This places unnecessary restriction that the region layout of the original 
> table needs to take the processing resources available to MR job into 
> consideration. Allowing to run multiple mappers per region (assuming 
> reasonably even key distribution) would be useful.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (HBASE-16894) Create more than 1 split per region, generalize HBASE-12590

2017-05-25 Thread Yi Liang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025492#comment-16025492
 ] 

Yi Liang edited comment on HBASE-16894 at 5/25/17 10:36 PM:


Hi Mikhail,
  I will take a look at the  HBASE-18090.  I have a draft patch there in the 
review board, but it does not matter, let's what we can do to improve it. 


was (Author: easyliangjob):
Hi Mikhail,
  I will take a look at the  HBASE-18090 to see what we can do to improve it.  

> Create more than 1 split per region, generalize HBASE-12590
> ---
>
> Key: HBASE-16894
> URL: https://issues.apache.org/jira/browse/HBASE-16894
> Project: HBase
>  Issue Type: Improvement
>Reporter: Enis Soztutar
>Assignee: Yi Liang
> Attachments: ImplementaionAndSomeQuestion.docx
>
>
> A common request from users is to be able to better control how many map 
> tasks are created per region. Right now, it is always 1 region = 1 input 
> split = 1 map task. Same goes for Spark since it uses the TIF. With region 
> sizes as large as 50 GBs, it is desirable to be able to create more than 1 
> split per region.
> HBASE-12590 adds a config property for MR jobs to be able to handle skew in 
> region sizes. The algorithm is roughly: 
> {code}
> If (region size >= average size*ratio) : cut the region into two MR input 
> splits
> If (average size <= region size < average size*ratio) : one region as one MR 
> input split
> If (sum of several continuous regions size < average size * ratio): combine 
> these regions into one MR input split.
> {code}
> Although we can set data skew ratio to be 0.5 or something to abuse 
> HBASE-12590 into creating more than 1 split task per region, it is not ideal. 
> But there is no way to create more with the patch as it is. For example we 
> cannot create more than 2 tasks per region. 
> If we want to fix this properly, we should extend the approach in 
> HBASE-12590, and make it so that the client can specify the desired num of 
> mappers, or desired split size, and the TIF generates the splits based on the 
> current region sizes very similar to the algorithm in HBASE-12590, but a more 
> generic way. This also would eliminate the hand tuning of data skew ratio.
> We also can think about the guidepost approach that Phoenix has in the stats 
> table which is used for exactly this purpose. Right now, the region can be 
> split into powers of two assuming uniform distribution within the region. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-16894) Create more than 1 split per region, generalize HBASE-12590

2017-05-25 Thread Yi Liang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025492#comment-16025492
 ] 

Yi Liang commented on HBASE-16894:
--

Hi Mikhail,
  I will take a look at the  HBASE-18090 to see what we can do to improve it.  

> Create more than 1 split per region, generalize HBASE-12590
> ---
>
> Key: HBASE-16894
> URL: https://issues.apache.org/jira/browse/HBASE-16894
> Project: HBase
>  Issue Type: Improvement
>Reporter: Enis Soztutar
>Assignee: Yi Liang
> Attachments: ImplementaionAndSomeQuestion.docx
>
>
> A common request from users is to be able to better control how many map 
> tasks are created per region. Right now, it is always 1 region = 1 input 
> split = 1 map task. Same goes for Spark since it uses the TIF. With region 
> sizes as large as 50 GBs, it is desirable to be able to create more than 1 
> split per region.
> HBASE-12590 adds a config property for MR jobs to be able to handle skew in 
> region sizes. The algorithm is roughly: 
> {code}
> If (region size >= average size*ratio) : cut the region into two MR input 
> splits
> If (average size <= region size < average size*ratio) : one region as one MR 
> input split
> If (sum of several continuous regions size < average size * ratio): combine 
> these regions into one MR input split.
> {code}
> Although we can set data skew ratio to be 0.5 or something to abuse 
> HBASE-12590 into creating more than 1 split task per region, it is not ideal. 
> But there is no way to create more with the patch as it is. For example we 
> cannot create more than 2 tasks per region. 
> If we want to fix this properly, we should extend the approach in 
> HBASE-12590, and make it so that the client can specify the desired num of 
> mappers, or desired split size, and the TIF generates the splits based on the 
> current region sizes very similar to the algorithm in HBASE-12590, but a more 
> generic way. This also would eliminate the hand tuning of data skew ratio.
> We also can think about the guidepost approach that Phoenix has in the stats 
> table which is used for exactly this purpose. Right now, the region can be 
> split into powers of two assuming uniform distribution within the region. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-16261) MultiHFileOutputFormat Enhancement

2017-05-25 Thread Yi Liang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-16261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yi Liang updated HBASE-16261:
-
Attachment: HBase-16261-V9.patch

>  MultiHFileOutputFormat Enhancement 
> 
>
> Key: HBASE-16261
> URL: https://issues.apache.org/jira/browse/HBASE-16261
> Project: HBase
>  Issue Type: Sub-task
>  Components: hbase, mapreduce
>Affects Versions: 2.0.0
>Reporter: Yi Liang
>Assignee: Yi Liang
>Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-16261-V1.patch, HBASE-16261-V2.patch, 
> HBASE-16261-V3.patch, HBASE-16261-V4.patch, HBASE-16261-V5.patch, 
> HBase-16261-V6.patch, HBase-16261-V7.patch, HBase-16261-V8.patch, 
> HBase-16261-V9.patch
>
>
> MultiHFileOutputFormat follow HFileOutputFormat2
> (1) HFileOutputFormat2 can read one table's region split keys. and then 
> output multiple hfiles for one family, and each hfile map to one region. We 
> can add partitioner in MultiHFileOutputFormat to make it support this feature.
> (2) HFileOutputFormat2 support Customized Compression algorithm for column 
> family and BloomFilter, also support customized DataBlockEncoding for the 
> output hfiles. We can also make MultiHFileOutputFormat to support these 
> features.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (HBASE-18117) Increase resiliency by allowing more parameters for online config change

2017-05-25 Thread Karan Mehta (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Karan Mehta reassigned HBASE-18117:
---

Assignee: Karan Mehta

> Increase resiliency by allowing more parameters for online config change
> 
>
> Key: HBASE-18117
> URL: https://issues.apache.org/jira/browse/HBASE-18117
> Project: HBase
>  Issue Type: Improvement
>Reporter: Karan Mehta
>Assignee: Karan Mehta
>
> HBASE-8544 adds the feature to change config online without having a server 
> restart. This JIRA is to work on new parameters for the utilizing that 
> feature.
> As [~apurtell] suggested, following are the useful and frequently changing 
> parameters in production.
> - RPC limits, timeouts, and other performance relevant settings
> - Replication limits and batch sizes
> - Region carrying limit
> - WAL retention and cleaning parameters
> I will try to make the RPC timeout parameter online as a part of this JIRA. 
> If it seems suitable then we can extend it to other params.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (HBASE-18117) Increase resiliency by allowing more parameters for online config change

2017-05-25 Thread Karan Mehta (JIRA)
Karan Mehta created HBASE-18117:
---

 Summary: Increase resiliency by allowing more parameters for 
online config change
 Key: HBASE-18117
 URL: https://issues.apache.org/jira/browse/HBASE-18117
 Project: HBase
  Issue Type: Improvement
Reporter: Karan Mehta


HBASE-8544 adds the feature to change config online without having a server 
restart. This JIRA is to work on new parameters for the utilizing that feature.

As [~apurtell] suggested, following are the useful and frequently changing 
parameters in production.

- RPC limits, timeouts, and other performance relevant settings
- Replication limits and batch sizes
- Region carrying limit
- WAL retention and cleaning parameters

I will try to make the RPC timeout parameter online as a part of this JIRA. If 
it seems suitable then we can extend it to other params.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-14614) Procedure v2: Core Assignment Manager

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-14614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025397#comment-16025397
 ] 

Hadoop QA commented on HBASE-14614:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 30s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 98 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 18s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 6m 
14s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 4m 39s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 4m 
45s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 2m 
11s {color} | {color:green} master passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 5m 4s 
{color} | {color:red} hbase-protocol-shaded in master has 24 extant Findbugs 
warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 3m 18s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 20s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 
2s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 4m 41s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green} 4m 41s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 4m 41s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 4m 
55s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 2m 
12s {color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s 
{color} | {color:red} The patch has 654 line(s) that end in whitespace. Use git 
apply --whitespace=fix. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
62m 12s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green} 3m 
47s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 19m 
13s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 3m 38s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 3m 23s 
{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 5s 
{color} | {color:green} hbase-protocol-shaded in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 4m 8s 
{color} | {color:green} hbase-procedure in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 31s 
{color} | {color:green} hbase-hadoop-compat in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 43s 
{color} | {color:green} hbase-hadoop2-compat in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 4m 6s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 251m 0s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 48s 
{color} | {color:green} hbase-rsgroup in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 2m 
57s {color} | {color:green} The patch does not 

[jira] [Updated] (HBASE-16392) Backup delete fault tolerance

2017-05-25 Thread Vladimir Rodionov (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-16392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Rodionov updated HBASE-16392:
--
Description: 
Backup delete modified file system and backup system table. We have to make 
sure that operation is atomic, durable and isolated.

Delete operation:

# Start backup session (this guarantees) that system will be blocked for all 
backup commands during delete operation
# Save list of tables being deleted to system table
# Before delete operation we take backup system table snapshot  
# During delete operation we detect any failures and restore backup system 
table from snapshot, then finish backup session
# To guarantee consistency of the data, delete operation MUST be repeated
# We guarantee that all file delete operations are idempotent, can be repeated 
multiple times
# Any backup operations will be blocked until consistency is restored
# To restore consistency, repair command must be executed.
# Repair command checks if there is failed delete op in a backup system table, 
and repeats delete operation


  was:Backup delete modified file system and backup system table. We have to 
make sure that operation is atomic, durable and isolated.


> Backup delete fault tolerance
> -
>
> Key: HBASE-16392
> URL: https://issues.apache.org/jira/browse/HBASE-16392
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>  Labels: backup
> Fix For: 2.0.0
>
> Attachments: HBASE-16392-v1.patch
>
>
> Backup delete modified file system and backup system table. We have to make 
> sure that operation is atomic, durable and isolated.
> Delete operation:
> # Start backup session (this guarantees) that system will be blocked for all 
> backup commands during delete operation
> # Save list of tables being deleted to system table
> # Before delete operation we take backup system table snapshot  
> # During delete operation we detect any failures and restore backup system 
> table from snapshot, then finish backup session
> # To guarantee consistency of the data, delete operation MUST be repeated
> # We guarantee that all file delete operations are idempotent, can be 
> repeated multiple times
> # Any backup operations will be blocked until consistency is restored
> # To restore consistency, repair command must be executed.
> # Repair command checks if there is failed delete op in a backup system 
> table, and repeats delete operation



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17997) In dev environment, add jruby-complete jar to classpath only when jruby is needed

2017-05-25 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-17997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025389#comment-16025389
 ] 

Hudson commented on HBASE-17997:


SUCCESS: Integrated in Jenkins build HBase-Trunk_matrix #3076 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3076/])
HBASE-17997: In dev environment, add jruby-complete jar to classpath (tedyu: 
rev 4ab94744e2e17a9ec4614ebb5ad80598e5dfbcd5)
* (edit) bin/hbase
* (edit) bin/hbase.cmd
* (edit) hbase-assembly/pom.xml


> In dev environment, add jruby-complete jar to classpath only when jruby is 
> needed
> -
>
> Key: HBASE-17997
> URL: https://issues.apache.org/jira/browse/HBASE-17997
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Xiang Li
> Fix For: 2.0.0
>
> Attachments: HBASE-17997.master.000.patch, 
> HBASE-17997.master.001.patch, HBASE-17997.master.002.patch, 
> HBASE-17997.master.003.debug.diff, HBASE-17997.master.003.patch
>
>
> HBASE-15199 moves jruby-complete-1.6.8.jar to lib/ruby directory.
> However, jruby-complete-1.6.8.jar still appears in cached_classpath.txt
> This means that user would see exception similar to the following when 
> starting hbase in  standalone mode with s3a as rootdir :
> {code}
> 2017-05-04 16:41:32,854 WARN  
> [RpcServer.FifoWFPBQ.priority.handler=18,queue=0,port=38659] 
> internal.S3MetadataResponseHandler: Unable to parse last modified date: Thu, 
> 04 May 2017 16:27:09 GMT
> java.lang.IllegalStateException: Joda-time 2.2 or later version is required, 
> but found version: null
>   at com.amazonaws.util.DateUtils.handleException(DateUtils.java:149)
>   at com.amazonaws.util.DateUtils.parseRFC822Date(DateUtils.java:195)
>   at 
> com.amazonaws.services.s3.internal.ServiceUtils.parseRfc822Date(ServiceUtils.java:78)
>   at 
> com.amazonaws.services.s3.internal.AbstractS3ResponseHandler.populateObjectMetadata(AbstractS3ResponseHandler.java:115)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:52)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:30)
>   at 
> com.amazonaws.http.AmazonHttpClient.handleResponse(AmazonHttpClient.java:1072)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:746)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
>   at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
>   at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3785)
>   at 
> com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1191)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.reopen(S3AInputStream.java:148)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.lazySeek(S3AInputStream.java:281)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.read(S3AInputStream.java:364)
>   at org.apache.hadoop.fs.FSInputStream.read(FSInputStream.java:75)
>   at org.apache.hadoop.fs.FSDataInputStream.read(FSDataInputStream.java:92)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock.positionalReadWithExtra(HFileBlock.java:722)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1420)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockDataInternal(HFileBlock.java:1677)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockData(HFileBlock.java:1504)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:439)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.seekTo(HFileReaderV2.java:904)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:267)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:169)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:363)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.(StoreScanner.java:217)
>   at 
> org.apache.hadoop.hbase.regionserver.HStore.createScanner(HStore.java:2132)
>   at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:2122)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5687)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2679)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2665)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2647)
>   at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6906)
>   at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6885)
>   at 
> 

[jira] [Commented] (HBASE-16894) Create more than 1 split per region, generalize HBASE-12590

2017-05-25 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025366#comment-16025366
 ] 

Mikhail Antonov commented on HBASE-16894:
-

I was unaware of this jira so drafted something similar on HBASE-18090,  see 
the patch attached.

> Create more than 1 split per region, generalize HBASE-12590
> ---
>
> Key: HBASE-16894
> URL: https://issues.apache.org/jira/browse/HBASE-16894
> Project: HBase
>  Issue Type: Improvement
>Reporter: Enis Soztutar
>Assignee: Yi Liang
> Attachments: ImplementaionAndSomeQuestion.docx
>
>
> A common request from users is to be able to better control how many map 
> tasks are created per region. Right now, it is always 1 region = 1 input 
> split = 1 map task. Same goes for Spark since it uses the TIF. With region 
> sizes as large as 50 GBs, it is desirable to be able to create more than 1 
> split per region.
> HBASE-12590 adds a config property for MR jobs to be able to handle skew in 
> region sizes. The algorithm is roughly: 
> {code}
> If (region size >= average size*ratio) : cut the region into two MR input 
> splits
> If (average size <= region size < average size*ratio) : one region as one MR 
> input split
> If (sum of several continuous regions size < average size * ratio): combine 
> these regions into one MR input split.
> {code}
> Although we can set data skew ratio to be 0.5 or something to abuse 
> HBASE-12590 into creating more than 1 split task per region, it is not ideal. 
> But there is no way to create more with the patch as it is. For example we 
> cannot create more than 2 tasks per region. 
> If we want to fix this properly, we should extend the approach in 
> HBASE-12590, and make it so that the client can specify the desired num of 
> mappers, or desired split size, and the TIF generates the splits based on the 
> current region sizes very similar to the algorithm in HBASE-12590, but a more 
> generic way. This also would eliminate the hand tuning of data skew ratio.
> We also can think about the guidepost approach that Phoenix has in the stats 
> table which is used for exactly this purpose. Right now, the region can be 
> split into powers of two assuming uniform distribution within the region. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18090) Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-05-25 Thread Mikhail Antonov (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025363#comment-16025363
 ] 

Mikhail Antonov commented on HBASE-18090:
-

Oh, thanks for reference! I didn't see this one. I don't see patches there, so 
might be this one would do some good.

any feedback on the patch? I think assuming reasonably even key distribution 
across regions, giving just number of splits per region and split algo should 
suffice. Simpler and cheaper then trying to compute actual distribution based 
on data in HFiles.

Still need to address feedback from [~tedyu], as well as some rough edges 
around how we create recovered.edits files during openRegion sequence.

cc [~enis] [~esteban] ?

> Improve TableSnapshotInputFormat to allow more multiple mappers per region
> --
>
> Key: HBASE-18090
> URL: https://issues.apache.org/jira/browse/HBASE-18090
> Project: HBase
>  Issue Type: Improvement
>  Components: mapreduce
>Affects Versions: 1.4.0
>Reporter: Mikhail Antonov
> Attachments: HBASE-18090-branch-1.3-v1.patch
>
>
> TableSnapshotInputFormat runs one map task per region in the table snapshot. 
> This places unnecessary restriction that the region layout of the original 
> table needs to take the processing resources available to MR job into 
> consideration. Allowing to run multiple mappers per region (assuming 
> reasonably even key distribution) would be useful.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-16415) Replication in different namespace

2017-05-25 Thread Jean-Marc Spaggiari (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025323#comment-16025323
 ] 

Jean-Marc Spaggiari commented on HBASE-16415:
-

Indeed, it will be very nice! Anyone want to take this?

> Replication in different namespace
> --
>
> Key: HBASE-16415
> URL: https://issues.apache.org/jira/browse/HBASE-16415
> Project: HBase
>  Issue Type: New Feature
>  Components: Replication
>Reporter: Christian Guegi
>
> It would be nice to replicate tables from one namespace to another namespace.
> Example:
> Master cluster, namespace=default, table=bar
> Slave cluster, namespace=dr, table=bar
> Replication happens in class ReplicationSink:
>   public void replicateEntries(List entries, final CellScanner 
> cells, ...){
> ...
> TableName table = 
> TableName.valueOf(entry.getKey().getTableName().toByteArray());
> ...
> addToHashMultiMap(rowMap, table, clusterIds, m);
> ...
> for (Entry> entry : 
> rowMap.entrySet()) {
>   batch(entry.getKey(), entry.getValue().values());
> }
>}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-16011) TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows

2017-05-25 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025281#comment-16025281
 ] 

Ted Yu commented on HBASE-16011:


Please attach branch-1 patch.

> TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows
> 
>
> Key: HBASE-16011
> URL: https://issues.apache.org/jira/browse/HBASE-16011
> Project: HBase
>  Issue Type: Bug
>  Components: snapshots
>Affects Versions: 2.0.0, 1.2.2
>Reporter: Youngjoon Kim
>Assignee: Zheng Hu
> Attachments: HBASE-16011.v1.patch, HBASE-16011.v2.patch, 
> HBASE-16011.v2.patch, snapshot_bug_test.patch
>
>
> A snapshot of (non-pre) split table can include both a parent region and 
> daughter regions. If run TableSnapshotScanner or TableSnapshotInputFormat on 
> the such snapshot, duplicate rows are produced.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-16011) TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows

2017-05-25 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025276#comment-16025276
 ] 

Ted Yu commented on HBASE-16011:


Second attempt ended up with same error.

I ran failed tests with patch v2 which passed.

> TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows
> 
>
> Key: HBASE-16011
> URL: https://issues.apache.org/jira/browse/HBASE-16011
> Project: HBase
>  Issue Type: Bug
>  Components: snapshots
>Affects Versions: 2.0.0, 1.2.2
>Reporter: Youngjoon Kim
>Assignee: Zheng Hu
> Attachments: HBASE-16011.v1.patch, HBASE-16011.v2.patch, 
> HBASE-16011.v2.patch, snapshot_bug_test.patch
>
>
> A snapshot of (non-pre) split table can include both a parent region and 
> daughter regions. If run TableSnapshotScanner or TableSnapshotInputFormat on 
> the such snapshot, duplicate rows are produced.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (HBASE-17966) Inconsistent logic in Admin.createTable vs Admin.tableExists

2017-05-25 Thread Chinmay Kulkarni (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-17966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chinmay Kulkarni resolved HBASE-17966.
--
Resolution: Not A Bug
  Assignee: Chinmay Kulkarni

This issue does not exist for master branch. Closing this JIRA.

> Inconsistent logic in Admin.createTable vs Admin.tableExists
> 
>
> Key: HBASE-17966
> URL: https://issues.apache.org/jira/browse/HBASE-17966
> Project: HBase
>  Issue Type: Bug
>  Components: Admin
>Affects Versions: 1.2.2
>Reporter: Jeff Saremi
>Assignee: Chinmay Kulkarni
>
> tableExists can return false for cases where createTable fails. Obviously the 
> logic implemented in these two methods are different. 
> This is to make this implementation consistent



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18066) Get with closest_row_before on "hbase:meta" can return empty Cell during region merge/split

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025242#comment-16025242
 ] 

Hadoop QA commented on HBASE-18066:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 31s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 1s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 2 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
55s {color} | {color:green} branch-1.3 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 9s 
{color} | {color:green} branch-1.3 passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
37s {color} | {color:green} branch-1.3 passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
25s {color} | {color:green} branch-1.3 passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 4m 6s 
{color} | {color:red} hbase-server in branch-1.3 has 1 extant Findbugs 
warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 52s 
{color} | {color:green} branch-1.3 passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 
35s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 13s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 13s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
38s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
24s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
35m 44s {color} | {color:green} The patch does not cause any errors with Hadoop 
2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} |
| {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green} 0m 
23s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 
27s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 50s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 175m 28s 
{color} | {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
44s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 235m 44s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.client.TestFromClientSideWithCoprocessor |
|   | hadoop.hbase.regionserver.TestHRegion |
|   | hadoop.hbase.client.TestAdmin2 |
|   | hadoop.hbase.client.TestFromClientSide |
| Timed out junit tests | org.apache.hadoop.hbase.util.TestHBaseFsck |
|   | org.apache.hadoop.hbase.snapshot.TestSecureExportSnapshot |
|   | org.apache.hadoop.hbase.snapshot.TestExportSnapshot |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.03.0-ce Server=17.03.0-ce Image:yetus/hbase:e1e11ad |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869884/HBASE-18066.branch-1.3.v1.patch
 |
| JIRA Issue | HBASE-18066 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 07e134febb31 4.8.3-std-1 #1 SMP Fri Oct 21 11:15:43 UTC 2016 
x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /testptch/patchprocess/precommit/personality/hbase.sh |
| git revision | branch-1.3 / 17e87ae |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
| findbugs | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6953/artifact/patchprocess/branch-findbugs-hbase-server-warnings.html
 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6953/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/6953/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results 

[jira] [Updated] (HBASE-18116) Replication source in-memory accounting should not include bulk transfer hfiles

2017-05-25 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18116:
---
Summary: Replication source in-memory accounting should not include bulk 
transfer hfiles  (was: Replication buffer quota accounting should not include 
bulk transfer hfiles)

> Replication source in-memory accounting should not include bulk transfer 
> hfiles
> ---
>
> Key: HBASE-18116
> URL: https://issues.apache.org/jira/browse/HBASE-18116
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Andrew Purtell
>
> In ReplicationSourceWALReaderThread we maintain a global quota on enqueued 
> replication work for preventing OOM by queuing up too many edits into queues 
> on heap. When calculating the size of a given replication queue entry, if it 
> has associated hfiles (is a bulk load to be replicated as a batch of hfiles), 
> we get the file sizes and include the sum. We then apply that result to the 
> quota. This isn't quite right. Those hfiles will be pulled by the sink as a 
> file copy, not pushed by the source. The cells in those files are not queued 
> in memory at the source and therefore shouldn't be counted against the quota.
> Related, the sum of the hfile sizes are also included when checking if queued 
> work exceeds the configured replication queue capacity, which is by default 
> 64 MB. HFiles are commonly much larger than this. 
> So what happens is when we encounter a bulk load replication entry typically 
> both the quota and capacity limits are exceeded, we break out of loops, and 
> send right away. What is transferred on the wire via HBase RPC though has 
> only a partial relationship to the calculation. 
> Depending how you look at it, it makes sense to factor hfile file sizes 
> against replication queue capacity limits. The sink will be occupied 
> transferring those files at the HDFS level. Anyway, this is how we have been 
> doing it and it is too late to change now. I do not however think it is 
> correct to apply hfile file sizes against a quota for in memory state on the 
> source. The source doesn't queue or even transfer those bytes. 
> Something I noticed while working on HBASE-18027.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (HBASE-18116) Replication buffer quota accounting should not include bulk transfer hfiles

2017-05-25 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025196#comment-16025196
 ] 

Andrew Purtell edited comment on HBASE-18116 at 5/25/17 7:00 PM:
-

In addition, when estimating the size of a replication queue entry we only 
consider the WALEdit objects, not the also associated WALKey objects. 


was (Author: apurtell):
Also, when calculating the heap size of a replication queue entry we only track 
the WALEdit objects, not the associated WALKey objects. 

> Replication buffer quota accounting should not include bulk transfer hfiles
> ---
>
> Key: HBASE-18116
> URL: https://issues.apache.org/jira/browse/HBASE-18116
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Andrew Purtell
>
> In ReplicationSourceWALReaderThread we maintain a global quota on enqueued 
> replication work for preventing OOM by queuing up too many edits into queues 
> on heap. When calculating the size of a given replication queue entry, if it 
> has associated hfiles (is a bulk load to be replicated as a batch of hfiles), 
> we get the file sizes and include the sum. We then apply that result to the 
> quota. This isn't quite right. Those hfiles will be pulled by the sink as a 
> file copy, not pushed by the source. The cells in those files are not queued 
> in memory at the source and therefore shouldn't be counted against the quota.
> Related, the sum of the hfile sizes are also included when checking if queued 
> work exceeds the configured replication queue capacity, which is by default 
> 64 MB. HFiles are commonly much larger than this. 
> So what happens is when we encounter a bulk load replication entry typically 
> both the quota and capacity limits are exceeded, we break out of loops, and 
> send right away. What is transferred on the wire via HBase RPC though has 
> only a partial relationship to the calculation. 
> Depending how you look at it, it makes sense to factor hfile file sizes 
> against replication queue capacity limits. The sink will be occupied 
> transferring those files at the HDFS level. Anyway, this is how we have been 
> doing it and it is too late to change now. I do not however think it is 
> correct to apply hfile file sizes against a quota for in memory state on the 
> source. The source doesn't queue or even transfer those bytes. 
> Something I noticed while working on HBASE-18027.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18027) Replication should respect RPC size limits when batching edits

2017-05-25 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025200#comment-16025200
 ] 

Andrew Purtell commented on HBASE-18027:


Nothing I can do about HBASE-18116 if separating it out. So will commit this. 
It doesn't make the situation any worse. 

> Replication should respect RPC size limits when batching edits
> --
>
> Key: HBASE-18027
> URL: https://issues.apache.org/jira/browse/HBASE-18027
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18027.patch, HBASE-18027.patch, HBASE-18027.patch, 
> HBASE-18027.patch, HBASE-18027.patch
>
>
> In HBaseInterClusterReplicationEndpoint#replicate we try to replicate in 
> batches. We create N lists. N is the minimum of configured replicator 
> threads, number of 100-waledit batches, or number of current sinks. Every 
> pending entry in the replication context is then placed in order by hash of 
> encoded region name into one of these N lists. Each of the N lists is then 
> sent all at once in one replication RPC. We do not test if the sum of data in 
> each N list will exceed RPC size limits. This code presumes each individual 
> edit is reasonably small. Not checking for aggregate size while assembling 
> the lists into RPCs is an oversight and can lead to replication failure when 
> that assumption is violated.
> We can fix this by generating as many replication RPC calls as we need to 
> drain a list, keeping each RPC under limit, instead of assuming the whole 
> list will fit in one.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (HBASE-18027) Replication should respect RPC size limits when batching edits

2017-05-25 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025200#comment-16025200
 ] 

Andrew Purtell edited comment on HBASE-18027 at 5/25/17 6:47 PM:
-

Nothing I can do about HBASE-18116 here if separating it out. So will commit 
this. It doesn't make the situation any worse. 


was (Author: apurtell):
Nothing I can do about HBASE-18116 if separating it out. So will commit this. 
It doesn't make the situation any worse. 

> Replication should respect RPC size limits when batching edits
> --
>
> Key: HBASE-18027
> URL: https://issues.apache.org/jira/browse/HBASE-18027
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18027.patch, HBASE-18027.patch, HBASE-18027.patch, 
> HBASE-18027.patch, HBASE-18027.patch
>
>
> In HBaseInterClusterReplicationEndpoint#replicate we try to replicate in 
> batches. We create N lists. N is the minimum of configured replicator 
> threads, number of 100-waledit batches, or number of current sinks. Every 
> pending entry in the replication context is then placed in order by hash of 
> encoded region name into one of these N lists. Each of the N lists is then 
> sent all at once in one replication RPC. We do not test if the sum of data in 
> each N list will exceed RPC size limits. This code presumes each individual 
> edit is reasonably small. Not checking for aggregate size while assembling 
> the lists into RPCs is an oversight and can lead to replication failure when 
> that assumption is violated.
> We can fix this by generating as many replication RPC calls as we need to 
> drain a list, keeping each RPC under limit, instead of assuming the whole 
> list will fit in one.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18116) Replication buffer quota accounting should not include bulk transfer hfiles

2017-05-25 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025196#comment-16025196
 ] 

Andrew Purtell commented on HBASE-18116:


Also, when calculating the heap size of a replication queue entry we only track 
the WALEdit objects, not the associated WALKey objects. 

> Replication buffer quota accounting should not include bulk transfer hfiles
> ---
>
> Key: HBASE-18116
> URL: https://issues.apache.org/jira/browse/HBASE-18116
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Andrew Purtell
>
> In ReplicationSourceWALReaderThread we maintain a global quota on enqueued 
> replication work for preventing OOM by queuing up too many edits into queues 
> on heap. When calculating the size of a given replication queue entry, if it 
> has associated hfiles (is a bulk load to be replicated as a batch of hfiles), 
> we get the file sizes and include the sum. We then apply that result to the 
> quota. This isn't quite right. Those hfiles will be pulled by the sink as a 
> file copy, not pushed by the source. The cells in those files are not queued 
> in memory at the source and therefore shouldn't be counted against the quota.
> Related, the sum of the hfile sizes are also included when checking if queued 
> work exceeds the configured replication queue capacity, which is by default 
> 64 MB. HFiles are commonly much larger than this. 
> So what happens is when we encounter a bulk load replication entry typically 
> both the quota and capacity limits are exceeded, we break out of loops, and 
> send right away. What is transferred on the wire via HBase RPC though has 
> only a partial relationship to the calculation. 
> Depending how you look at it, it makes sense to factor hfile file sizes 
> against replication queue capacity limits. The sink will be occupied 
> transferring those files at the HDFS level. Anyway, this is how we have been 
> doing it and it is too late to change now. I do not however think it is 
> correct to apply hfile file sizes against a quota for in memory state on the 
> source. The source doesn't queue or even transfer those bytes. 
> Something I noticed while working on HBASE-18027.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18116) Replication buffer quota accounting should not include bulk transfer hfiles

2017-05-25 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18116:
---
Description: 
In ReplicationSourceWALReaderThread we maintain a global quota on enqueued 
replication work for preventing OOM by queuing up too many edits into queues on 
heap. When calculating the size of a given replication queue entry, if it has 
associated hfiles (is a bulk load to be replicated as a batch of hfiles), we 
get the file sizes and include the sum. We then apply that result to the quota. 
This isn't quite right. Those hfiles will be pulled by the sink as a file copy, 
not pushed by the source. The cells in those files are not queued in memory at 
the source and therefore shouldn't be counted against the quota.

Related, the sum of the hfile sizes are also included when checking if queued 
work exceeds the configured replication queue capacity, which is by default 64 
MB. HFiles are commonly much larger than this. 

So what happens is when we encounter a bulk load replication entry typically 
both the quota and capacity limits are exceeded, we break out of loops, and 
send right away. What is transferred on the wire via HBase RPC though has only 
a partial relationship to the calculation. 

Depending how you look at it, it makes sense to factor hfile file sizes against 
replication queue capacity limits. The sink will be occupied transferring those 
files at the HDFS level. Anyway, this is how we have been doing it and it is 
too late to change now. I do not however think it is correct to apply hfile 
file sizes against a quota for in memory state on the source. The source 
doesn't queue or even transfer those bytes. 

Something I noticed while working on HBASE-18027.

  was:
In ReplicationSourceWALReaderThread we maintain a global quota on enqueued 
replication work for preventing OOM by queuing up too many edits into queues on 
heap. When calculating the size of a given replication queue entry, if it has 
associated hfiles (is a bulk load to be replicated as a batch of hfiles), we 
get the file sizes and include the sum. We then apply that result to the quota. 
This isn't quite right. Those hfiles will be transferred by the sink as a file 
copy and then the files will be bulk loaded on the sink. The cells in those 
files are not queued in memory at the source and therefore shouldn't be counted 
against the quota.

Related, the sum of the hfile sizes are also included when checking if queued 
work exceeds the configured replication queue capacity, which is by default 64 
MB. HFiles are commonly much larger than this. 

So what happens is when we encounter a bulk load replication entry typically 
both the quota and capacity limits are exceeded, we break out of loops, and 
send right away. What is transferred on the wire via HBase RPC though has only 
a partial relationship to the calculation. 

Depending how you look at it, it makes sense to factor hfile file sizes against 
replication queue capacity limits. The sink will be occupied transferring those 
files at the HDFS level. Anyway, this is how we have been doing it and it is 
too late to change now. I do not however think it is correct to apply hfile 
file sizes against a quota for in memory state on the source. The source 
doesn't queue or even transfer those bytes. 

Something I noticed while working on HBASE-18027.


> Replication buffer quota accounting should not include bulk transfer hfiles
> ---
>
> Key: HBASE-18116
> URL: https://issues.apache.org/jira/browse/HBASE-18116
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Andrew Purtell
>
> In ReplicationSourceWALReaderThread we maintain a global quota on enqueued 
> replication work for preventing OOM by queuing up too many edits into queues 
> on heap. When calculating the size of a given replication queue entry, if it 
> has associated hfiles (is a bulk load to be replicated as a batch of hfiles), 
> we get the file sizes and include the sum. We then apply that result to the 
> quota. This isn't quite right. Those hfiles will be pulled by the sink as a 
> file copy, not pushed by the source. The cells in those files are not queued 
> in memory at the source and therefore shouldn't be counted against the quota.
> Related, the sum of the hfile sizes are also included when checking if queued 
> work exceeds the configured replication queue capacity, which is by default 
> 64 MB. HFiles are commonly much larger than this. 
> So what happens is when we encounter a bulk load replication entry typically 
> both the quota and capacity limits are exceeded, we break out of loops, and 
> send right away. What is transferred on the wire via HBase RPC though has 
> only a partial relationship to the calculation. 
> 

[jira] [Created] (HBASE-18116) Replication buffer quota accounting should not include bulk transfer hfiles

2017-05-25 Thread Andrew Purtell (JIRA)
Andrew Purtell created HBASE-18116:
--

 Summary: Replication buffer quota accounting should not include 
bulk transfer hfiles
 Key: HBASE-18116
 URL: https://issues.apache.org/jira/browse/HBASE-18116
 Project: HBase
  Issue Type: Bug
  Components: Replication
Reporter: Andrew Purtell


In ReplicationSourceWALReaderThread we maintain a global quota on enqueued 
replication work for preventing OOM by queuing up too many edits into queues on 
heap. When calculating the size of a given replication queue entry, if it has 
associated hfiles (is a bulk load to be replicated as a batch of hfiles), we 
get the file sizes and include the sum. We then apply that result to the quota. 
This isn't quite right. Those hfiles will be transferred by the sink as a file 
copy and then the files will be bulk loaded on the sink. The cells in those 
files are not queued in memory at the source and therefore shouldn't be counted 
against the quota.

Related, the sum of the hfile sizes are also included when checking if queued 
work exceeds the configured replication queue capacity, which is by default 64 
MB. HFiles are commonly much larger than this. 

So what happens is when we encounter a bulk load replication entry typically 
both the quota and capacity limits are exceeded, we break out of loops, and 
send right away. What is transferred on the wire via HBase RPC though has only 
a partial relationship to the calculation. 

Depending how you look at it, it makes sense to factor hfile file sizes against 
replication queue capacity limits. The sink will be occupied transferring those 
files at the HDFS level. Anyway, this is how we have been doing it and it is 
too late to change now. I do not however think it is correct to apply hfile 
file sizes against a quota for in memory state on the source. The source 
doesn't queue or even transfer those bytes. 

Something I noticed while working on HBASE-18027.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18027) Replication should respect RPC size limits when batching edits

2017-05-25 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025161#comment-16025161
 ] 

Andrew Purtell commented on HBASE-18027:


I filed HBASE-18116 for some accounting improvements outside the scope of this 
work. 

> Replication should respect RPC size limits when batching edits
> --
>
> Key: HBASE-18027
> URL: https://issues.apache.org/jira/browse/HBASE-18027
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18027.patch, HBASE-18027.patch, HBASE-18027.patch, 
> HBASE-18027.patch, HBASE-18027.patch
>
>
> In HBaseInterClusterReplicationEndpoint#replicate we try to replicate in 
> batches. We create N lists. N is the minimum of configured replicator 
> threads, number of 100-waledit batches, or number of current sinks. Every 
> pending entry in the replication context is then placed in order by hash of 
> encoded region name into one of these N lists. Each of the N lists is then 
> sent all at once in one replication RPC. We do not test if the sum of data in 
> each N list will exceed RPC size limits. This code presumes each individual 
> edit is reasonably small. Not checking for aggregate size while assembling 
> the lists into RPCs is an oversight and can lead to replication failure when 
> that assumption is violated.
> We can fix this by generating as many replication RPC calls as we need to 
> drain a list, keeping each RPC under limit, instead of assuming the whole 
> list will fit in one.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18090) Improve TableSnapshotInputFormat to allow more multiple mappers per region

2017-05-25 Thread Jerry He (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025154#comment-16025154
 ] 

Jerry He commented on HBASE-18090:
--

HBASE-16894 tries to accomplish something similar.

> Improve TableSnapshotInputFormat to allow more multiple mappers per region
> --
>
> Key: HBASE-18090
> URL: https://issues.apache.org/jira/browse/HBASE-18090
> Project: HBase
>  Issue Type: Improvement
>  Components: mapreduce
>Affects Versions: 1.4.0
>Reporter: Mikhail Antonov
> Attachments: HBASE-18090-branch-1.3-v1.patch
>
>
> TableSnapshotInputFormat runs one map task per region in the table snapshot. 
> This places unnecessary restriction that the region layout of the original 
> table needs to take the processing resources available to MR job into 
> consideration. Allowing to run multiple mappers per region (assuming 
> reasonably even key distribution) would be useful.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18114) Update the config of TestAsync*AdminApi to make test stable

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025151#comment-16025151
 ] 

Hadoop QA commented on HBASE-18114:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 35s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 7 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
59s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 41s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
54s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
17s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 0s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
51s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 44s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 44s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
50s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
17s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
31m 43s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 4s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 100m 40s 
{color} | {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
56s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 148m 4s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Timed out junit tests | org.apache.hadoop.hbase.TestZooKeeper |
|   | org.apache.hadoop.hbase.mob.compactions.TestPartitionedMobCompactor |
|   | org.apache.hadoop.hbase.mob.compactions.TestMobCompactor |
|   | org.apache.hadoop.hbase.snapshot.TestMobExportSnapshot |
|   | org.apache.hadoop.hbase.TestIOFencing |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.10.1 Server=1.10.1 Image:yetus/hbase:757bf37 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869890/HBASE-18114-v1.patch |
| JIRA Issue | HBASE-18114 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux cbf7c4ba8b8c 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 
24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 4ab9474 |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6955/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/6955/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6955/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6955/console |
| Powered 

[jira] [Commented] (HBASE-16392) Backup delete fault tolerance

2017-05-25 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025146#comment-16025146
 ] 

Ted Yu commented on HBASE-16392:


For restoreFromSnapshot() :
{code}
+  if (snapshotExists(admin, snapshotName)) {
+admin.disableTable(BackupSystemTable.getTableName(conf));
+admin.restoreSnapshot(snapshotName);
+admin.enableTable(BackupSystemTable.getTableName(conf));
{code}
What if one of the 3 actions above fails ?
{code}
+// In this case we log WARN and proceed
+LOG.error("Could not restore backup system table. Snapshot " + 
snapshotName+
{code}
Comment and actual log level are different.
{code}
+  protected static boolean snapshotExists(Admin admin, String snapshotName) 
throws IOException {
{code}
TableBackupClient.java already has snapshotExists() method.
{code}
+  private Delete createDeleteForDeleteOperation() {
{code}
createDeleteForDeleteOperation -> createDeleteForBackupDeleteOperation

> Backup delete fault tolerance
> -
>
> Key: HBASE-16392
> URL: https://issues.apache.org/jira/browse/HBASE-16392
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>  Labels: backup
> Fix For: 2.0.0
>
> Attachments: HBASE-16392-v1.patch
>
>
> Backup delete modified file system and backup system table. We have to make 
> sure that operation is atomic, durable and isolated.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18114) Update the config of TestAsync*AdminApi to make test stable

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025139#comment-16025139
 ] 

Hadoop QA commented on HBASE-18114:
---

| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 19s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 7 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
7s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 35s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
42s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
14s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
41s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
42s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 37s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 37s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
43s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
13s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
26m 59s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
52s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 26s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 110m 20s 
{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
21s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 149m 37s {color} 
| {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:757bf37 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869888/HBASE-18114-v1.patch |
| JIRA Issue | HBASE-18114 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux d57641140c34 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 
13:48:03 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 4ab9474 |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6954/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6954/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Update the config of TestAsync*AdminApi to make test stable
> ---
>
> Key: HBASE-18114
> URL: https://issues.apache.org/jira/browse/HBASE-18114
> Project: HBase
>  Issue Type: Sub-task
>  Components: Client
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-18114-v1.patch, 

[jira] [Commented] (HBASE-18099) FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish

2017-05-25 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025110#comment-16025110
 ] 

Hudson commented on HBASE-18099:


SUCCESS: Integrated in Jenkins build HBase-1.4 #748 (See 
[https://builds.apache.org/job/HBase-1.4/748/])
HBASE-18099 FlushSnapshotSubprocedure should wait for concurrent (tedyu: rev 
109e0d5485af3abf6914c8c782c3700477f47646)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java


> FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish
> -
>
> Key: HBASE-18099
> URL: https://issues.apache.org/jira/browse/HBASE-18099
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Ted Yu
>Priority: Critical
> Fix For: 2.0.0, 1.4.0
>
> Attachments: 18099.v1.txt, 18099.v2.txt, 18099.v3.txt, 18099.v4.txt
>
>
> In the following thread:
> http://search-hadoop.com/m/HBase/YGbbMXkeHlI9zo
> Jacob described the scenario where data from certain region were missing in 
> the snapshot.
> Here was related region server log:
> https://pastebin.com/1ECXjhRp
> He pointed out that concurrent flush from MemStoreFlusher.1 thread was not 
> initiated from the thread pool for snapshot.
> In RegionSnapshotTask#call() method there is this:
> {code}
>   region.flush(true);
> {code}
> The return value is not checked.
> In HRegion#flushcache(), Result.CANNOT_FLUSH may be returned due to:
> {code}
>   String msg = "Not flushing since "
>   + (writestate.flushing ? "already flushing"
>   : "writes not enabled");
> {code}
> This implies that FlushSnapshotSubprocedure may incorrectly skip waiting for 
> the concurrent flush to complete.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18027) Replication should respect RPC size limits when batching edits

2017-05-25 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025101#comment-16025101
 ] 

Andrew Purtell commented on HBASE-18027:


Although this works, I'd like to improve it before commit by making an estimate 
of RPC size independent of accounting against the replication queue limit, 
mainly to exclude in the bulk load case the bytes in the storefiles, which will 
not be transferred via RPC. Current patch lets this case through but it is not 
quite right. Back with another rev shortly. 

> Replication should respect RPC size limits when batching edits
> --
>
> Key: HBASE-18027
> URL: https://issues.apache.org/jira/browse/HBASE-18027
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18027.patch, HBASE-18027.patch, HBASE-18027.patch, 
> HBASE-18027.patch, HBASE-18027.patch
>
>
> In HBaseInterClusterReplicationEndpoint#replicate we try to replicate in 
> batches. We create N lists. N is the minimum of configured replicator 
> threads, number of 100-waledit batches, or number of current sinks. Every 
> pending entry in the replication context is then placed in order by hash of 
> encoded region name into one of these N lists. Each of the N lists is then 
> sent all at once in one replication RPC. We do not test if the sum of data in 
> each N list will exceed RPC size limits. This code presumes each individual 
> edit is reasonably small. Not checking for aggregate size while assembling 
> the lists into RPCs is an oversight and can lead to replication failure when 
> that assumption is violated.
> We can fix this by generating as many replication RPC calls as we need to 
> drain a list, keeping each RPC under limit, instead of assuming the whole 
> list will fit in one.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18027) Replication should respect RPC size limits when batching edits

2017-05-25 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18027:
---
Status: Open  (was: Patch Available)

> Replication should respect RPC size limits when batching edits
> --
>
> Key: HBASE-18027
> URL: https://issues.apache.org/jira/browse/HBASE-18027
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 1.3.1, 2.0.0, 1.4.0
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18027.patch, HBASE-18027.patch, HBASE-18027.patch, 
> HBASE-18027.patch, HBASE-18027.patch
>
>
> In HBaseInterClusterReplicationEndpoint#replicate we try to replicate in 
> batches. We create N lists. N is the minimum of configured replicator 
> threads, number of 100-waledit batches, or number of current sinks. Every 
> pending entry in the replication context is then placed in order by hash of 
> encoded region name into one of these N lists. Each of the N lists is then 
> sent all at once in one replication RPC. We do not test if the sum of data in 
> each N list will exceed RPC size limits. This code presumes each individual 
> edit is reasonably small. Not checking for aggregate size while assembling 
> the lists into RPCs is an oversight and can lead to replication failure when 
> that assumption is violated.
> We can fix this by generating as many replication RPC calls as we need to 
> drain a list, keeping each RPC under limit, instead of assuming the whole 
> list will fit in one.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-16392) Backup delete fault tolerance

2017-05-25 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16392?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025055#comment-16025055
 ] 

Ted Yu commented on HBASE-16392:


{code}
++ "If there is no active backup session is running, run backup 
repair utility to restore \n"
{code}
First part of the sentence has double 'is'
{code}
+finalizeDelete(allTablesMap, sysTable);
+// Finish
+sysTable.finishDeleteOperation();
+// delete snapshot
+BackupSystemTable.deleteSnapshot(conn);
{code}
Do we need to distinguish potential failure in each of the above calls ?
If deleteSnapshot() fails in the middle, 
BackupSystemTable.restoreFromSnapshot(conn) call in catch block would fail as 
well, right ?
{code}
+  String[] backupIds = sysTable.getDeleteOperationListOfBackupIds();
{code}
getDeleteOperationListOfBackupIds -> getListOfBackupIdsFromDeleteOperation
{code}
+  System.out.println("Delete operation finished OK");
{code}
Add information about the backup Ids involved.

Please put the next patch on review board.

> Backup delete fault tolerance
> -
>
> Key: HBASE-16392
> URL: https://issues.apache.org/jira/browse/HBASE-16392
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Vladimir Rodionov
>Assignee: Vladimir Rodionov
>  Labels: backup
> Fix For: 2.0.0
>
> Attachments: HBASE-16392-v1.patch
>
>
> Backup delete modified file system and backup system table. We have to make 
> sure that operation is atomic, durable and isolated.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3

2017-05-25 Thread Sean Busbey (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025047#comment-16025047
 ] 

Sean Busbey commented on HBASE-18042:
-

looks like the jdk the branch-1 dockerfile wants isn't available from oracle.

> Client Compatibility breaks between versions 1.2 and 1.3
> 
>
> Key: HBASE-18042
> URL: https://issues.apache.org/jira/browse/HBASE-18042
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver, scan
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Karan Mehta
>Assignee: Duo Zhang
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18042-branch-1.3.patch, 
> HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, 
> HBASE-18042-branch-1-v1.patch, HBASE-18042-branch-1-v1.patch, 
> HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch
>
>
> OpenTSDB uses AsyncHBase as its client, rather than using the traditional 
> HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been 
> changed. Newer fields are added to {{ScanResponse}} proto.
> For a typical Scan request in 1.2, would require caller to make an 
> OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on 
> {{more_rows}} boolean field in the {{ScanResponse}} proto.
> However, from 1.3, new parameter {{more_results_in_region}} was added, which 
> limits the results per region. Therefore the client has to now manage sending 
> all the requests for each region. Further more, if the results are exhausted 
> from a particular region, the {{ScanResponse}} will set 
> {{more_results_in_region}} to false, but {{more_results}} can still be true. 
> Whenever the former is set to false, the {{RegionScanner}} will also be 
> closed. 
> OpenTSDB makes an OpenScanner Request and receives all its results in the 
> first {{ScanResponse}} itself, thus creating a condition as described in 
> above paragraph. Since {{more_rows}} is true, it will proceed to send next 
> request at which point the {{RSRpcServices}} will throw 
> {{UnknownScannerException}}. The protobuf client compatibility is maintained 
> but expected behavior is modified.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18095) Provide an option for clients to find the server hosting META that does not involve the ZooKeeper client

2017-05-25 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025003#comment-16025003
 ] 

Andrew Purtell commented on HBASE-18095:


bq. As far as I know, in branch-1, replication information, like replication 
peers are stored in ZK, if user want to list or modify replication relationship 
using ReplicationAdmin, they need zookeeper client

Yes, but this is admin action. The scope of the JIRA is for normal client 
access. Just to be clear. :-)

> Provide an option for clients to find the server hosting META that does not 
> involve the ZooKeeper client
> 
>
> Key: HBASE-18095
> URL: https://issues.apache.org/jira/browse/HBASE-18095
> Project: HBase
>  Issue Type: New Feature
>  Components: Client
>Reporter: Andrew Purtell
>
> Clients are required to connect to ZooKeeper to find the location of the 
> regionserver hosting the meta table region. Site configuration provides the 
> client a list of ZK quorum peers and the client uses an embedded ZK client to 
> query meta location. Timeouts and retry behavior of this embedded ZK client 
> are managed orthogonally to HBase layer settings and in some cases the ZK 
> cannot manage what in theory the HBase client can, i.e. fail fast upon outage 
> or network partition.
> We should consider new configuration settings that provide a list of 
> well-known master and backup master locations, and with this information the 
> client can contact any of the master processes directly. Any master in either 
> active or passive state will track meta location and respond to requests for 
> it with its cached last known location. If this location is stale, the client 
> can ask again with a flag set that requests the master refresh its location 
> cache and return the up-to-date location. Every client interaction with the 
> cluster thus uses only HBase RPC as transport, with appropriate settings 
> applied to the connection. The configuration toggle that enables this 
> alternative meta location lookup should be false by default.
> This removes the requirement that HBase clients embed the ZK client and 
> contact the ZK service directly at the beginning of the connection lifecycle. 
> This has several benefits. ZK service need not be exposed to clients, and 
> their potential abuse, yet no benefit ZK provides the HBase server cluster is 
> compromised. Normalizing HBase client and ZK client timeout settings and 
> retry behavior - in some cases, impossible, i.e. for fail-fast - is no longer 
> necessary. 
> And, from [~ghelmling]: There is an additional complication here for 
> token-based authentication. When a delegation token is used for SASL 
> authentication, the client uses the cluster ID obtained from Zookeeper to 
> select the token identifier to use. So there would also need to be some 
> Zookeeper-less, unauthenticated way to obtain the cluster ID as well. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-15903) Delete Object

2017-05-25 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-15903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024986#comment-16024986
 ] 

Ted Yu commented on HBASE-15903:


In patch v2, I enhanced ClientTest.PutGet with deleting the row just written 
and verifying that subsequent Get returns nothing.

> Delete Object
> -
>
> Key: HBASE-15903
> URL: https://issues.apache.org/jira/browse/HBASE-15903
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Sudeep Sunthankar
>Assignee: Ted Yu
> Attachments: 15903.v2.txt, HBASE-15903.HBASE-14850.v1.patch
>
>
> Patch for creating Delete objects. These Delete objects are used by the Table 
> implementation to delete rowkey from a table.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-15903) Delete Object

2017-05-25 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-15903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-15903:
---
Attachment: (was: 15903.v2.txt)

> Delete Object
> -
>
> Key: HBASE-15903
> URL: https://issues.apache.org/jira/browse/HBASE-15903
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Sudeep Sunthankar
>Assignee: Ted Yu
> Attachments: 15903.v2.txt, HBASE-15903.HBASE-14850.v1.patch
>
>
> Patch for creating Delete objects. These Delete objects are used by the Table 
> implementation to delete rowkey from a table.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-15903) Delete Object

2017-05-25 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-15903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-15903:
---
Attachment: 15903.v2.txt

> Delete Object
> -
>
> Key: HBASE-15903
> URL: https://issues.apache.org/jira/browse/HBASE-15903
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Sudeep Sunthankar
>Assignee: Ted Yu
> Attachments: 15903.v2.txt, HBASE-15903.HBASE-14850.v1.patch
>
>
> Patch for creating Delete objects. These Delete objects are used by the Table 
> implementation to delete rowkey from a table.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18099) FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish

2017-05-25 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024929#comment-16024929
 ] 

Hudson commented on HBASE-18099:


FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3075 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3075/])
HBASE-18099 FlushSnapshotSubprocedure should wait for concurrent (tedyu: rev 
3e426b2f851f40dbc4e8d53c607cddebdb8a73e0)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java


> FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish
> -
>
> Key: HBASE-18099
> URL: https://issues.apache.org/jira/browse/HBASE-18099
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Ted Yu
>Priority: Critical
> Fix For: 2.0.0, 1.4.0
>
> Attachments: 18099.v1.txt, 18099.v2.txt, 18099.v3.txt, 18099.v4.txt
>
>
> In the following thread:
> http://search-hadoop.com/m/HBase/YGbbMXkeHlI9zo
> Jacob described the scenario where data from certain region were missing in 
> the snapshot.
> Here was related region server log:
> https://pastebin.com/1ECXjhRp
> He pointed out that concurrent flush from MemStoreFlusher.1 thread was not 
> initiated from the thread pool for snapshot.
> In RegionSnapshotTask#call() method there is this:
> {code}
>   region.flush(true);
> {code}
> The return value is not checked.
> In HRegion#flushcache(), Result.CANNOT_FLUSH may be returned due to:
> {code}
>   String msg = "Not flushing since "
>   + (writestate.flushing ? "already flushing"
>   : "writes not enabled");
> {code}
> This implies that FlushSnapshotSubprocedure may incorrectly skip waiting for 
> the concurrent flush to complete.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18114) Update the config of TestAsync*AdminApi to make test stable

2017-05-25 Thread Guanghao Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guanghao Zhang updated HBASE-18114:
---
Attachment: HBASE-18114-v1.patch

> Update the config of TestAsync*AdminApi to make test stable
> ---
>
> Key: HBASE-18114
> URL: https://issues.apache.org/jira/browse/HBASE-18114
> Project: HBase
>  Issue Type: Sub-task
>  Components: Client
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-18114-v1.patch, HBASE-18114-v1.patch, 
> HBASE-18114-v1.patch
>
>
> {code}
> 2017-05-25 17:56:34,967 INFO  
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=50801] 
> master.HMaster$11(2297): Client=hao//127.0.0.1 disable testModifyColumnFamily
> 2017-05-25 17:56:37,974 INFO  [RpcClient-timer-pool1-t1] 
> client.AsyncHBaseAdmin$TableProcedureBiConsumer(2219): Operation: DISABLE, 
> Table Name: default:testModifyColumnFamily failed with Failed after 
> attempts=3, exceptions: 
> Thu May 25 17:56:35 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=294, waitTime=1008, 
> rpcTimeout=1000
> Thu May 25 17:56:37 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=295, waitTime=1299, 
> rpcTimeout=1000
> Thu May 25 17:56:37 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=296, waitTime=668, 
> rpcTimeout=660
> 017-05-25 17:56:38,936 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=50801] 
> procedure2.ProcedureExecutor(788): Stored procId=15, owner=hao, 
> state=RUNNABLE:DISABLE_TABLE_PREPARE, DisableTableProcedure 
> table=testModifyColumnFamily
> {code}
> For this disable table procedure, master return the procedure id when it 
> submit the procedure to ProcedureExecutor. And the above procedure take 4 
> seconds to submit. So the disable table call failed because the rpc timeout 
> is 1 seconds and the retry number is 3.
> For admin operation, I thought we don't need change the default timeout 
> config in unit test. And the retry is not need, too. (Or we can set a retry > 
> 1 to test nonce thing). Meanwhile, the default timeout is 60 seconds. So the 
> test type may need change to LargeTests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-15930) Make IntegrationTestReplication's waitForReplication() smarter

2017-05-25 Thread Mike Drob (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-15930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mike Drob updated HBASE-15930:
--
Status: Open  (was: Patch Available)

Ha, good catch, [~jmhsieh]! I started the test in the pre-setup case and 
stopped it after I saw that it didn't error at the beginning. I probably would 
have seen the failure at the end if I had waited that long. Will do an 
additional round of testing and then post an updated patch.

> Make IntegrationTestReplication's waitForReplication() smarter
> --
>
> Key: HBASE-15930
> URL: https://issues.apache.org/jira/browse/HBASE-15930
> Project: HBase
>  Issue Type: Improvement
>  Components: integration tests
>Reporter: Dima Spivak
>Assignee: Mike Drob
> Fix For: 2.0.0
>
> Attachments: HBASE-15930.patch
>
>
> {{IntegrationTestReplication}} is a great test, but can improved by changing 
> how we handle waiting between generation of the linked list on the source 
> cluster and verifying the linked list on the destination cluster. [Even the 
> code suggests this should be 
> done|https://github.com/apache/hbase/blob/master/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestReplication.java#L251-252],
>  so I'd like to take it on. [~mbertozzi] and [~busbey] have both suggested a 
> simple solution wherein we write a row into each region on the source cluster 
> after the linked list generation and then assume replication has gone through 
> once these rows are detected on the destination cluster.
> Since you lads at Facebook are some of the heaviest users, [~eclark], would 
> you prefer I maintain the API and add a new command line option (say {{\-c | 
> \-\-check-replication}}) that would run before any {{--generateVerifyGap}} 
> sleep is carried out as it is now?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18114) Update the config of TestAsync*AdminApi to make test stable

2017-05-25 Thread Guanghao Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18114?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guanghao Zhang updated HBASE-18114:
---
Attachment: HBASE-18114-v1.patch

> Update the config of TestAsync*AdminApi to make test stable
> ---
>
> Key: HBASE-18114
> URL: https://issues.apache.org/jira/browse/HBASE-18114
> Project: HBase
>  Issue Type: Sub-task
>  Components: Client
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-18114-v1.patch, HBASE-18114-v1.patch
>
>
> {code}
> 2017-05-25 17:56:34,967 INFO  
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=50801] 
> master.HMaster$11(2297): Client=hao//127.0.0.1 disable testModifyColumnFamily
> 2017-05-25 17:56:37,974 INFO  [RpcClient-timer-pool1-t1] 
> client.AsyncHBaseAdmin$TableProcedureBiConsumer(2219): Operation: DISABLE, 
> Table Name: default:testModifyColumnFamily failed with Failed after 
> attempts=3, exceptions: 
> Thu May 25 17:56:35 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=294, waitTime=1008, 
> rpcTimeout=1000
> Thu May 25 17:56:37 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=295, waitTime=1299, 
> rpcTimeout=1000
> Thu May 25 17:56:37 CST 2017, , java.io.IOException: Call to 
> localhost/127.0.0.1:50801 failed on local exception: 
> org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=296, waitTime=668, 
> rpcTimeout=660
> 017-05-25 17:56:38,936 DEBUG 
> [RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=50801] 
> procedure2.ProcedureExecutor(788): Stored procId=15, owner=hao, 
> state=RUNNABLE:DISABLE_TABLE_PREPARE, DisableTableProcedure 
> table=testModifyColumnFamily
> {code}
> For this disable table procedure, master return the procedure id when it 
> submit the procedure to ProcedureExecutor. And the above procedure take 4 
> seconds to submit. So the disable table call failed because the rpc timeout 
> is 1 seconds and the retry number is 3.
> For admin operation, I thought we don't need change the default timeout 
> config in unit test. And the retry is not need, too. (Or we can set a retry > 
> 1 to test nonce thing). Meanwhile, the default timeout is 60 seconds. So the 
> test type may need change to LargeTests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18066) Get with closest_row_before on "hbase:meta" can return empty Cell during region merge/split

2017-05-25 Thread Zheng Hu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zheng Hu updated HBASE-18066:
-
Attachment: HBASE-18066.branch-1.3.v1.patch
HBASE-18066.branch-1.1.v1.patch

Trigger Hadoop QA again.

> Get with closest_row_before on "hbase:meta" can return empty Cell during 
> region merge/split
> ---
>
> Key: HBASE-18066
> URL: https://issues.apache.org/jira/browse/HBASE-18066
> Project: HBase
>  Issue Type: Bug
>  Components: hbase, regionserver
>Affects Versions: 1.3.1
> Environment: Linux (16.04.2), MacOS 10.11.6.
> Standalone and distributed HBase setup.
>Reporter: Andrey Elenskiy
>Assignee: Zheng Hu
> Attachments: HBASE-18066.branch-1.1.v1.patch, 
> HBASE-18066.branch-1.1.v1.patch, HBASE-18066.branch-1.3.v1.patch, 
> HBASE-18066.branch-1.3.v1.patch, HBASE-18066.branch-1.v1.patch, 
> HBASE-18066.branch-1.v2.patch, HBASE-18066.branch-1.v3.patch, 
> TestGetWithClosestRowBeforeWhenSplit.java
>
>
> During region split/merge there's a brief period of time where doing a "Get" 
> with "closest_row_before=true" on "hbase:meta" may return empty 
> "GetResponse.result.cell" field even though parent, splitA and splitB regions 
> are all in "hbase:meta". Both gohbase (https://github.com/tsuna/gohbase) and 
> AsyncHBase (https://github.com/OpenTSDB/asynchbase) interprets this as 
> "TableDoesNotExist", which is returned to the client.
> Here's a gist that reproduces this problem: 
> https://gist.github.com/Timoha/c7a236b768be9220e85e53e1ca53bf96. Note that 
> you have to use older HTable client (I used 1.2.4) as current versions ignore 
> `Get.setClosestRowBefore(bool)` option.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17997) In dev environment, add jruby-complete jar to classpath only when jruby is needed

2017-05-25 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-17997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-17997:
---
Summary: In dev environment, add jruby-complete jar to classpath only when 
jruby is needed  (was: jruby-complete-1.6.8.jar is in cached_classpath.txt)

> In dev environment, add jruby-complete jar to classpath only when jruby is 
> needed
> -
>
> Key: HBASE-17997
> URL: https://issues.apache.org/jira/browse/HBASE-17997
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Xiang Li
> Fix For: 2.0.0
>
> Attachments: HBASE-17997.master.000.patch, 
> HBASE-17997.master.001.patch, HBASE-17997.master.002.patch, 
> HBASE-17997.master.003.debug.diff, HBASE-17997.master.003.patch
>
>
> HBASE-15199 moves jruby-complete-1.6.8.jar to lib/ruby directory.
> However, jruby-complete-1.6.8.jar still appears in cached_classpath.txt
> This means that user would see exception similar to the following when 
> starting hbase in  standalone mode with s3a as rootdir :
> {code}
> 2017-05-04 16:41:32,854 WARN  
> [RpcServer.FifoWFPBQ.priority.handler=18,queue=0,port=38659] 
> internal.S3MetadataResponseHandler: Unable to parse last modified date: Thu, 
> 04 May 2017 16:27:09 GMT
> java.lang.IllegalStateException: Joda-time 2.2 or later version is required, 
> but found version: null
>   at com.amazonaws.util.DateUtils.handleException(DateUtils.java:149)
>   at com.amazonaws.util.DateUtils.parseRFC822Date(DateUtils.java:195)
>   at 
> com.amazonaws.services.s3.internal.ServiceUtils.parseRfc822Date(ServiceUtils.java:78)
>   at 
> com.amazonaws.services.s3.internal.AbstractS3ResponseHandler.populateObjectMetadata(AbstractS3ResponseHandler.java:115)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:52)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:30)
>   at 
> com.amazonaws.http.AmazonHttpClient.handleResponse(AmazonHttpClient.java:1072)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:746)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
>   at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
>   at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3785)
>   at 
> com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1191)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.reopen(S3AInputStream.java:148)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.lazySeek(S3AInputStream.java:281)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.read(S3AInputStream.java:364)
>   at org.apache.hadoop.fs.FSInputStream.read(FSInputStream.java:75)
>   at org.apache.hadoop.fs.FSDataInputStream.read(FSDataInputStream.java:92)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock.positionalReadWithExtra(HFileBlock.java:722)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1420)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockDataInternal(HFileBlock.java:1677)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockData(HFileBlock.java:1504)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:439)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.seekTo(HFileReaderV2.java:904)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:267)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:169)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:363)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.(StoreScanner.java:217)
>   at 
> org.apache.hadoop.hbase.regionserver.HStore.createScanner(HStore.java:2132)
>   at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:2122)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5687)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2679)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2665)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2647)
>   at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6906)
>   at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6885)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2007)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17997) In dev environment, add jruby-complete jar to classpath only when jruby is needed

2017-05-25 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-17997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-17997:
---
Resolution: Fixed
Status: Resolved  (was: Patch Available)

Thanks for the patch, Xiang.

> In dev environment, add jruby-complete jar to classpath only when jruby is 
> needed
> -
>
> Key: HBASE-17997
> URL: https://issues.apache.org/jira/browse/HBASE-17997
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Xiang Li
> Fix For: 2.0.0
>
> Attachments: HBASE-17997.master.000.patch, 
> HBASE-17997.master.001.patch, HBASE-17997.master.002.patch, 
> HBASE-17997.master.003.debug.diff, HBASE-17997.master.003.patch
>
>
> HBASE-15199 moves jruby-complete-1.6.8.jar to lib/ruby directory.
> However, jruby-complete-1.6.8.jar still appears in cached_classpath.txt
> This means that user would see exception similar to the following when 
> starting hbase in  standalone mode with s3a as rootdir :
> {code}
> 2017-05-04 16:41:32,854 WARN  
> [RpcServer.FifoWFPBQ.priority.handler=18,queue=0,port=38659] 
> internal.S3MetadataResponseHandler: Unable to parse last modified date: Thu, 
> 04 May 2017 16:27:09 GMT
> java.lang.IllegalStateException: Joda-time 2.2 or later version is required, 
> but found version: null
>   at com.amazonaws.util.DateUtils.handleException(DateUtils.java:149)
>   at com.amazonaws.util.DateUtils.parseRFC822Date(DateUtils.java:195)
>   at 
> com.amazonaws.services.s3.internal.ServiceUtils.parseRfc822Date(ServiceUtils.java:78)
>   at 
> com.amazonaws.services.s3.internal.AbstractS3ResponseHandler.populateObjectMetadata(AbstractS3ResponseHandler.java:115)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:52)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:30)
>   at 
> com.amazonaws.http.AmazonHttpClient.handleResponse(AmazonHttpClient.java:1072)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:746)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
>   at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
>   at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3785)
>   at 
> com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1191)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.reopen(S3AInputStream.java:148)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.lazySeek(S3AInputStream.java:281)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.read(S3AInputStream.java:364)
>   at org.apache.hadoop.fs.FSInputStream.read(FSInputStream.java:75)
>   at org.apache.hadoop.fs.FSDataInputStream.read(FSDataInputStream.java:92)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock.positionalReadWithExtra(HFileBlock.java:722)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1420)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockDataInternal(HFileBlock.java:1677)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockData(HFileBlock.java:1504)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:439)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.seekTo(HFileReaderV2.java:904)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:267)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:169)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:363)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.(StoreScanner.java:217)
>   at 
> org.apache.hadoop.hbase.regionserver.HStore.createScanner(HStore.java:2132)
>   at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:2122)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5687)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2679)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2665)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2647)
>   at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6906)
>   at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6885)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2007)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-17997) jruby-complete-1.6.8.jar is in cached_classpath.txt

2017-05-25 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-17997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-17997:
---
Release Note: 
When JRUBY_HOME is specified, if the command is "hbase shell" or "hbase 
org.jruby.Main", CLASSPATH and HBASE_OPTS will be updated according to 
JRUBY_HOME specified
* Jar under JRUBY_HOME is added to CLASSPATH
* The following will be added into HBASE_OPTS

-Djruby.home=$JRUBY_HOME -Djruby.lib=$JRUBY_HOME/lib


That is, as long as JRUBY_HOME is specified, JRUBY_HOME specified will take 
precedence.
* In dev env, the jar recorded in cached_classpath_jruby.txt will be ignored
* In non dev env, jruby-complete jar packaged with HBase will be ignored


  was:
When JRUBY_HOME is specified, if the command is "hbase shell" or "hbase 
org.jruby.Main", CLASSPATH and HBASE_OPTS will be updated according to 
JRUBY_HOME specified
* Jar under JRUBY_HOME is added to CLASSPATH
* The following will be added into HBASE_OPTS
{code}
-Djruby.home=$JRUBY_HOME -Djruby.lib=$JRUBY_HOME/lib
{code}

That is, as long as JRUBY_HOME is specified, JRUBY_HOME specified will take 
precedence.
* In dev env, the jar recorded in cached_classpath_jruby.txt will be ignored
* In non dev env, jruby-complete jar packaged with HBase will be ignored



> jruby-complete-1.6.8.jar is in cached_classpath.txt
> ---
>
> Key: HBASE-17997
> URL: https://issues.apache.org/jira/browse/HBASE-17997
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Xiang Li
> Fix For: 2.0.0
>
> Attachments: HBASE-17997.master.000.patch, 
> HBASE-17997.master.001.patch, HBASE-17997.master.002.patch, 
> HBASE-17997.master.003.debug.diff, HBASE-17997.master.003.patch
>
>
> HBASE-15199 moves jruby-complete-1.6.8.jar to lib/ruby directory.
> However, jruby-complete-1.6.8.jar still appears in cached_classpath.txt
> This means that user would see exception similar to the following when 
> starting hbase in  standalone mode with s3a as rootdir :
> {code}
> 2017-05-04 16:41:32,854 WARN  
> [RpcServer.FifoWFPBQ.priority.handler=18,queue=0,port=38659] 
> internal.S3MetadataResponseHandler: Unable to parse last modified date: Thu, 
> 04 May 2017 16:27:09 GMT
> java.lang.IllegalStateException: Joda-time 2.2 or later version is required, 
> but found version: null
>   at com.amazonaws.util.DateUtils.handleException(DateUtils.java:149)
>   at com.amazonaws.util.DateUtils.parseRFC822Date(DateUtils.java:195)
>   at 
> com.amazonaws.services.s3.internal.ServiceUtils.parseRfc822Date(ServiceUtils.java:78)
>   at 
> com.amazonaws.services.s3.internal.AbstractS3ResponseHandler.populateObjectMetadata(AbstractS3ResponseHandler.java:115)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:52)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:30)
>   at 
> com.amazonaws.http.AmazonHttpClient.handleResponse(AmazonHttpClient.java:1072)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:746)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
>   at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
>   at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3785)
>   at 
> com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1191)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.reopen(S3AInputStream.java:148)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.lazySeek(S3AInputStream.java:281)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.read(S3AInputStream.java:364)
>   at org.apache.hadoop.fs.FSInputStream.read(FSInputStream.java:75)
>   at org.apache.hadoop.fs.FSDataInputStream.read(FSDataInputStream.java:92)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock.positionalReadWithExtra(HFileBlock.java:722)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1420)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockDataInternal(HFileBlock.java:1677)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockData(HFileBlock.java:1504)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:439)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.seekTo(HFileReaderV2.java:904)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:267)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:169)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:363)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.(StoreScanner.java:217)
>   at 
> 

[jira] [Updated] (HBASE-17997) jruby-complete-1.6.8.jar is in cached_classpath.txt

2017-05-25 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-17997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-17997:
---
 Hadoop Flags: Reviewed
Fix Version/s: 2.0.0
 Release Note: 
When JRUBY_HOME is specified, if the command is "hbase shell" or "hbase 
org.jruby.Main", CLASSPATH and HBASE_OPTS will be updated according to 
JRUBY_HOME specified
* Jar under JRUBY_HOME is added to CLASSPATH
* The following will be added into HBASE_OPTS
{code}
-Djruby.home=$JRUBY_HOME -Djruby.lib=$JRUBY_HOME/lib
{code}

That is, as long as JRUBY_HOME is specified, JRUBY_HOME specified will take 
precedence.
* In dev env, the jar recorded in cached_classpath_jruby.txt will be ignored
* In non dev env, jruby-complete jar packaged with HBase will be ignored


> jruby-complete-1.6.8.jar is in cached_classpath.txt
> ---
>
> Key: HBASE-17997
> URL: https://issues.apache.org/jira/browse/HBASE-17997
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Xiang Li
> Fix For: 2.0.0
>
> Attachments: HBASE-17997.master.000.patch, 
> HBASE-17997.master.001.patch, HBASE-17997.master.002.patch, 
> HBASE-17997.master.003.debug.diff, HBASE-17997.master.003.patch
>
>
> HBASE-15199 moves jruby-complete-1.6.8.jar to lib/ruby directory.
> However, jruby-complete-1.6.8.jar still appears in cached_classpath.txt
> This means that user would see exception similar to the following when 
> starting hbase in  standalone mode with s3a as rootdir :
> {code}
> 2017-05-04 16:41:32,854 WARN  
> [RpcServer.FifoWFPBQ.priority.handler=18,queue=0,port=38659] 
> internal.S3MetadataResponseHandler: Unable to parse last modified date: Thu, 
> 04 May 2017 16:27:09 GMT
> java.lang.IllegalStateException: Joda-time 2.2 or later version is required, 
> but found version: null
>   at com.amazonaws.util.DateUtils.handleException(DateUtils.java:149)
>   at com.amazonaws.util.DateUtils.parseRFC822Date(DateUtils.java:195)
>   at 
> com.amazonaws.services.s3.internal.ServiceUtils.parseRfc822Date(ServiceUtils.java:78)
>   at 
> com.amazonaws.services.s3.internal.AbstractS3ResponseHandler.populateObjectMetadata(AbstractS3ResponseHandler.java:115)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:52)
>   at 
> com.amazonaws.services.s3.internal.S3ObjectResponseHandler.handle(S3ObjectResponseHandler.java:30)
>   at 
> com.amazonaws.http.AmazonHttpClient.handleResponse(AmazonHttpClient.java:1072)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:746)
>   at 
> com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
>   at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
>   at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3785)
>   at 
> com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1191)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.reopen(S3AInputStream.java:148)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.lazySeek(S3AInputStream.java:281)
>   at org.apache.hadoop.fs.s3a.S3AInputStream.read(S3AInputStream.java:364)
>   at org.apache.hadoop.fs.FSInputStream.read(FSInputStream.java:75)
>   at org.apache.hadoop.fs.FSDataInputStream.read(FSDataInputStream.java:92)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock.positionalReadWithExtra(HFileBlock.java:722)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1420)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockDataInternal(HFileBlock.java:1677)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockData(HFileBlock.java:1504)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:439)
>   at 
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$ScannerV2.seekTo(HFileReaderV2.java:904)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:267)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:169)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:363)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.(StoreScanner.java:217)
>   at 
> org.apache.hadoop.hbase.regionserver.HStore.createScanner(HStore.java:2132)
>   at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:2122)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5687)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2679)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2665)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2647)
>   at 

[jira] [Commented] (HBASE-16011) TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows

2017-05-25 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-16011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024838#comment-16024838
 ] 

Ted Yu commented on HBASE-16011:


>From https://builds.apache.org/job/PreCommit-HBASE-Build/6947/console :
{code}
HEAD is now at a3c5a74 Revert "HBASE-14614 Procedure v2 - Core Assignment 
Manager (Matteo Bertozzi)"
error: pathspec 'master' did not match any file(s) known to git.
ERROR: git checkout --force master is failing
{code}
I re-triggered QA run.

> TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows
> 
>
> Key: HBASE-16011
> URL: https://issues.apache.org/jira/browse/HBASE-16011
> Project: HBase
>  Issue Type: Bug
>  Components: snapshots
>Affects Versions: 2.0.0, 1.2.2
>Reporter: Youngjoon Kim
>Assignee: Zheng Hu
> Attachments: HBASE-16011.v1.patch, HBASE-16011.v2.patch, 
> HBASE-16011.v2.patch, snapshot_bug_test.patch
>
>
> A snapshot of (non-pre) split table can include both a parent region and 
> daughter regions. If run TableSnapshotScanner or TableSnapshotInputFormat on 
> the such snapshot, duplicate rows are produced.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-18099) FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish

2017-05-25 Thread Ted Yu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-18099:
---
   Resolution: Fixed
 Assignee: Ted Yu
 Hadoop Flags: Reviewed
Fix Version/s: 1.4.0
   2.0.0
   Status: Resolved  (was: Patch Available)

Thanks for the review, Jerry

> FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish
> -
>
> Key: HBASE-18099
> URL: https://issues.apache.org/jira/browse/HBASE-18099
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Assignee: Ted Yu
>Priority: Critical
> Fix For: 2.0.0, 1.4.0
>
> Attachments: 18099.v1.txt, 18099.v2.txt, 18099.v3.txt, 18099.v4.txt
>
>
> In the following thread:
> http://search-hadoop.com/m/HBase/YGbbMXkeHlI9zo
> Jacob described the scenario where data from certain region were missing in 
> the snapshot.
> Here was related region server log:
> https://pastebin.com/1ECXjhRp
> He pointed out that concurrent flush from MemStoreFlusher.1 thread was not 
> initiated from the thread pool for snapshot.
> In RegionSnapshotTask#call() method there is this:
> {code}
>   region.flush(true);
> {code}
> The return value is not checked.
> In HRegion#flushcache(), Result.CANNOT_FLUSH may be returned due to:
> {code}
>   String msg = "Not flushing since "
>   + (writestate.flushing ? "already flushing"
>   : "writes not enabled");
> {code}
> This implies that FlushSnapshotSubprocedure may incorrectly skip waiting for 
> the concurrent flush to complete.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-18114) Update the config of TestAsync*AdminApi to make test stable

2017-05-25 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024828#comment-16024828
 ] 

Hadoop QA commented on HBASE-18114:
---

| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 13m 15s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 1s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 7 new or modified test 
files. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 
12s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 45s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
49s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
16s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 6s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 29s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
49s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 47s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 47s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
52s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
16s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
30m 2s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 
56s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 27s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 116m 7s 
{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
27s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 173m 56s {color} 
| {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:757bf37 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12869849/HBASE-18114-v1.patch |
| JIRA Issue | HBASE-18114 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux e8c68d1cafa4 3.13.0-107-generic #154-Ubuntu SMP Tue Dec 20 
09:57:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 3e426b2 |
| Default Java | 1.8.0_131 |
| findbugs | v3.0.0 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6948/testReport/ |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/6948/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Update the config of TestAsync*AdminApi to make test stable
> ---
>
> Key: HBASE-18114
> URL: https://issues.apache.org/jira/browse/HBASE-18114
> Project: HBase
>  Issue Type: Sub-task
>  Components: Client
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-18114-v1.patch
>
>
> {code}
> 

[jira] [Commented] (HBASE-18042) Client Compatibility breaks between versions 1.2 and 1.3

2017-05-25 Thread Duo Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-18042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024809#comment-16024809
 ] 

Duo Zhang commented on HBASE-18042:
---

[~busbey] Seems yetus always failed to build the docker image for branch-1?

> Client Compatibility breaks between versions 1.2 and 1.3
> 
>
> Key: HBASE-18042
> URL: https://issues.apache.org/jira/browse/HBASE-18042
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver, scan
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Karan Mehta
>Assignee: Duo Zhang
>Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2
>
> Attachments: HBASE-18042-branch-1.3.patch, 
> HBASE-18042-branch-1.patch, HBASE-18042-branch-1.patch, 
> HBASE-18042-branch-1-v1.patch, HBASE-18042-branch-1-v1.patch, 
> HBASE-18042.patch, HBASE-18042-v1.patch, HBASE-18042-v2.patch
>
>
> OpenTSDB uses AsyncHBase as its client, rather than using the traditional 
> HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been 
> changed. Newer fields are added to {{ScanResponse}} proto.
> For a typical Scan request in 1.2, would require caller to make an 
> OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on 
> {{more_rows}} boolean field in the {{ScanResponse}} proto.
> However, from 1.3, new parameter {{more_results_in_region}} was added, which 
> limits the results per region. Therefore the client has to now manage sending 
> all the requests for each region. Further more, if the results are exhausted 
> from a particular region, the {{ScanResponse}} will set 
> {{more_results_in_region}} to false, but {{more_results}} can still be true. 
> Whenever the former is set to false, the {{RegionScanner}} will also be 
> closed. 
> OpenTSDB makes an OpenScanner Request and receives all its results in the 
> first {{ScanResponse}} itself, thus creating a condition as described in 
> above paragraph. Since {{more_rows}} is true, it will proceed to send next 
> request at which point the {{RSRpcServices}} will throw 
> {{UnknownScannerException}}. The protobuf client compatibility is maintained 
> but expected behavior is modified.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (HBASE-14614) Procedure v2: Core Assignment Manager

2017-05-25 Thread stack (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-14614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-14614:
--
Attachment: HBASE-14614.master.044.patch

> Procedure v2: Core Assignment Manager
> -
>
> Key: HBASE-14614
> URL: https://issues.apache.org/jira/browse/HBASE-14614
> Project: HBase
>  Issue Type: Sub-task
>  Components: proc-v2
>Affects Versions: 2.0.0
>Reporter: Stephen Yuan Jiang
>Assignee: Matteo Bertozzi
> Fix For: 2.0.0
>
> Attachments: 14614.040.patch, HBASE-14614.master.003.patch, 
> HBASE-14614.master.004.patch, HBASE-14614.master.005.patch, 
> HBASE-14614.master.006.patch, HBASE-14614.master.007.patch, 
> HBASE-14614.master.008.patch, HBASE-14614.master.009.patch, 
> HBASE-14614.master.010.patch, HBASE-14614.master.012.patch, 
> HBASE-14614.master.012.patch, HBASE-14614.master.013.patch, 
> HBASE-14614.master.014.patch, HBASE-14614.master.015.patch, 
> HBASE-14614.master.017.patch, HBASE-14614.master.018.patch, 
> HBASE-14614.master.019.patch, HBASE-14614.master.020.patch, 
> HBASE-14614.master.022.patch, HBASE-14614.master.023.patch, 
> HBASE-14614.master.024.patch, HBASE-14614.master.025.patch, 
> HBASE-14614.master.026.patch, HBASE-14614.master.027.patch, 
> HBASE-14614.master.028.patch, HBASE-14614.master.029.patch, 
> HBASE-14614.master.030.patch, HBASE-14614.master.033.patch, 
> HBASE-14614.master.038.patch, HBASE-14614.master.039.patch, 
> HBASE-14614.master.040.patch, HBASE-14614.master.041.patch, 
> HBASE-14614.master.042.patch, HBASE-14614.master.043.patch, 
> HBASE-14614.master.044.patch
>
>
> New AssignmentManager implemented using proc-v2.
>  - AssignProcedure handle assignment operation
>  - UnassignProcedure handle unassign operation
>  - MoveRegionProcedure handle move/balance operation
> Concurrent Assign operations are batched together and sent to the balancer
> Concurrent Assign and Unassign operation ready to be sent to the RS are 
> batched together
> This patch is an intermediate state where we add the new AM as 
> AssignmentManager2() to the master, to be reached by tests. but the new AM 
> will not be integrated with the rest of the system. Only new am unit-tests 
> will exercise the new assigment manager. The integration with the master code 
> is part of HBASE-14616



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


  1   2   >