[jira] [Updated] (HBASE-22862) Region Server crash with: Added a key not lexically larger than previous

2019-08-27 Thread Zheng Hu (Jira)


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

Zheng Hu updated HBASE-22862:
-
Attachment: HBASE-22862.UT.v02.patch

> Region Server crash with: Added a key not lexically larger than previous
> 
>
> Key: HBASE-22862
> URL: https://issues.apache.org/jira/browse/HBASE-22862
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 1.4.10
> Environment: {code}
> openjdk version "1.8.0_181"
> OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)
> OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-linux64) (build 25.181-b02, mixed 
> mode)
> {code}
>Reporter: Alex Batyrshin
>Assignee: Zheng Hu
>Priority: Critical
> Attachments: HBASE-22862.UT.v01.patch, HBASE-22862.UT.v02.patch
>
>
> We observe error "Added a key not lexically larger than previous” that cause 
> most of our region-servers to crash in our cluster.
> {code}
> 2019-08-15 18:02:10,554 INFO  [MemStoreFlusher.0] regionserver.HRegion: 
> Flushing 1/1 column families, memstore=56.08 MB
> 2019-08-15 18:02:10,727 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=0
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2200)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:2125)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:512)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:482)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:76)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:264)
>at java.lang.Thread.run(Thread.java:748)
> 2019-08-15 18:02:21,776 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=9
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2200)
>at

[jira] [Commented] (HBASE-22862) Region Server crash with: Added a key not lexically larger than previous

2019-08-27 Thread Zheng Hu (Jira)


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

Zheng Hu commented on HBASE-22862:
--

Created a UT by testing it in the whole RPC path (patch.v02),  it seems also 
OK.  Still don't find the way to reproduce the bug.

> Region Server crash with: Added a key not lexically larger than previous
> 
>
> Key: HBASE-22862
> URL: https://issues.apache.org/jira/browse/HBASE-22862
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 1.4.10
> Environment: {code}
> openjdk version "1.8.0_181"
> OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)
> OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-linux64) (build 25.181-b02, mixed 
> mode)
> {code}
>Reporter: Alex Batyrshin
>Assignee: Zheng Hu
>Priority: Critical
> Attachments: HBASE-22862.UT.v01.patch, HBASE-22862.UT.v02.patch
>
>
> We observe error "Added a key not lexically larger than previous” that cause 
> most of our region-servers to crash in our cluster.
> {code}
> 2019-08-15 18:02:10,554 INFO  [MemStoreFlusher.0] regionserver.HRegion: 
> Flushing 1/1 column families, memstore=56.08 MB
> 2019-08-15 18:02:10,727 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=0
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2200)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:2125)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:512)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:482)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:76)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:264)
>at java.lang.Thread.run(Thread.java:748)
> 2019-08-15 18:02:21,776 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=9
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.

[jira] [Commented] (HBASE-22862) Region Server crash with: Added a key not lexically larger than previous

2019-08-27 Thread Zheng Hu (Jira)


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

Zheng Hu commented on HBASE-22862:
--

[~0x62ash],  How did you write the row & delete the column into HBase ?  would 
you mind to share your hbase client desgin ?  I think it would be helpful to 
fix this bug.

> Region Server crash with: Added a key not lexically larger than previous
> 
>
> Key: HBASE-22862
> URL: https://issues.apache.org/jira/browse/HBASE-22862
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 1.4.10
> Environment: {code}
> openjdk version "1.8.0_181"
> OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)
> OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-linux64) (build 25.181-b02, mixed 
> mode)
> {code}
>Reporter: Alex Batyrshin
>Assignee: Zheng Hu
>Priority: Critical
> Attachments: HBASE-22862.UT.v01.patch, HBASE-22862.UT.v02.patch
>
>
> We observe error "Added a key not lexically larger than previous” that cause 
> most of our region-servers to crash in our cluster.
> {code}
> 2019-08-15 18:02:10,554 INFO  [MemStoreFlusher.0] regionserver.HRegion: 
> Flushing 1/1 column families, memstore=56.08 MB
> 2019-08-15 18:02:10,727 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=0
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2200)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:2125)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:512)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:482)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:76)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:264)
>at java.lang.Thread.run(Thread.java:748)
> 2019-08-15 18:02:21,776 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=9
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>a

[GitHub] [hbase] Apache-HBase commented on issue #543: HBASE-22922 Lock all regions to be merged in case of multi region merge (2.2)

2019-08-27 Thread GitBox
Apache-HBase commented on issue #543: HBASE-22922 Lock all regions to be merged 
in case of multi region merge (2.2)
URL: https://github.com/apache/hbase/pull/543#issuecomment-525172266
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | 0 | reexec | 75 | Docker mode activated. |
   ||| _ Prechecks _ |
   | +1 | dupname | 0 | No case conflicting files found. |
   | +1 | hbaseanti | 0 |  Patch does not have any anti-patterns. |
   | +1 | @author | 0 | The patch does not contain any @author tags. |
   | -0 | test4tests | 0 | 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. |
   ||| _ branch-2.2 Compile Tests _ |
   | +1 | mvninstall | 314 | branch-2.2 passed |
   | +1 | compile | 54 | branch-2.2 passed |
   | +1 | checkstyle | 79 | branch-2.2 passed |
   | +1 | shadedjars | 241 | branch has no errors when building our shaded 
downstream artifacts. |
   | +1 | javadoc | 37 | branch-2.2 passed |
   | 0 | spotbugs | 181 | Used deprecated FindBugs config; considering 
switching to SpotBugs. |
   | +1 | findbugs | 179 | branch-2.2 passed |
   ||| _ Patch Compile Tests _ |
   | +1 | mvninstall | 284 | the patch passed |
   | +1 | compile | 52 | the patch passed |
   | +1 | javac | 52 | the patch passed |
   | +1 | checkstyle | 74 | the patch passed |
   | +1 | whitespace | 0 | The patch has no whitespace issues. |
   | +1 | shadedjars | 237 | patch has no errors when building our shaded 
downstream artifacts. |
   | +1 | hadoopcheck | 880 | Patch does not cause any errors with Hadoop 2.8.5 
2.9.2 or 3.1.2. |
   | +1 | javadoc | 34 | the patch passed |
   | +1 | findbugs | 167 | the patch passed |
   ||| _ Other Tests _ |
   | -1 | unit | 14206 | hbase-server in the patch failed. |
   | +1 | asflicense | 33 | The patch does not generate ASF License warnings. |
   | | | 17324 | |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-543/4/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/543 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile |
   | uname | Linux d69c87f23498 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 
11:12:41 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-543/out/precommit/personality/provided.sh
 |
   | git revision | branch-2.2 / da72e2186b |
   | Default Java | 1.8.0_181 |
   | unit | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-543/4/artifact/out/patch-unit-hbase-server.txt
 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-543/4/testReport/
 |
   | Max. process+thread count | 4301 (vs. ulimit of 1) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-543/4/console |
   | versions | git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11 |
   | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22862) Region Server crash with: Added a key not lexically larger than previous

2019-08-27 Thread Alex Batyrshin (Jira)


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

Alex Batyrshin commented on HBASE-22862:


We use Phoenix-4.14.2 and don't have explicit delete, but have UPSERT with NULL 
values that is translated to HBase delete.

> Region Server crash with: Added a key not lexically larger than previous
> 
>
> Key: HBASE-22862
> URL: https://issues.apache.org/jira/browse/HBASE-22862
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 1.4.10
> Environment: {code}
> openjdk version "1.8.0_181"
> OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)
> OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-linux64) (build 25.181-b02, mixed 
> mode)
> {code}
>Reporter: Alex Batyrshin
>Assignee: Zheng Hu
>Priority: Critical
> Attachments: HBASE-22862.UT.v01.patch, HBASE-22862.UT.v02.patch
>
>
> We observe error "Added a key not lexically larger than previous” that cause 
> most of our region-servers to crash in our cluster.
> {code}
> 2019-08-15 18:02:10,554 INFO  [MemStoreFlusher.0] regionserver.HRegion: 
> Flushing 1/1 column families, memstore=56.08 MB
> 2019-08-15 18:02:10,727 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=0
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2200)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:2125)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:512)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:482)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:76)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:264)
>at java.lang.Thread.run(Thread.java:748)
> 2019-08-15 18:02:21,776 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=9
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regions

[jira] [Comment Edited] (HBASE-22862) Region Server crash with: Added a key not lexically larger than previous

2019-08-27 Thread Alex Batyrshin (Jira)


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

Alex Batyrshin edited comment on HBASE-22862 at 8/27/19 7:28 AM:
-

We use Phoenix-4.14.2 on table with secondary global index and don't have 
explicit delete, but have UPSERT with NULL values that is translated to HBase 
delete.


was (Author: 0x62ash):
We use Phoenix-4.14.2 on indexed table and don't have explicit delete, but have 
UPSERT with NULL values that is translated to HBase delete.

> Region Server crash with: Added a key not lexically larger than previous
> 
>
> Key: HBASE-22862
> URL: https://issues.apache.org/jira/browse/HBASE-22862
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 1.4.10
> Environment: {code}
> openjdk version "1.8.0_181"
> OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)
> OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-linux64) (build 25.181-b02, mixed 
> mode)
> {code}
>Reporter: Alex Batyrshin
>Assignee: Zheng Hu
>Priority: Critical
> Attachments: HBASE-22862.UT.v01.patch, HBASE-22862.UT.v02.patch
>
>
> We observe error "Added a key not lexically larger than previous” that cause 
> most of our region-servers to crash in our cluster.
> {code}
> 2019-08-15 18:02:10,554 INFO  [MemStoreFlusher.0] regionserver.HRegion: 
> Flushing 1/1 column families, memstore=56.08 MB
> 2019-08-15 18:02:10,727 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=0
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2200)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:2125)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:512)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:482)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:76)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:264)
>at java.lang.Thread.run(Thread.java:748)
> 2019-08-15 18:02:21,776 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=9
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523

[jira] [Comment Edited] (HBASE-22862) Region Server crash with: Added a key not lexically larger than previous

2019-08-27 Thread Alex Batyrshin (Jira)


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

Alex Batyrshin edited comment on HBASE-22862 at 8/27/19 7:28 AM:
-

We use Phoenix-4.14.2 on indexed table and don't have explicit delete, but have 
UPSERT with NULL values that is translated to HBase delete.


was (Author: 0x62ash):
We use Phoenix-4.14.2 and don't have explicit delete, but have UPSERT with NULL 
values that is translated to HBase delete.

> Region Server crash with: Added a key not lexically larger than previous
> 
>
> Key: HBASE-22862
> URL: https://issues.apache.org/jira/browse/HBASE-22862
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 1.4.10
> Environment: {code}
> openjdk version "1.8.0_181"
> OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)
> OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-linux64) (build 25.181-b02, mixed 
> mode)
> {code}
>Reporter: Alex Batyrshin
>Assignee: Zheng Hu
>Priority: Critical
> Attachments: HBASE-22862.UT.v01.patch, HBASE-22862.UT.v02.patch
>
>
> We observe error "Added a key not lexically larger than previous” that cause 
> most of our region-servers to crash in our cluster.
> {code}
> 2019-08-15 18:02:10,554 INFO  [MemStoreFlusher.0] regionserver.HRegion: 
> Flushing 1/1 column families, memstore=56.08 MB
> 2019-08-15 18:02:10,727 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=0
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2200)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:2125)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:512)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:482)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:76)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:264)
>at java.lang.Thread.run(Thread.java:748)
> 2019-08-15 18:02:21,776 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=9
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hba

[jira] [Commented] (HBASE-22923) hbase:meta is assigned to localhost when we downgrade the hbase version

2019-08-27 Thread wenbang (Jira)


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

wenbang commented on HBASE-22923:
-

When the nodes of system table group are all in the list of exclude nodes, can 
we assign the system table across the group?

> hbase:meta is assigned to localhost when we downgrade the hbase version
> ---
>
> Key: HBASE-22923
> URL: https://issues.apache.org/jira/browse/HBASE-22923
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.4.8
>Reporter: wenbang
>Priority: Major
>
> When we downgrade the hbase version(rsgroup enable), we found that the 
> hbase:meta table could not be assigned.
> {code:java}
> master.AssignmentManager: Failed assignment of hbase:meta,,1.1588230740 to 
> localhost,1,1, trying to assign elsewhere instead; try=1 of 10 
> java.io.IOException: Call to localhost/127.0.0.1:1 failed on local exception: 
> org.apache.hadoop.hbase.ipc.FailedServerException: This server is in the 
> failed servers list: localhost/127.0.0.1:1
> {code}
> hbase group list:
>   HBASE_META group(hbase:meta and other system tables)
>   default group
> 1.Down grade all servers in HBASE_META first
> 2.higher version servers is in default
> 3.hbase:meta assigned to localhost
> For system table, we assign them to a server with highest version.
> AssignmentManager#getExcludedServersForSystemTable
> But did not consider the rsgroup.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] ravowlga123 opened a new pull request #545: HBASE-22893 Change the comment in HBaseClassTestRule of test timeouts

2019-08-27 Thread GitBox
ravowlga123 opened a new pull request #545: HBASE-22893 Change the comment in 
HBaseClassTestRule of test timeouts
URL: https://github.com/apache/hbase/pull/545
 
 
   HBASE-22893 Change the comment in HBaseClassTestRule to reflect change in 
default test timeouts. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (HBASE-22912) [Backport] HBASE-22867 to branch-1 to avoid ForkJoinPool to spawn thousands of threads

2019-08-27 Thread Zheng Hu (Jira)


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

Zheng Hu updated HBASE-22912:
-
Summary: [Backport] HBASE-22867 to branch-1 to avoid ForkJoinPool to spawn 
thousands of threads  (was: [Backport] HBASE-22867 to branch-1)

> [Backport] HBASE-22867 to branch-1 to avoid ForkJoinPool to spawn thousands 
> of threads
> --
>
> Key: HBASE-22912
> URL: https://issues.apache.org/jira/browse/HBASE-22912
> Project: HBase
>  Issue Type: Improvement
>Reporter: Reid Chan
>Assignee: Zheng Hu
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22893) Change the comment in HBaseClassTestRule to reflect change in default test timeouts

2019-08-27 Thread Rabi Kumar K C (Jira)


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

Rabi Kumar K C commented on HBASE-22893:


Thank you for the response. I did check in the whole project but didn't find 
any. I have edited the comment and made a git PR. 

> Change the comment in HBaseClassTestRule to reflect change in default test 
> timeouts
> ---
>
> Key: HBASE-22893
> URL: https://issues.apache.org/jira/browse/HBASE-22893
> Project: HBase
>  Issue Type: Bug
>Reporter: Sakthi
>Assignee: Rabi Kumar K C
>Priority: Trivial
>  Labels: beginner, noob
>
> The default timeout is 13 minutes. Change the comment accordingly.
> {code}
> // All tests have a 10minute timeout.
> {code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22514) Move rsgroup feature into core of HBase

2019-08-27 Thread Hudson (Jira)


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

Hudson commented on HBASE-22514:


Results for branch HBASE-22514
[build #77 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-22514/77/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-22514/77//General_Nightly_Build_Report/]




(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-22514/77//JDK8_Nightly_Build_Report_(Hadoop2)/]


(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-22514/77//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Move rsgroup feature into core of HBase
> ---
>
> Key: HBASE-22514
> URL: https://issues.apache.org/jira/browse/HBASE-22514
> Project: HBase
>  Issue Type: Umbrella
>  Components: Admin, Client, rsgroup
>Reporter: Yechao Chen
>Assignee: Duo Zhang
>Priority: Major
> Attachments: HBASE-22514.master.001.patch, 
> image-2019-05-31-18-25-38-217.png
>
>
> The class RSGroupAdminClient is not public 
> we need to use java api  RSGroupAdminClient  to manager RSG 
> so  RSGroupAdminClient should be public
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (HBASE-22928) ScanMetrics counter update may not happen in case of exception in TableRecordReaderImpl

2019-08-27 Thread Pankaj Kumar (Jira)
Pankaj Kumar created HBASE-22928:


 Summary: ScanMetrics counter update may not happen in case of 
exception in TableRecordReaderImpl
 Key: HBASE-22928
 URL: https://issues.apache.org/jira/browse/HBASE-22928
 Project: HBase
  Issue Type: Bug
  Components: mapreduce
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar


ScanMetrics counter update may not happen in case of exception in 
TableRecordReaderImpl.nextKeyValue(),

There are multiple cases as below,

1. In case of DoNotRetryIOException
{code}
 // do not retry if the exception tells us not to do so
 if (e instanceof DoNotRetryIOException) {
 throw e;
 }
{code}

2. While creating a new scanner,
{code}
 if (lastSuccessfulRow == null) {
 restart(scan.getStartRow());
 } else {
 restart(lastSuccessfulRow);
 scanner.next(); // skip presumed already mapped row
 }
{code}

3. In case of IOException
{code}
 catch (IOException ioe) {
 if (logScannerActivity) {
 long now = System.currentTimeMillis();
 LOG.info("Mapper took " + (now-timestamp)
 + "ms to process " + rowcount + " rows");
 LOG.info(ioe.toString(), ioe);
 String lastRow = lastSuccessfulRow == null ?
 "null" : Bytes.toStringBinary(lastSuccessfulRow);
 LOG.info("lastSuccessfulRow=" + lastRow);
 }
 throw ioe;
 }
{code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] Apache-HBase commented on issue #251: HBASE-22114 Port HBASE-15560 (TinyLFU-based BlockCache) to branch-1

2019-08-27 Thread GitBox
Apache-HBase commented on issue #251: HBASE-22114 Port HBASE-15560 
(TinyLFU-based BlockCache) to branch-1
URL: https://github.com/apache/hbase/pull/251#issuecomment-525192550
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | 0 | reexec | 40 | Docker mode activated. |
   ||| _ Prechecks _ |
   | +1 | dupname | 0 | No case conflicting files found. |
   | -1 | hbaseanti | 0 |  The patch appears use Hadoop classification instead 
of HBase. |
   | +1 | @author | 0 | The patch does not contain any @author tags. |
   | +1 | test4tests | 0 | The patch appears to include 2 new or modified test 
files. |
   ||| _ branch-1 Compile Tests _ |
   | 0 | mvndep | 364 | Maven dependency ordering for branch |
   | +1 | mvninstall | 204 | branch-1 passed |
   | +1 | compile | 113 | branch-1 passed |
   | +1 | checkstyle | 539 | branch-1 passed |
   | 0 | refguide | 208 | branch has no errors when building the reference 
guide. See footer for rendered docs, which you should manually inspect. |
   | -1 | shadedjars | 14 | branch has 10 errors when building our shaded 
downstream artifacts. |
   | +1 | javadoc | 214 | branch-1 passed |
   | 0 | spotbugs | 525 | Used deprecated FindBugs config; considering 
switching to SpotBugs. |
   | 0 | findbugs | 18 | branch/hbase-resource-bundle no findbugs output file 
(findbugsXml.xml) |
   ||| _ Patch Compile Tests _ |
   | 0 | mvndep | 16 | Maven dependency ordering for patch |
   | +1 | mvninstall | 120 | the patch passed |
   | +1 | compile | 115 | the patch passed |
   | +1 | javac | 115 | the patch passed |
   | +1 | checkstyle | 8 | The patch passed checkstyle in hbase-resource-bundle 
|
   | +1 | checkstyle | 27 | The patch passed checkstyle in hbase-common |
   | +1 | checkstyle | 106 | hbase-server: The patch generated 0 new + 83 
unchanged - 11 fixed = 83 total (was 94) |
   | -1 | checkstyle | 10 | hbase-tinylfu-blockcache: The patch generated 1 new 
+ 0 unchanged - 0 fixed = 1 total (was 0) |
   | -1 | checkstyle | 366 | root: The patch generated 1 new + 92 unchanged - 
11 fixed = 93 total (was 103) |
   | +1 | checkstyle | 27 | The patch passed checkstyle in hbase-it |
   | +1 | whitespace | 0 | The patch has no whitespace issues. |
   | +1 | xml | 7 | The patch has no ill-formed XML file. |
   | 0 | refguide | 213 | patch has no errors when building the reference 
guide. See footer for rendered docs, which you should manually inspect. |
   | -1 | shadedjars | 15 | patch has 10 errors when building our shaded 
downstream artifacts. |
   | +1 | hadoopcheck | 348 | Patch does not cause any errors with Hadoop 2.8.5 
2.9.2. |
   | +1 | javadoc | 264 | the patch passed |
   | 0 | findbugs | 10 | hbase-resource-bundle has no data from findbugs |
   ||| _ Other Tests _ |
   | +1 | unit | 10174 | root in the patch passed. |
   | +1 | asflicense | 118 | The patch does not generate ASF License warnings. |
   | | | 15586 | |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/251 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile refguide xml |
   | uname | Linux 1eb949cf291a 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 
11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-251/out/precommit/personality/provided.sh
 |
   | git revision | branch-1 / f240ca0 |
   | Default Java | 1.8.0_222 |
   | refguide | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/artifact/out/branch-site/book.html
 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/artifact/out/branch-shadedjars.txt
 |
   | checkstyle | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/artifact/out/diff-checkstyle-hbase-tinylfu-blockcache.txt
 |
   | checkstyle | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/artifact/out/diff-checkstyle-root.txt
 |
   | refguide | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/artifact/out/patch-site/book.html
 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/artifact/out/patch-shadedjars.txt
 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/testReport/
 |
   | Max. process+thread count | 3888 (vs. ulimit of 1) |
   | modules | C: hbase-resource-bundle hbase-common hbase-server 
hbase-tinylfu-blockcache . hbase-it U: . |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-251/15/console |
   | versions | git=1.9.1 maven=3.0.5 findbugs=

[jira] [Commented] (HBASE-22380) break circle replication when doing bulkload

2019-08-27 Thread Wellington Chevreuil (Jira)


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

Wellington Chevreuil commented on HBASE-22380:
--

[~anoop.hbase]
{quote}I mean why the user/client need to pass clusterId? When the bulk load 
req comes to the 1st cluster, that RS can add its clusterId in the WALEdit cell.
{quote}
We are already doing that, in a way. User/client who first triggers the bulk 
load (calling LoadIncrementalHFiles class) does not set the cluster Id. This is 
set only at server side, when the bulk load reaches 1st cluster, as you 
mentioned above. But we can't set it on the WAL edit, because bulk load 
replication does not send WAL edits to peer clusters. Once bulk load happens, 
it does generate a single special WAL edit at the original cluster only. 
Replication source reads that, then triggers a bulk load on the peer cluster 
directly (it never ships any wal for the original bulk load event in the 
source). That's why we had to put cluster id in the bullk load request.
{quote}Only passing the 1st clusterId through all the clusters might not be 
enough. We need to add current clusterId into the existing list while passing 
to next. And same way check to see whether this cluster already saw/handled 
this replication or not.
{quote}
I can't yet see the need for such, but let me try change current test to 
include a 3rd cluster in the circle. Or do you mean,  to avoid replication if 
same hfiles are bulkloaded again on original cluster?
{quote}There's a scenario we should consider about, when MOB feature enabled, 
after compaction PartitionedMobCompactor#bulkloadRefFile will be called
{quote}
Let me review that scenario as well.

> break circle replication when doing bulkload
> 
>
> Key: HBASE-22380
> URL: https://issues.apache.org/jira/browse/HBASE-22380
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 3.0.0, 1.5.0, 2.2.0, 1.4.10, 2.0.5, 2.3.0, 2.1.5, 1.3.5
>Reporter: chenxu
>Assignee: Wellington Chevreuil
>Priority: Critical
>  Labels: bulkload
> Fix For: 3.0.0, 1.5.0, 2.3.0, 1.4.11, 2.1.7, 2.2.2
>
>
> when enabled master-master bulkload replication, HFiles will be replicated 
> circularly between two clusters



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] pankaj72981 opened a new pull request #546: HBASE-22928 ScanMetrics counter update may not happen in case of exception in TableRecordReaderImpl

2019-08-27 Thread GitBox
pankaj72981 opened a new pull request #546: HBASE-22928 ScanMetrics counter 
update may not happen in case of exception in TableRecordReaderImpl
URL: https://github.com/apache/hbase/pull/546
 
 
   Updating the counter in multiple exception scenario.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] ravowlga123 opened a new pull request #547: HBASE-22899 logging improvements for snapshot operations w/large manifests

2019-08-27 Thread GitBox
ravowlga123 opened a new pull request #547: HBASE-22899 logging improvements 
for snapshot operations w/large manifests
URL: https://github.com/apache/hbase/pull/547
 
 
   HBASE-22899 logging improvements for snapshot operations w/large manifests


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317922121
 
 

 ##
 File path: hbase-hbtop/README.md
 ##
 @@ -0,0 +1,246 @@
+
+
+# hbtop
+
+## Overview
+
+`hbtop` is a real-time monitoring tool for HBase like Unix's top command.
+It can display summary information as well as metrics per 
Region/Namespace/Table/RegionServer.
+In this tool, you can see the metrics sorted by a selected field and filter 
the metrics to see only metrics you really want to see.
+Also, with the drill-down feature, you can find hot regions easily in a 
top-down manner.
+
+## Usage
+
+You can run hbtop with the following command:
+
+```
+$ hbase top
+```
+
+Also, you can specify your own zookeeper quorum and znode parent as follows:
 
 Review comment:
   The values of `hbase.client.zookeeper.quorum` and `zookeeper.znode.parent` 
in hbase-site.xml in the classpath or the default values would be used. That's 
the same as the other hbase commands I think.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317946197
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/KeyPressGenerator.java
 ##
 @@ -0,0 +1,477 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop.terminal.impl;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.nio.charset.StandardCharsets;
+import java.util.Queue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.hadoop.hbase.hbtop.terminal.KeyPress;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * This generates {@link KeyPress} objects from the given input stream and 
offers them to the
+ * given queue.
+ */
+@InterfaceAudience.Private
+public class KeyPressGenerator {
+
+  private static final Logger LOGGER = 
LoggerFactory.getLogger(KeyPressGenerator.class);
+
+  private enum ParseState {
+START, ESCAPE, ESCAPE_SEQUENCE_PARAM1, ESCAPE_SEQUENCE_PARAM2
+  }
+
+  private final Queue keyPressQueue;
+  private final BlockingQueue inputCharacterQueue = new 
LinkedBlockingQueue<>();
+  private final Reader input;
+  private final InputStream inputStream;
+  private final AtomicBoolean stopThreads = new AtomicBoolean();
+  private final Thread readerThread = new Thread(this::readerThread);
+  private final Thread generatorThread = new Thread(this::generatorThread);
+
+  private ParseState parseState;
+  private int param1;
+  private int param2;
+
+  public KeyPressGenerator(InputStream inputStream, Queue 
keyPressQueue) {
+this.inputStream = inputStream;
+input = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
+this.keyPressQueue = keyPressQueue;
+
+initState();
+  }
+
+  public void start() {
+readerThread.start();
 
 Review comment:
   Okay, will change to use an ExecutorService. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317944079
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/TerminalSize.java
 ##
 @@ -0,0 +1,61 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop.terminal;
+
+import java.util.Objects;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Terminal dimensions in 2-d space, measured in number of rows and columns.
+ */
+@InterfaceAudience.Private
+public class TerminalSize {
 
 Review comment:
   Yes, `TerminalSize` and  `CursorPosition` are very similar. However, I think 
the role is different as `TerminalSize` represents a size and `CursorPosition` 
represents a position. Also, if unifying the 2 classes, I can't think of a good 
name. What do you think?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317932301
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/field/FieldValueType.java
 ##
 @@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop.field;
+
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Represents the type of a {@link FieldValue}.
+ */
+@InterfaceAudience.Private
+public enum FieldValueType {
+  STRING, INTEGER, LONG, FLOAT, SIZE, PERCENT
 
 Review comment:
   Do I need to change here?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317931219
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/Record.java
 ##
 @@ -0,0 +1,180 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Stream;
+import javax.validation.constraints.NotNull;
+import org.apache.hadoop.hbase.hbtop.field.Field;
+import org.apache.hadoop.hbase.hbtop.field.FieldValue;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Represents a record of the metrics in the top screen.
+ */
+@InterfaceAudience.Private
+public class Record implements Map {
+
+  private Map values;
+
+  public static final class Entry implements Map.Entry {
+private final Field key;
+private FieldValue value;
+
+private Entry(Field key, FieldValue value) {
+  this.key = Objects.requireNonNull(key);
+  this.value = Objects.requireNonNull(value);
+}
+
+@Override
+public Field getKey() {
+  return key;
+}
+
+@Override
+public FieldValue getValue() {
+  return value;
+}
+
+@Override
+public FieldValue setValue(FieldValue value) {
+  FieldValue oldValue = this.value;
+  this.value = value;
+  return oldValue;
+}
+  }
+
+  public static Entry entry(Field field, Object value) {
+return new Entry(field, field.newValue(value));
+  }
+
+  public static Entry entry(Field field, FieldValue value) {
+return new Entry(field, value);
+  }
+
+  public static Record ofEntries(List entries) {
+return ofEntries(entries.stream());
+  }
+
+  public static Record ofEntries(Entry... entries) {
+return ofEntries(Stream.of(entries));
+  }
+
+  public static Record ofEntries(Stream entries) {
+return entries
+  .collect(Record::new, (r, e) -> r.put(e.getKey(), e.getValue()), (r1, 
r2) -> {});
+  }
+
+  public Record() {
+this(new EnumMap<>(Field.class));
+  }
+
+  private Record(Map values) {
+this.values = values;
+  }
+
+  @Override
+  public int size() {
+return values.size();
+  }
+
+  @Override
+  public boolean isEmpty() {
+return values.isEmpty();
+  }
+
+  @Override
+  public boolean containsKey(Object key) {
+return values.containsKey(key);
+  }
+
+  @Override
+  public boolean containsValue(Object value) {
+return values.containsValue(value);
+  }
+
+  @Override
+  public FieldValue get(Object key) {
+return values.get(key);
+  }
+
+  @Override
+  public FieldValue put(Field key, FieldValue value) {
+return values.put(key, value);
+  }
+
+  public FieldValue put(Field key, Object value) {
+return values.put(key, key.newValue(value));
+  }
+
+  @Override
+  public FieldValue remove(Object key) {
+return values.remove(key);
+  }
+
+  @Override
+  public void putAll(@NotNull Map m) {
+values.putAll(m);
+  }
+
+  @Override
+  public void clear() {
+values.clear();
 
 Review comment:
   Will make this object immutable, thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317932067
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/RecordFilter.java
 ##
 @@ -0,0 +1,336 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import org.apache.hadoop.hbase.hbtop.field.Field;
+import org.apache.hadoop.hbase.hbtop.field.FieldValue;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Represents a filter that's filtering the metric {@link Record}s.
+ */
+@InterfaceAudience.Private
+public final class RecordFilter {
+
+  private enum Operator {
+EQUAL("="),
+DOUBLE_EQUALS("=="),
+GREATER(">"),
+GREATER_OR_EQUAL(">="),
+LESS("<"),
+LESS_OR_EQUAL("<=");
+
+private final String operator;
+
+Operator(String operator) {
+  this.operator = operator;
+}
+
+@Override
+public String toString() {
+  return operator;
+}
+  }
 
 Review comment:
   Do I need to change here?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317931848
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/Record.java
 ##
 @@ -0,0 +1,180 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Stream;
+import javax.validation.constraints.NotNull;
+import org.apache.hadoop.hbase.hbtop.field.Field;
+import org.apache.hadoop.hbase.hbtop.field.FieldValue;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Represents a record of the metrics in the top screen.
+ */
+@InterfaceAudience.Private
+public class Record implements Map {
+
+  private Map values;
+
+  public static final class Entry implements Map.Entry {
+private final Field key;
+private FieldValue value;
+
+private Entry(Field key, FieldValue value) {
+  this.key = Objects.requireNonNull(key);
+  this.value = Objects.requireNonNull(value);
+}
+
+@Override
+public Field getKey() {
+  return key;
+}
+
+@Override
+public FieldValue getValue() {
+  return value;
+}
+
+@Override
+public FieldValue setValue(FieldValue value) {
+  FieldValue oldValue = this.value;
+  this.value = value;
+  return oldValue;
+}
+  }
+
+  public static Entry entry(Field field, Object value) {
+return new Entry(field, field.newValue(value));
+  }
+
+  public static Entry entry(Field field, FieldValue value) {
+return new Entry(field, value);
+  }
+
+  public static Record ofEntries(List entries) {
+return ofEntries(entries.stream());
+  }
+
+  public static Record ofEntries(Entry... entries) {
+return ofEntries(Stream.of(entries));
+  }
+
+  public static Record ofEntries(Stream entries) {
+return entries
+  .collect(Record::new, (r, e) -> r.put(e.getKey(), e.getValue()), (r1, 
r2) -> {});
+  }
+
+  public Record() {
+this(new EnumMap<>(Field.class));
+  }
+
+  private Record(Map values) {
+this.values = values;
+  }
+
+  @Override
+  public int size() {
+return values.size();
+  }
+
+  @Override
+  public boolean isEmpty() {
+return values.isEmpty();
+  }
+
+  @Override
+  public boolean containsKey(Object key) {
+return values.containsKey(key);
+  }
+
+  @Override
+  public boolean containsValue(Object value) {
+return values.containsValue(value);
+  }
+
+  @Override
+  public FieldValue get(Object key) {
+return values.get(key);
+  }
+
+  @Override
+  public FieldValue put(Field key, FieldValue value) {
+return values.put(key, value);
+  }
+
+  public FieldValue put(Field key, Object value) {
+return values.put(key, key.newValue(value));
+  }
+
+  @Override
+  public FieldValue remove(Object key) {
+return values.remove(key);
+  }
+
+  @Override
+  public void putAll(@NotNull Map m) {
+values.putAll(m);
+  }
+
+  @Override
+  public void clear() {
+values.clear();
+  }
+
+  @Override
+  @NotNull
+  public Set keySet() {
+return values.keySet();
+  }
+
+  @Override
+  @NotNull
+  public Collection values() {
+return values.values();
+  }
+
+  @Override
+  @NotNull
+  public Set> entrySet() {
+return values.entrySet();
+  }
+
+  public Record combine(Record o) {
+return ofEntries(values.keySet().stream()
+  .map(k -> {
+switch (k.getFieldValueType()) {
+  case STRING:
+return entry(k, values.get(k));
+  default:
+return entry(k, values.get(k).plus(o.values.get(k)));
+}
+  }));
+  }
+
+  public Record toImmutable() {
+return new Record(Collections.unmodifiableMap(values));
+  }
+}
 
 Review comment:
   I think we can use ImmutableMap in Guava here. Will modify to use it.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For quer

[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317926127
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java
 ##
 @@ -0,0 +1,141 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.io.InputStream;
+import java.util.Objects;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.hadoop.hbase.hbtop.screen.Screen;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.apache.log4j.PropertyConfigurator;
 
 Review comment:
   Yes, I know references to log4j directly is not good and we should use 
Logger via slf4j. But what I want to do here is changing log level forcibly 
because I want to suppress logging spam which messes up the console rendering. 
It looks like slf4j itself doesn't have a way to change log level so I had to 
use log4j directly.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317937751
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/screen/top/TopScreenModel.java
 ##
 @@ -0,0 +1,202 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop.screen.top;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.apache.hadoop.hbase.ClusterMetrics;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.hbtop.Record;
+import org.apache.hadoop.hbase.hbtop.RecordFilter;
+import org.apache.hadoop.hbase.hbtop.field.Field;
+import org.apache.hadoop.hbase.hbtop.field.FieldInfo;
+import org.apache.hadoop.hbase.hbtop.field.FieldValue;
+import org.apache.hadoop.hbase.hbtop.mode.DrillDownInfo;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * The data and business logic for the top screen.
+ */
+@InterfaceAudience.Private
+public class TopScreenModel {
+
+  private static final Logger LOGGER = 
LoggerFactory.getLogger(TopScreenModel.class);
+
+  private final Admin admin;
+
+  private Mode currentMode;
+  private Field currentSortField;
+  private List fieldInfos;
+  private List fields;
+
+  private Summary summary;
+  private List records;
+
+  private final List filters = new ArrayList<>();
+  private final List filterHistories = new ArrayList<>();
+
+  private boolean ascendingSort;
+
+  public TopScreenModel(Admin admin, Mode initialMode) {
+this.admin = Objects.requireNonNull(admin);
+switchMode(Objects.requireNonNull(initialMode), null, false);
+  }
+
+  public void switchMode(Mode nextMode, List initialFilters,
+boolean keepSortFieldAndSortOrderIfPossible) {
+
+currentMode = nextMode;
+fieldInfos = Collections.unmodifiableList(new 
ArrayList<>(currentMode.getFieldInfos()));
+fields = Collections.unmodifiableList(new 
ArrayList<>(currentMode.getFieldInfos().stream()
+  .map(FieldInfo::getField).collect(Collectors.toList(;
+
+if (keepSortFieldAndSortOrderIfPossible) {
+  boolean match = fields.stream().anyMatch(f -> f == currentSortField);
+  if (!match) {
+currentSortField = nextMode.getDefaultSortField();
+ascendingSort = false;
+  }
+} else {
+  currentSortField = nextMode.getDefaultSortField();
+  ascendingSort = false;
+}
+
+clearFilters();
+if (initialFilters != null) {
+  filters.addAll(initialFilters);
+}
+  }
+
+  public void setSortFieldAndFields(Field sortField, List fields) {
+this.currentSortField = sortField;
+this.fields = Collections.unmodifiableList(new ArrayList<>(fields));
+  }
+
+  public void refreshMetricsData() {
 
 Review comment:
   > it seems like we only call it from the "main thread" of the application.
   
   Yes. That's correct. In the current implementation, only the main thread 
calls the method. So we don't need synchronization things here now.
   
   > Assuming I got it right, I think a comment here explaining that "HBTop 
only calls this from a single thread, and if that ever changes, this needs 
synchronization" would be really helpful!
   
   Thanks. That would be really helpful. Will add this comment.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317946868
 
 

 ##
 File path: hbase-hbtop/src/main/resources/log4j-hbtop.properties
 ##
 @@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+log4j.rootLogger=WARN,console
 
 Review comment:
   Okay, will add the log level setting. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317935817
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenPresenter.java
 ##
 @@ -0,0 +1,186 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop.screen.field;
+
+import java.util.ArrayList;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Objects;
+
+import org.apache.hadoop.hbase.hbtop.field.Field;
+import org.apache.hadoop.hbase.hbtop.screen.ScreenView;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * The presentation logic for the field screen.
+ */
+@InterfaceAudience.Private
+public class FieldScreenPresenter {
+
+  @FunctionalInterface
+  public interface ResultListener {
+void accept(Field sortField, List fields, EnumMap 
fieldDisplayMap);
+  }
+
+  private final FieldScreenView fieldScreenView;
+  private Field sortField;
+  private final List fields;
+  private final EnumMap fieldDisplayMap;
+  private final ResultListener resultListener;
+  private final ScreenView nextScreenView;
+
+  private final int headerMaxLength;
+  private final int descriptionMaxLength;
+
+  private int currentPosition;
+  private boolean moveMode;
+
+  public FieldScreenPresenter(FieldScreenView fieldScreenView, Field 
sortField, List fields,
+EnumMap fieldDisplayMap, ResultListener resultListener,
+ScreenView nextScreenView) {
+this.fieldScreenView = Objects.requireNonNull(fieldScreenView);
+this.sortField = Objects.requireNonNull(sortField);
+this.fields = new ArrayList<>(Objects.requireNonNull(fields));
+this.fieldDisplayMap = new 
EnumMap<>(Objects.requireNonNull(fieldDisplayMap));
+this.resultListener = Objects.requireNonNull(resultListener);
+this.nextScreenView = Objects.requireNonNull(nextScreenView);
+
+int headerLength = 0;
+int descriptionLength = 0;
+for (int i = 0; i < fields.size(); i ++) {
+  Field field = fields.get(i);
+
+  if (field == sortField) {
 
 Review comment:
   Yes. `Field` is an enum type (singleton), so we can just use `==` operator 
to compare.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317952124
 
 

 ##
 File path: hbase-hbtop/src/main/resources/log4j-hbtop.properties
 ##
 @@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+log4j.rootLogger=WARN,console
 
 Review comment:
   I wanted to avoid conflicting between a default log4j configuration file 
(`log4j.properties`) and this file (`log4j-hbtop.properties`). If this file is 
named `log4j.properties` and another `log4j.properties` exists in the 
classpath, we are not sure which file is read (maybe it depends on the order of 
loading the files). So I thought we needed a unique name for this file.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317920128
 
 

 ##
 File path: hbase-hbtop/README.md
 ##
 @@ -0,0 +1,246 @@
+
+
+# hbtop
+
+## Overview
+
+`hbtop` is a real-time monitoring tool for HBase like Unix's top command.
+It can display summary information as well as metrics per 
Region/Namespace/Table/RegionServer.
+In this tool, you can see the metrics sorted by a selected field and filter 
the metrics to see only metrics you really want to see.
+Also, with the drill-down feature, you can find hot regions easily in a 
top-down manner.
+
+## Usage
+
+You can run hbtop with the following command:
+
+```
+$ hbase top
+```
+
+Also, you can specify your own zookeeper quorum and znode parent as follows:
+
+```
+$ hbase top -Dhbase.client.zookeeper.quorum= 
-Dzookeeper.znode.parent=
+```
+
+![Top screen](img/top_screen.gif "Top screen")
+
+The top screen consists of a summary part and of a metrics part.
+In the summary part, you can see `HBase Version`, `Cluster ID`, `The number of 
region servers`, `Region count`, `Average Cluster Load` and `Aggregated 
Request/s`.
+In the metrics part, you can see metrics per 
Region/Namespace/Table/RegionServer depending on the selected mode.
+The top screen is refreshed in a certain period – 3 seconds by default.
+
+### Scrolling metric records
+
+You can scroll the metric records in the metrics part.
+
+![Scrolling metric records](img/scrolling_metric_records.gif "Scrolling metric 
records")
+
+### Command line arguments
+
+| Argument | Description |
+|---|---|
+| -delay  | The refresh delay (in seconds); default is 3 seconds |
+| -help | Print usage; for help while the tool is running press `h` key |
+| -mode  | The mode; `n` (Namespace)|`t` (Table)|r 
(Region)|`s` (RegionServer), default is `r` (Region) |
+
+### Modes
+
+There are the following 4 modes in hbtop:
+
+| Mode | Description |
 
 Review comment:
   That would be really nice. Thank you for the feedback.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317931117
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/Record.java
 ##
 @@ -0,0 +1,180 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Stream;
+import javax.validation.constraints.NotNull;
+import org.apache.hadoop.hbase.hbtop.field.Field;
+import org.apache.hadoop.hbase.hbtop.field.FieldValue;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Represents a record of the metrics in the top screen.
+ */
+@InterfaceAudience.Private
+public class Record implements Map {
+
+  private Map values;
+
+  public static final class Entry implements Map.Entry {
+private final Field key;
+private FieldValue value;
 
 Review comment:
   Will make this object immutable, thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317945353
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/impl/EscapeSequences.java
 ##
 @@ -0,0 +1,140 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop.terminal.impl;
+
+import org.apache.hadoop.hbase.hbtop.terminal.Color;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Utility class for escape sequences.
+ */
+@InterfaceAudience.Private
+public final class EscapeSequences {
+  private EscapeSequences() {
+  }
+
+  public static String clearAll() {
+return "\033[0;37;40m\033[2J";
+  }
+
+  public static String setTitle(String title) {
+return "\033]2;" + title + "\007";
+  }
+
+  public static String cursor(boolean on) {
+if (on) {
+  return "\033[?25h";
+}
+return "\033[?25l";
+  }
+
+  public static String moveCursor(int column, int row) {
+return String.format("\033[%d;%dH", row + 1, column + 1);
+  }
+
+  public static String clearRemainingLine() {
+return "\033[0;37;40m\033[K";
+  }
+
+  public static String color(Color foregroundColor, Color backgroundColor, 
boolean bold,
+boolean reverse, boolean blink, boolean underline) {
+
+int foregroundColorValue = getColorValue(foregroundColor, true);
+int backgroundColorValue = getColorValue(backgroundColor, false);
+
+StringBuilder sb = new StringBuilder();
+if (bold && reverse && blink && !underline) {
+  sb.append("\033[0;1;7;5;");
+} else if (bold && reverse && !blink && !underline) {
+  sb.append("\033[0;1;7;");
+} else if (!bold && reverse && blink && !underline) {
+  sb.append("\033[0;7;5;");
+} else if (bold && !reverse && blink && !underline) {
+  sb.append("\033[0;1;5;");
+} else if (bold && !reverse && !blink && !underline) {
+  sb.append("\033[0;1;");
+} else if (!bold && reverse && !blink && !underline) {
+  sb.append("\033[0;7;");
+} else if (!bold && !reverse && blink && !underline) {
+  sb.append("\033[0;5;");
+} else if (bold && reverse && blink /* && underline */) {
 
 Review comment:
   I intended that they were just for readability. Will remove the comments. 
Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317934725
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/mode/RegionModeStrategy.java
 ##
 @@ -0,0 +1,183 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop.mode;
+
+import edu.umd.cs.findbugs.annotations.Nullable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.commons.lang3.time.FastDateFormat;
+import org.apache.hadoop.hbase.ClusterMetrics;
+import org.apache.hadoop.hbase.RegionMetrics;
+import org.apache.hadoop.hbase.ServerMetrics;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.hbtop.Record;
+import org.apache.hadoop.hbase.hbtop.field.Field;
+import org.apache.hadoop.hbase.hbtop.field.FieldInfo;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Implementation for {@link ModeStrategy} for Region Mode.
+ */
+@InterfaceAudience.Private
+public final class RegionModeStrategy implements ModeStrategy {
+
+  private final List fieldInfos = Arrays.asList(
+new FieldInfo(Field.REGION_NAME, 0, false),
+new FieldInfo(Field.NAMESPACE, 0, true),
+new FieldInfo(Field.TABLE, 0,  true),
+new FieldInfo(Field.START_CODE, 13, false),
+new FieldInfo(Field.REPLICA_ID, 5, false),
+new FieldInfo(Field.REGION, 32, true),
+new FieldInfo(Field.REGION_SERVER, 0, true),
+new FieldInfo(Field.LONG_REGION_SERVER, 0, false),
+new FieldInfo(Field.REQUEST_COUNT_PER_SECOND, 8, true),
+new FieldInfo(Field.READ_REQUEST_COUNT_PER_SECOND, 8, true),
+new FieldInfo(Field.FILTERED_READ_REQUEST_COUNT_PER_SECOND, 8, true),
+new FieldInfo(Field.WRITE_REQUEST_COUNT_PER_SECOND, 8, true),
+new FieldInfo(Field.STORE_FILE_SIZE, 10, true),
+new FieldInfo(Field.UNCOMPRESSED_STORE_FILE_SIZE, 12, false),
+new FieldInfo(Field.NUM_STORE_FILES,4, true),
+new FieldInfo(Field.MEM_STORE_SIZE, 8, true),
+new FieldInfo(Field.LOCALITY, 8, true),
+new FieldInfo(Field.START_KEY, 0, false),
+new FieldInfo(Field.COMPACTING_CELL_COUNT, 12, false),
+new FieldInfo(Field.COMPACTED_CELL_COUNT, 12, false),
+new FieldInfo(Field.COMPACTION_PROGRESS, 7, false),
+new FieldInfo(Field.LAST_MAJOR_COMPACTION_TIME, 19, false)
+  );
+
+  private final Map requestCountPerSecondMap = 
new HashMap<>();
+
+  RegionModeStrategy() {
+  }
+
+  @Override
+  public List getFieldInfos() {
+return fieldInfos;
+  }
+
+  @Override
+  public Field getDefaultSortField() {
+return Field.REQUEST_COUNT_PER_SECOND;
+  }
+
+  @Override
+  public List getRecords(ClusterMetrics clusterMetrics) {
+List ret = new ArrayList<>();
+for (ServerMetrics sm : clusterMetrics.getLiveServerMetrics().values()) {
+  long lastReportTimestamp = sm.getLastReportTimestamp();
+  for (RegionMetrics rm : sm.getRegionMetrics().values()) {
+ret.add(createRecord(sm, rm, lastReportTimestamp));
+  }
+}
+return ret;
+  }
+
+  private Record createRecord(ServerMetrics serverMetrics, RegionMetrics 
regionMetrics,
+long lastReportTimestamp) {
+
+Record ret = new Record();
+
+String regionName = regionMetrics.getNameAsString();
+ret.put(Field.REGION_NAME, regionName);
+
+String namespaceName = "";
+String tableName = "";
+String region = "";
+String startKey = "";
+String startCode = "";
+String replicaId = "";
+try {
+  byte[][] elements = 
RegionInfo.parseRegionName(regionMetrics.getRegionName());
+  TableName tn = TableName.valueOf(elements[0]);
+  namespaceName = tn.getNamespaceAsString();
+  tableName = tn.getQualifierAsString();
+  startKey = Bytes.toStringBinary(elements[1]);
+  startCode = Bytes.toString(elements[2]);
+  replicaId = elements.length == 4 ?
+Integer.valueOf(Bytes.toString(elements[3])).toString() : "";
+  region = RegionInfo.encodeRegionName(regionMetrics.getRegionNa

[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317927870
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java
 ##
 @@ -0,0 +1,141 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.io.InputStream;
+import java.util.Objects;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.hadoop.hbase.hbtop.screen.Screen;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.apache.log4j.PropertyConfigurator;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.DefaultParser;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.Options;
+
+
+/**
+ * A real-time monitoring tool for HBase like Unix top command.
+ */
+@InterfaceAudience.Private
+public class HBTop extends Configured implements Tool {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(HBTop.class);
+
+  public HBTop() {
+this(HBaseConfiguration.create());
+  }
+
+  public HBTop(Configuration conf) {
+super(Objects.requireNonNull(conf));
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+// In order to change the log level forcibly, read a custom log4j 
configuration file
+InputStream log4jConfigInputStream = this.getClass().getClassLoader()
+  .getResourceAsStream("log4j-hbtop.properties");
+PropertyConfigurator.configure(log4jConfigInputStream);
 
 Review comment:
   > If we can't find this log4j-hbtop on the classpath, what's the 
side-effect: you might get logging spam which messes up the console rendering?
   
   Yes, we will get logging spam.
   
   > Is it worth some big warning if log4jConfigInputStream is null?
   
   `log4j-hbtop.properties` is in this module actually, so I think we can 
always find this file.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317941008
 
 

 ##
 File path: 
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/terminal/KeyPress.java
 ##
 @@ -0,0 +1,128 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop.terminal;
+
+import edu.umd.cs.findbugs.annotations.Nullable;
+import java.util.Objects;
+import org.apache.yetus.audience.InterfaceAudience;
+
+
+/**
+ * Represents the user pressing a key on the keyboard.
+ */
+@InterfaceAudience.Private
+public class KeyPress {
+  public enum Type {
+Character,
+Escape,
+Backspace,
+ArrowLeft,
+ArrowRight,
+ArrowUp,
+ArrowDown,
+Insert,
+Delete,
+Home,
+End,
+PageUp,
+PageDown,
+ReverseTab,
+Tab,
+Enter,
+F1,
+F2,
+F3,
+F4,
+F5,
+F6,
+F7,
+F8,
+F9,
+F10,
+F11,
+F12,
+Unknown
+  }
 
 Review comment:
   Yes, ideally we should use a terminal lib to avoid reinventing the wheel. If 
we find a good lib, we can replace the current implementation with it by making 
another implementation of `Terminal` interface using the lib.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317930535
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java
 ##
 @@ -0,0 +1,141 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.io.InputStream;
+import java.util.Objects;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.hadoop.hbase.hbtop.screen.Screen;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.apache.log4j.PropertyConfigurator;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.DefaultParser;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.Options;
+
+
+/**
+ * A real-time monitoring tool for HBase like Unix top command.
+ */
+@InterfaceAudience.Private
+public class HBTop extends Configured implements Tool {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(HBTop.class);
+
+  public HBTop() {
+this(HBaseConfiguration.create());
+  }
+
+  public HBTop(Configuration conf) {
+super(Objects.requireNonNull(conf));
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+// In order to change the log level forcibly, read a custom log4j 
configuration file
+InputStream log4jConfigInputStream = this.getClass().getClassLoader()
+  .getResourceAsStream("log4j-hbtop.properties");
+PropertyConfigurator.configure(log4jConfigInputStream);
+
+long initialRefreshDelay = 3 * 1000;
+Mode initialMode = Mode.REGION;
+try {
+  // Command line options
+  Options opts = new Options();
+  opts.addOption("help", false,
+"Print usage; for help while the tool is running press 'h'");
+  opts.addOption("delay", true,
+"The refresh delay (in seconds); default is 3 seconds");
 
 Review comment:
   > On this delay, the master is only going to get ClusterMetrics at a 
particular rate from RegionServers. A refresh of this client that happens more 
frequently than Master update will show no changes?
   
   Yes. Of course, we can decrease `hbase.regionserver.msginterval` (3 seconds 
by default) to increase the actual refresh rate, but that may not be good.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] Apache-HBase commented on issue #537: HBASE-22883 Duplacate codes of method Threads.newDaemonThreadFactory(…

2019-08-27 Thread GitBox
Apache-HBase commented on issue #537: HBASE-22883 Duplacate codes of method 
Threads.newDaemonThreadFactory(…
URL: https://github.com/apache/hbase/pull/537#issuecomment-525199430
 
 
   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | 0 | reexec | 38 | Docker mode activated. |
   ||| _ Prechecks _ |
   | +1 | dupname | 0 | No case conflicting files found. |
   | +1 | hbaseanti | 0 |  Patch does not have any anti-patterns. |
   | +1 | @author | 0 | The patch does not contain any @author tags. |
   | +1 | test4tests | 0 | The patch appears to include 2 new or modified test 
files. |
   ||| _ master Compile Tests _ |
   | 0 | mvndep | 37 | Maven dependency ordering for branch |
   | +1 | mvninstall | 310 | master passed |
   | +1 | compile | 134 | master passed |
   | +1 | checkstyle | 136 | master passed |
   | +1 | shadedjars | 268 | branch has no errors when building our shaded 
downstream artifacts. |
   | +1 | javadoc | 88 | master passed |
   | 0 | spotbugs | 238 | Used deprecated FindBugs config; considering 
switching to SpotBugs. |
   | +1 | findbugs | 333 | master passed |
   ||| _ Patch Compile Tests _ |
   | 0 | mvndep | 17 | Maven dependency ordering for patch |
   | +1 | mvninstall | 301 | the patch passed |
   | +1 | compile | 136 | the patch passed |
   | +1 | javac | 136 | the patch passed |
   | +1 | checkstyle | 26 | The patch passed checkstyle in hbase-common |
   | +1 | checkstyle | 80 | hbase-server: The patch generated 0 new + 60 
unchanged - 3 fixed = 60 total (was 63) |
   | +1 | checkstyle | 15 | The patch passed checkstyle in hbase-backup |
   | +1 | checkstyle | 16 | The patch passed checkstyle in hbase-it |
   | +1 | whitespace | 0 | The patch has no whitespace issues. |
   | +1 | shadedjars | 272 | patch has no errors when building our shaded 
downstream artifacts. |
   | +1 | hadoopcheck | 927 | Patch does not cause any errors with Hadoop 2.8.5 
2.9.2 or 3.1.2. |
   | +1 | javadoc | 88 | the patch passed |
   | +1 | findbugs | 344 | the patch passed |
   ||| _ Other Tests _ |
   | +1 | unit | 183 | hbase-common in the patch passed. |
   | +1 | unit | 8982 | hbase-server in the patch passed. |
   | +1 | unit | 876 | hbase-backup in the patch passed. |
   | +1 | unit | 67 | hbase-it in the patch passed. |
   | +1 | asflicense | 122 | The patch does not generate ASF License warnings. |
   | | | 14217 | |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-537/3/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/537 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile |
   | uname | Linux 4e732f5caca1 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 
11:12:41 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-537/out/precommit/personality/provided.sh
 |
   | git revision | master / c88267202a |
   | Default Java | 1.8.0_181 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-537/3/testReport/
 |
   | Max. process+thread count | 5189 (vs. ulimit of 1) |
   | modules | C: hbase-common hbase-server hbase-backup hbase-it U: . |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-537/3/console |
   | versions | git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11 |
   | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] jatsakthi merged pull request #545: HBASE-22893 Change the comment in HBaseClassTestRule of test timeouts

2019-08-27 Thread GitBox
jatsakthi merged pull request #545: HBASE-22893 Change the comment in 
HBaseClassTestRule of test timeouts
URL: https://github.com/apache/hbase/pull/545
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)
Yechao Chen created HBASE-22929:
---

 Summary: MemStoreLAB  ChunkCreator may memory leak
 Key: HBASE-22929
 URL: https://issues.apache.org/jira/browse/HBASE-22929
 Project: HBase
  Issue Type: Bug
Affects Versions: 2.1.2
Reporter: Yechao Chen


We use hbase 2.1.2 with memstorelab enable
RegionServer crashed case of oom 

I dump the heap ,found the ChunkCreator may be memory leak

The heap is 32GB, 
hbase.regionserver.global.memstore.size=0.4,
hbase.hregion.memstore.mslab.enabled=true
hbase.hregion.memstore.chunkpool.initialsize=0.5,
hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Attachment: hbase_heap_monitor.png

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Attachment: rs_mem_used1.png

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png, rs_mem_used1.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] brfrn169 commented on issue #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on issue #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#issuecomment-525201984
 
 
   @joshelser 
   
   > One question I haven't been able to find the answer to on my own yet: when 
do byte-sizes get rolled up to the next unit? (e.g. MB to GB)
   > 
   > I see my storefile size is still reporting `13818.0MB`. I feel like at 
this point `13.8GB` is sufficient for what I care about, but I'm not sure if 
this is unique to your code, or just something else in HBase you're re-using.
   
   Actually, I'm feeling that should be `Size` class's responsible, but I will 
check that.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Attachment: (was: rs_mem_used1.png)

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Attachment: hbase_rs_mem_used.png

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22893) Change the comment in HBaseClassTestRule to reflect change in default test timeouts

2019-08-27 Thread Sakthi (Jira)


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

Sakthi updated HBASE-22893:
---
Fix Version/s: 2.1.6
   2.2.1
   2.3.0
   3.0.0

> Change the comment in HBaseClassTestRule to reflect change in default test 
> timeouts
> ---
>
> Key: HBASE-22893
> URL: https://issues.apache.org/jira/browse/HBASE-22893
> Project: HBase
>  Issue Type: Bug
>Reporter: Sakthi
>Assignee: Rabi Kumar K C
>Priority: Trivial
>  Labels: beginner, noob
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.6
>
>
> The default timeout is 13 minutes. Change the comment accordingly.
> {code}
> // All tests have a 10minute timeout.
> {code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22893) Change the comment in HBaseClassTestRule to reflect change in default test timeouts

2019-08-27 Thread Sakthi (Jira)


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

Sakthi commented on HBASE-22893:


Pushed to 2.1+ Thanks for the patch [~rabikumar.kc]

> Change the comment in HBaseClassTestRule to reflect change in default test 
> timeouts
> ---
>
> Key: HBASE-22893
> URL: https://issues.apache.org/jira/browse/HBASE-22893
> Project: HBase
>  Issue Type: Bug
>Reporter: Sakthi
>Assignee: Rabi Kumar K C
>Priority: Trivial
>  Labels: beginner, noob
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.6
>
>
> The default timeout is 13 minutes. Change the comment accordingly.
> {code}
> // All tests have a 10minute timeout.
> {code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Attachment: hbase_rs_heap_dump_mat_1.png

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png, hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Resolved] (HBASE-22893) Change the comment in HBaseClassTestRule to reflect change in default test timeouts

2019-08-27 Thread Sakthi (Jira)


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

Sakthi resolved HBASE-22893.

Resolution: Fixed

> Change the comment in HBaseClassTestRule to reflect change in default test 
> timeouts
> ---
>
> Key: HBASE-22893
> URL: https://issues.apache.org/jira/browse/HBASE-22893
> Project: HBase
>  Issue Type: Bug
>Reporter: Sakthi
>Assignee: Rabi Kumar K C
>Priority: Trivial
>  Labels: beginner, noob
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.6
>
>
> The default timeout is 13 minutes. Change the comment accordingly.
> {code}
> // All tests have a 10minute timeout.
> {code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Attachment: hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png, hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen commented on HBASE-22929:
-

 !hbase_heap_monitor.png! 
 !hbase_rs_mem_used.png! 
 !hbase_rs_heap_dump_mat_1.png! 
 !hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png! 


> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png, hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (HBASE-22930) Set unique name to longCompactions/shortCompactions threads

2019-08-27 Thread Pankaj Kumar (Jira)
Pankaj Kumar created HBASE-22930:


 Summary: Set unique name to longCompactions/shortCompactions 
threads
 Key: HBASE-22930
 URL: https://issues.apache.org/jira/browse/HBASE-22930
 Project: HBase
  Issue Type: Improvement
Reporter: Pankaj Kumar
Assignee: Pankaj Kumar


Sometime I observed multiple compaction threads have the same name which is 
misleading while analysing the log.

Currently we just append the current timestamp which can be same for multiple 
threads,

https://github.com/apache/hbase/blob/ec68bf30ba91ea7484d3b56b0809ff5434f9406e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java#L144



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen commented on HBASE-22929:
-

It seems :
the  chunkIdMap of the ChunkCreator
the maxCount of the chunks should be (32GB*0.4)/2MB = 6553
the chunkIdMap size  should be smaller than  6553
but the heap dump shows the size of chunkIdMap has 14579 entries


> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png, hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Comment Edited] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen edited comment on HBASE-22929 at 8/27/19 8:53 AM:
--

It seems :
the  chunkIdMap of the ChunkCreator increament incorrect 
the maxCount of the chunks should be (32GB*0.4)/2MB = 6553
the chunkIdMap size  should be smaller than  6553
but the heap dump shows the size of chunkIdMap has 14579 entries



was (Author: chenyechao):
It seems :
the  chunkIdMap of the ChunkCreator
the maxCount of the chunks should be (32GB*0.4)/2MB = 6553
the chunkIdMap size  should be smaller than  6553
but the heap dump shows the size of chunkIdMap has 14579 entries


> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase_heap_monitor.png, hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] pankaj72981 opened a new pull request #548: HBASE-22930 Set unique name to longCompactions/shortCompactions threads

2019-08-27 Thread GitBox
pankaj72981 opened a new pull request #548: HBASE-22930 Set unique name to 
longCompactions/shortCompactions threads
URL: https://github.com/apache/hbase/pull/548
 
 
   Appended the counter in the thread name.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] openinx opened a new pull request #549: HBASE-22912 [Backport] HBASE-22867 to branch-1 to avoid ForkJoinPool to spawn thousands of threads

2019-08-27 Thread GitBox
openinx opened a new pull request #549: HBASE-22912 [Backport] HBASE-22867 to 
branch-1 to avoid ForkJoinPool to spawn thousands of threads
URL: https://github.com/apache/hbase/pull/549
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Attachment: hbase-site.xml

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen commented on HBASE-22929:
-

chunkIdMap add entries may happened in  here

[createChunk method 
|https://github.com/apache/hbase/blob/rel/2.1.2/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChunkCreator.java#L268]

but the code has checked the maxCount before createChunk
[createChunkForPool| 
https://github.com/apache/hbase/blob/rel/2.1.2/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChunkCreator.java#L379]

[MemStoreChunkPool 
init|https://github.com/apache/hbase/blob/rel/2.1.2/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ChunkCreator.java#L344]






> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen commented on HBASE-22929:
-

 !OOM_log.png! 

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Attachment: OOM_log.png

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22930) Set unique name to longCompactions/shortCompactions threads

2019-08-27 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-22930:
-
Description: 
Sometime observed multiple compaction threads have the same name which is 
misleading while analysing the log.

Currently we just append the current timestamp which can be same for multiple 
threads,

[https://github.com/apache/hbase/blob/ec68bf30ba91ea7484d3b56b0809ff5434f9406e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java#L144]

  was:
Sometime I observed multiple compaction threads have the same name which is 
misleading while analysing the log.

Currently we just append the current timestamp which can be same for multiple 
threads,

https://github.com/apache/hbase/blob/ec68bf30ba91ea7484d3b56b0809ff5434f9406e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java#L144


> Set unique name to longCompactions/shortCompactions threads
> ---
>
> Key: HBASE-22930
> URL: https://issues.apache.org/jira/browse/HBASE-22930
> Project: HBase
>  Issue Type: Improvement
>Reporter: Pankaj Kumar
>Assignee: Pankaj Kumar
>Priority: Minor
>
> Sometime observed multiple compaction threads have the same name which is 
> misleading while analysing the log.
> Currently we just append the current timestamp which can be same for multiple 
> threads,
> [https://github.com/apache/hbase/blob/ec68bf30ba91ea7484d3b56b0809ff5434f9406e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java#L144]



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] Apache-HBase commented on issue #494: HBASE-22380 break circle replication when doing bulkload

2019-08-27 Thread GitBox
Apache-HBase commented on issue #494: HBASE-22380 break circle replication when 
doing bulkload
URL: https://github.com/apache/hbase/pull/494#issuecomment-525212070
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | 0 | reexec | 49 | Docker mode activated. |
   ||| _ Prechecks _ |
   | +1 | dupname | 0 | No case conflicting files found. |
   | +1 | hbaseanti | 0 |  Patch does not have any anti-patterns. |
   | +1 | @author | 0 | The patch does not contain any @author tags. |
   | +1 | test4tests | 0 | The patch appears to include 1 new or modified test 
files. |
   ||| _ branch-2 Compile Tests _ |
   | 0 | mvndep | 15 | Maven dependency ordering for branch |
   | +1 | mvninstall | 393 | branch-2 passed |
   | +1 | compile | 137 | branch-2 passed |
   | +1 | checkstyle | 163 | branch-2 passed |
   | +1 | shadedjars | 308 | branch has no errors when building our shaded 
downstream artifacts. |
   | +1 | javadoc | 78 | branch-2 passed |
   | 0 | spotbugs | 221 | Used deprecated FindBugs config; considering 
switching to SpotBugs. |
   | +1 | findbugs | 474 | branch-2 passed |
   ||| _ Patch Compile Tests _ |
   | 0 | mvndep | 17 | Maven dependency ordering for patch |
   | +1 | mvninstall | 370 | the patch passed |
   | +1 | compile | 131 | the patch passed |
   | +1 | cc | 131 | the patch passed |
   | +1 | javac | 131 | the patch passed |
   | -1 | checkstyle | 86 | hbase-server: The patch generated 1 new + 302 
unchanged - 0 fixed = 303 total (was 302) |
   | +1 | whitespace | 0 | The patch has no whitespace issues. |
   | +1 | shadedjars | 259 | patch has no errors when building our shaded 
downstream artifacts. |
   | +1 | hadoopcheck | 943 | Patch does not cause any errors with Hadoop 2.8.5 
2.9.2 or 3.1.2. |
   | +1 | hbaseprotoc | 120 | the patch passed |
   | +1 | javadoc | 76 | the patch passed |
   | -1 | findbugs | 188 | hbase-server generated 1 new + 0 unchanged - 0 fixed 
= 1 total (was 0) |
   ||| _ Other Tests _ |
   | +1 | unit | 40 | hbase-protocol-shaded in the patch passed. |
   | +1 | unit | 217 | hbase-client in the patch passed. |
   | -1 | unit | 9625 | hbase-server in the patch failed. |
   | +1 | asflicense | 76 | The patch does not generate ASF License warnings. |
   | | | 14485 | |
   
   
   | Reason | Tests |
   |---:|:--|
   | FindBugs | module:hbase-server |
   |  |  
org.apache.hadoop.hbase.replication.regionserver.ReplicationSink.replicateEntries(List,
 CellScanner, String, String, String) makes inefficient use of keySet iterator 
instead of entrySet iterator  At ReplicationSink.java:makes inefficient use of 
keySet iterator instead of entrySet iterator  At ReplicationSink.java:[line 
257] |
   | Failed junit tests | 
hadoop.hbase.regionserver.TestHRegionWithInMemoryFlush |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-494/34/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/494 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile cc hbaseprotoc |
   | uname | Linux 4be39ec73ed7 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 
11:12:41 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-494/out/precommit/personality/provided.sh
 |
   | git revision | branch-2 / caba5cf990 |
   | Default Java | 1.8.0_181 |
   | checkstyle | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-494/34/artifact/out/diff-checkstyle-hbase-server.txt
 |
   | findbugs | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-494/34/artifact/out/new-findbugs-hbase-server.html
 |
   | unit | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-494/34/artifact/out/patch-unit-hbase-server.txt
 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-494/34/testReport/
 |
   | Max. process+thread count | 4769 (vs. ulimit of 1) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server U: . |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-494/34/console |
   | versions | git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11 |
   | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] Apache-HBase commented on issue #536: HBASE-22881 Fix non-daemon threads in hbase server implementation

2019-08-27 Thread GitBox
Apache-HBase commented on issue #536: HBASE-22881 Fix non-daemon threads in 
hbase server implementation
URL: https://github.com/apache/hbase/pull/536#issuecomment-525212224
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | 0 | reexec | 44 | Docker mode activated. |
   ||| _ Prechecks _ |
   | +1 | dupname | 0 | No case conflicting files found. |
   | +1 | hbaseanti | 0 |  Patch does not have any anti-patterns. |
   | +1 | @author | 0 | The patch does not contain any @author tags. |
   | +1 | test4tests | 0 | The patch appears to include 2 new or modified test 
files. |
   ||| _ branch-2 Compile Tests _ |
   | 0 | mvndep | 14 | Maven dependency ordering for branch |
   | +1 | mvninstall | 312 | branch-2 passed |
   | +1 | compile | 139 | branch-2 passed |
   | +1 | checkstyle | 184 | branch-2 passed |
   | +1 | shadedjars | 251 | branch has no errors when building our shaded 
downstream artifacts. |
   | +1 | javadoc | 114 | branch-2 passed |
   | 0 | spotbugs | 90 | Used deprecated FindBugs config; considering switching 
to SpotBugs. |
   | +1 | findbugs | 373 | branch-2 passed |
   ||| _ Patch Compile Tests _ |
   | 0 | mvndep | 18 | Maven dependency ordering for patch |
   | +1 | mvninstall | 291 | the patch passed |
   | +1 | compile | 139 | the patch passed |
   | +1 | javac | 139 | the patch passed |
   | +1 | checkstyle | 28 | The patch passed checkstyle in hbase-common |
   | +1 | checkstyle | 37 | The patch passed checkstyle in hbase-client |
   | +1 | checkstyle | 80 | hbase-server: The patch generated 0 new + 153 
unchanged - 4 fixed = 153 total (was 157) |
   | +1 | checkstyle | 39 | hbase-thrift: The patch generated 0 new + 10 
unchanged - 2 fixed = 10 total (was 12) |
   | +1 | whitespace | 1 | The patch has no whitespace issues. |
   | +1 | shadedjars | 250 | patch has no errors when building our shaded 
downstream artifacts. |
   | +1 | hadoopcheck | 904 | Patch does not cause any errors with Hadoop 2.8.5 
2.9.2 or 3.1.2. |
   | +1 | javadoc | 112 | the patch passed |
   | +1 | findbugs | 413 | the patch passed |
   ||| _ Other Tests _ |
   | +1 | unit | 176 | hbase-common in the patch passed. |
   | +1 | unit | 206 | hbase-client in the patch passed. |
   | -1 | unit | 9320 | hbase-server in the patch failed. |
   | +1 | unit | 239 | hbase-thrift in the patch passed. |
   | +1 | asflicense | 101 | The patch does not generate ASF License warnings. |
   | | | 14211 | |
   
   
   | Reason | Tests |
   |---:|:--|
   | Failed junit tests | hadoop.hbase.client.TestBlockEvictionFromClient |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-536/3/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/536 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile |
   | uname | Linux b9b542473dbe 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 
11:12:41 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-536/out/precommit/personality/provided.sh
 |
   | git revision | branch-2 / caba5cf990 |
   | Default Java | 1.8.0_181 |
   | unit | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-536/3/artifact/out/patch-unit-hbase-server.txt
 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-536/3/testReport/
 |
   | Max. process+thread count | 4459 (vs. ulimit of 1) |
   | modules | C: hbase-common hbase-client hbase-server hbase-thrift U: . |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-536/3/console |
   | versions | git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11 |
   | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22872) Don't create normalization plan unnecesarily when split and merge both are disabled

2019-08-27 Thread Hudson (Jira)


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

Hudson commented on HBASE-22872:


Results for branch branch-1
[build #1032 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1/1032/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1/1032//General_Nightly_Build_Report/]


(/) {color:green}+1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1/1032//JDK7_Nightly_Build_Report/]


(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1/1032//JDK8_Nightly_Build_Report_(Hadoop2)/]




(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> Don't create normalization plan unnecesarily when split and merge both are 
> disabled
> ---
>
> Key: HBASE-22872
> URL: https://issues.apache.org/jira/browse/HBASE-22872
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.4.10
>Reporter: Aman Poonia
>Assignee: Aman Poonia
>Priority: Minor
> Fix For: 1.5.0, 2.2.1, 1.3.6, 1.4.11, 2.1.7
>
> Attachments: HBASE-22872.branch-1.4.001.patch, 
> HBASE-22872.branch-1.4.002.patch, HBASE-22872.branch-1.4.003.patch, 
> HBASE-22872.branch-1.4.004.patch, HBASE-22872.branch-1.4.005.patch, 
> HBASE-22872.branch-2.patch, HBASE-22872.master.v01.patch
>
>
> We should not proceed futher in normalization plan creation if split and 
> merge both are disabled on a table.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Comment Edited] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen edited comment on HBASE-22929 at 8/27/19 9:07 AM:
--

It seems :
the  chunkIdMap of the ChunkCreator increment incorrect 
the chunk size default is 2MB,global memstore limit is 32GB*0.4
the maxCount of the chunks should be (32GB*0.4)/2MB = 6553
the chunkIdMap size  should be smaller than  6553
but the heap dump shows the size of chunkIdMap has 14579 entries



was (Author: chenyechao):
It seems :
the  chunkIdMap of the ChunkCreator increament incorrect 
the maxCount of the chunks should be (32GB*0.4)/2MB = 6553
the chunkIdMap size  should be smaller than  6553
but the heap dump shows the size of chunkIdMap has 14579 entries


> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen updated HBASE-22929:

Description: 
We use hbase 2.1.2 with memstorelab enable
RegionServer crashed case of oom 

I dump the heap ,found the ChunkCreator may be memory leak

The heap is 32GB, 
hbase.regionserver.global.memstore.size=0.4,
hbase.hregion.memstore.mslab.enabled=true
hbase.hregion.memstore.chunkpool.initialsize=0.5,
hbase.hregion.memstore.chunkpool.maxsize=1.0
BucketCache with offheap

  was:
We use hbase 2.1.2 with memstorelab enable
RegionServer crashed case of oom 

I dump the heap ,found the ChunkCreator may be memory leak

The heap is 32GB, 
hbase.regionserver.global.memstore.size=0.4,
hbase.hregion.memstore.mslab.enabled=true
hbase.hregion.memstore.chunkpool.initialsize=0.5,
hbase.hregion.memstore.chunkpool.maxsize=1.0


> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0
> BucketCache with offheap



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread ramkrishna.s.vasudevan (Jira)


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

ramkrishna.s.vasudevan commented on HBASE-22929:


[~chenyechao]
Are you seeing that the chunkIdMap is getting added with new chunks that are 
not from the pool? Any chance you have enabled CompactingMemstore?

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0
> BucketCache with offheap



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22918) RegionServer violates failfast fault assumption

2019-08-27 Thread ranpanfeng (Jira)


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

ranpanfeng commented on HBASE-22918:


[~busbey]

Thanks for explanation, I got it!

> RegionServer violates failfast fault assumption
> ---
>
> Key: HBASE-22918
> URL: https://issues.apache.org/jira/browse/HBASE-22918
> Project: HBase
>  Issue Type: Bug
>Reporter: ranpanfeng
>Priority: Major
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> hbase 2.1.5 is tested and veriflied seriously before it will be deployed in 
> our production environment. we give NP(network partition) fault a very 
> important care. so NP fault injection tests are conducted in our test 
> environment. Some findings are exposed.
> I use ycsb to write data  into table SYSTEM:test, which resides on 
> regionserver0; during the writting, I use iptables to drop any packet from 
> regionserver0 to zookeeper quorums. after
> a default zookeeper.session.out(90'), regionserver0 throws 
> YouAreDeadException after retries  to connect to zookeeper on 
> TimeoutException error. then, regionserver0 suicides itself, before 
> regionserver0 invokes completeFile  on WAL, the active master already 
> considered regionserver0 has dead pre-maturely, so invokes recoverLease to 
> close the WAL on regionserver0 forcely.
> In trusted idc, distributed storage assumes that the error are always 
> failstop/failfast faults, there are no Byzantine failures. so in above 
> scenario, active master should take over the WAL on regionserver0 after 
> regionserver0 is suicided successfully.  According to lease protocol, RS
> should suicide in a lease period, and active master should take over the WAL
>  after a grace period has elapsed, and invariant "lease period < grace 
> period" should always hold.  in hbase-site.xml, only on config property 
> "zookeeper.session.timeout" is given,  I think we should provide two 
> properties:
>   1. regionserver.zookeeper.session.timeout
>   2. master.zookeeper.session.timeout
> HBase admin then can tune regionserver.zookeeper.session.timeout less than 
> master.zookeeper.session.timeout. In this way, failstop assumption is 
> guaranteed.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread binlijin (Jira)


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

binlijin commented on HBASE-22929:
--

@chenxu write in HBASE-20373
If memStoreScanners can't be closed properly in StoreScanner#updateReaders, 
there will be a memory leak in MemStoreLABImpl#close, because the Chunks can't 
be reclaimed correctly.




> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0
> BucketCache with offheap



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22380) break circle replication when doing bulkload

2019-08-27 Thread Anoop Sam John (Jira)


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

Anoop Sam John commented on HBASE-22380:


Seems then I misunderstood ur initial comments thinking that the user need to 
pass the clusterId.
bq.Or do you mean,  to avoid replication if same hfiles are bulkloaded again on 
original cluster?
No. I dont mean that.  
A cluster which has replicated one file already seeing the replication request 
for same again.  And this cluster is not the original cluster where the end 
user bulk loaded the file.For the normal mutations we pass the ids of all 
clusters via which this mutation passed through in the replication flow.  So my 
ask was same is needed for hfile replication also (?) Ya I got the point that 
it is not the WAL cells being replicated. But my meaning is the RPC.  I agree 
to the point that RPC need to pass the clusterId. But my thinking is it should 
be Ids.

> break circle replication when doing bulkload
> 
>
> Key: HBASE-22380
> URL: https://issues.apache.org/jira/browse/HBASE-22380
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 3.0.0, 1.5.0, 2.2.0, 1.4.10, 2.0.5, 2.3.0, 2.1.5, 1.3.5
>Reporter: chenxu
>Assignee: Wellington Chevreuil
>Priority: Critical
>  Labels: bulkload
> Fix For: 3.0.0, 1.5.0, 2.3.0, 1.4.11, 2.1.7, 2.2.2
>
>
> when enabled master-master bulkload replication, HFiles will be replicated 
> circularly between two clusters



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen commented on HBASE-22929:
-

[~ram_krish] thanks for reply,   no,I use the DefaultMemStore

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0
> BucketCache with offheap



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317991637
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java
 ##
 @@ -0,0 +1,141 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.io.InputStream;
+import java.util.Objects;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.hadoop.hbase.hbtop.screen.Screen;
+import org.apache.hadoop.util.Tool;
 
 Review comment:
   Added an appropriate dependency. Resolving this. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317992062
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java
 ##
 @@ -0,0 +1,141 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.io.InputStream;
+import java.util.Objects;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.hadoop.hbase.hbtop.screen.Screen;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.apache.log4j.PropertyConfigurator;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine;
 
 Review comment:
   Added an appropriate dependency. Resolving this. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317992000
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java
 ##
 @@ -0,0 +1,141 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.io.InputStream;
+import java.util.Objects;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.hadoop.hbase.hbtop.screen.Screen;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.apache.log4j.PropertyConfigurator;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
 
 Review comment:
   Added an appropriate dependency. Resolving this. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317993415
 
 

 ##
 File path: 
hbase-hbtop/src/test/java/org/apache/hadoop/hbase/hbtop/TestUtils.java
 ##
 @@ -0,0 +1,402 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import static org.hamcrest.CoreMatchers.is;
 
 Review comment:
   Added an appropriate dependency. Resolving this. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317993482
 
 

 ##
 File path: 
hbase-hbtop/src/test/java/org/apache/hadoop/hbase/hbtop/TestUtils.java
 ##
 @@ -0,0 +1,402 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.commons.lang3.time.FastDateFormat;
 
 Review comment:
   Added an appropriate dependency. Resolving this. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317994409
 
 

 ##
 File path: hbase-hbtop/pom.xml
 ##
 @@ -0,0 +1,59 @@
+
+http://maven.apache.org/POM/4.0.0";
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  
+  4.0.0
+  
+hbase
 
 Review comment:
   I changed the parent to `hbase-build-configuration`. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop

2019-08-27 Thread GitBox
brfrn169 commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r317994666
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java
 ##
 @@ -0,0 +1,141 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.io.InputStream;
+import java.util.Objects;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.hadoop.hbase.hbtop.screen.Screen;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.apache.log4j.PropertyConfigurator;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.DefaultParser;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.Options;
+
+
+/**
+ * A real-time monitoring tool for HBase like Unix top command.
+ */
+@InterfaceAudience.Private
 
 Review comment:
   I modified that. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22872) Don't create normalization plan unnecesarily when split and merge both are disabled

2019-08-27 Thread Hudson (Jira)


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

Hudson commented on HBASE-22872:


Results for branch branch-1.4
[build #982 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/982/]: 
(x) *{color:red}-1 overall{color}*

details (if available):



(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/970//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/978//JDK8_Nightly_Build_Report_(Hadoop2)/]




(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> Don't create normalization plan unnecesarily when split and merge both are 
> disabled
> ---
>
> Key: HBASE-22872
> URL: https://issues.apache.org/jira/browse/HBASE-22872
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.4.10
>Reporter: Aman Poonia
>Assignee: Aman Poonia
>Priority: Minor
> Fix For: 1.5.0, 2.2.1, 1.3.6, 1.4.11, 2.1.7
>
> Attachments: HBASE-22872.branch-1.4.001.patch, 
> HBASE-22872.branch-1.4.002.patch, HBASE-22872.branch-1.4.003.patch, 
> HBASE-22872.branch-1.4.004.patch, HBASE-22872.branch-1.4.005.patch, 
> HBASE-22872.branch-2.patch, HBASE-22872.master.v01.patch
>
>
> We should not proceed futher in normalization plan creation if split and 
> merge both are disabled on a table.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Yechao Chen (Jira)


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

Yechao Chen commented on HBASE-22929:
-

[~aoxiang] thanks, 
 seems different problem, 
this case found the chunkIdMap size  over the maxCount of chunkSize 

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0
> BucketCache with offheap



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22872) Don't create normalization plan unnecesarily when split and merge both are disabled

2019-08-27 Thread Hudson (Jira)


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

Hudson commented on HBASE-22872:


Results for branch branch-1.3
[build #942 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/942/]: 
(x) *{color:red}-1 overall{color}*

details (if available):









(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> Don't create normalization plan unnecesarily when split and merge both are 
> disabled
> ---
>
> Key: HBASE-22872
> URL: https://issues.apache.org/jira/browse/HBASE-22872
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 1.4.10
>Reporter: Aman Poonia
>Assignee: Aman Poonia
>Priority: Minor
> Fix For: 1.5.0, 2.2.1, 1.3.6, 1.4.11, 2.1.7
>
> Attachments: HBASE-22872.branch-1.4.001.patch, 
> HBASE-22872.branch-1.4.002.patch, HBASE-22872.branch-1.4.003.patch, 
> HBASE-22872.branch-1.4.004.patch, HBASE-22872.branch-1.4.005.patch, 
> HBASE-22872.branch-2.patch, HBASE-22872.master.v01.patch
>
>
> We should not proceed futher in normalization plan creation if split and 
> merge both are disabled on a table.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22013) SpaceQuotas - getNumRegions() returning wrong number of regions due to region replicas

2019-08-27 Thread HBase QA (Jira)


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

HBase QA commented on HBASE-22013:
--

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  3m  
2s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {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:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  8m 
38s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
3s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
27s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  5m 
38s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  3m 
59s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
38s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  6m 
20s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
58s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
58s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
20s{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} shadedjars {color} | {color:green}  4m 
58s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
17m 17s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.8.5 2.9.2 or 3.1.2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  3m 
24s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
37s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}267m  1s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
30s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}333m  9s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.client.TestFromClientSideWithCoprocessor |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/PreCommit-HBASE-Build/838/artifact/patchprocess/Dockerfile
 |
| JIRA Issue | HBASE-22013 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12978570/HBASE-22013.master.003.patch
 |
| Optional Tests |  dupname  asflicense  javac  javadoc  unit  findbugs  
shadedjars  hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux cf20bb47a5c5 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 
18:22:20 UTC 2019 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | master / c88267202a |
| maven | version: Apache Maven 3.5.4 
(1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) |
| Default Java | 1.8.0_181 |
| findbugs | v3.1.11 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/838/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/838/testReport/ |
| Max. process+thread count | 4836 (vs. ulimit of 1) |
| modules | C: hbase-server U: hbase-server 

[GitHub] [hbase] Reidddddd commented on issue #549: HBASE-22912 [Backport] HBASE-22867 to branch-1 to avoid ForkJoinPool to spawn thousands of threads

2019-08-27 Thread GitBox
Reidd commented on issue #549: HBASE-22912 [Backport] HBASE-22867 to 
branch-1 to avoid ForkJoinPool to spawn thousands of threads
URL: https://github.com/apache/hbase/pull/549#issuecomment-525249133
 
 
   Skimmed, LGTM, I'll take a detailed review late this day.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] openinx commented on issue #549: HBASE-22912 [Backport] HBASE-22867 to branch-1 to avoid ForkJoinPool to spawn thousands of threads

2019-08-27 Thread GitBox
openinx commented on issue #549: HBASE-22912 [Backport] HBASE-22867 to branch-1 
to avoid ForkJoinPool to spawn thousands of threads
URL: https://github.com/apache/hbase/pull/549#issuecomment-525254673
 
 
   The patch is not good enough now, because the traverseAndDelete is not async 
and easy to block the threads... will provide a new one.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Comment Edited] (HBASE-22846) Internal Error 500 when Using HBASE REST API to Create Namespace.

2019-08-27 Thread Wellington Chevreuil (Jira)


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

Wellington Chevreuil edited comment on HBASE-22846 at 8/27/19 11:16 AM:


Submitted an initial PR for branch-2.1. Noticed additional two issues that may 
be good to address in separate jiras:

-1) Lack of UTs for resources;-

2) REST API documentation in the ref guides don't describe the payload format.


was (Author: wchevreuil):
Submitted an initial PR for branch-2.1. Noticed additional two issues that may 
be good to address in separate jiras:

1) Lack of UTs for resources;

2) REST API documentation in the ref guides don't describe the payload format.

> Internal Error 500 when Using HBASE REST API to Create Namespace.
> -
>
> Key: HBASE-22846
> URL: https://issues.apache.org/jira/browse/HBASE-22846
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase-connectors
>Affects Versions: 2.1.1
>Reporter: Sailesh Patel
>Assignee: Wellington Chevreuil
>Priority: Major
>
> When trying to the following URL to create namespace:
> Secured cluster: curl --negotiate -u : -i -k -vi -X POST 
> "http://HBASE_REST_API_HOST:20550/namespaces/datasparktest";
>  UnSecured cluster: curl -vi -X POST 
> "http://HBASE_REST_API_HOST:20550/namespaces/datasparktest";
> The following is returned on the console:
>  HTTP/1.1 500 Request failed.
> The Error in Hbase REST Server log is:
> 2019-08-13 15:44:55,080 WARN org.eclipse.jetty.servlet.ServletHandler: 
> javax.servlet.ServletException: java.lang.NullPointerException
>  at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)
>  at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
> ...
> Caused by: java.lang.NullPointerException
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.createOrUpdate(NamespacesInstanceResource.java:250)
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.processUpdate(NamespacesInstanceResource.java:243)
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.post(NamespacesInstanceResource.java:183)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498)
>  at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>  at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>  at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22846) Internal Error 500 when Using HBASE REST API to Create Namespace.

2019-08-27 Thread Wellington Chevreuil (Jira)


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

Wellington Chevreuil commented on HBASE-22846:
--

So we do have UTs for this resource under 
*TestNamespacesInstanceResource.testNamespaceCreateAndDeletePBAndNoBody.* 
Noticed the same already tests condition of _no body_ POST requests, and these 
are always passing. Upon further investigation, I had found out this is due the 
http request content-type. The passing tests are properly setting it to 
"application/octet-stream". Apparently, http clients such as curl default it to 
"text/html", if not explicitly set. In this case, jersey is then directing the 
request to the wrong resource method, triggering the NPE. 

> Internal Error 500 when Using HBASE REST API to Create Namespace.
> -
>
> Key: HBASE-22846
> URL: https://issues.apache.org/jira/browse/HBASE-22846
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase-connectors
>Affects Versions: 2.1.1
>Reporter: Sailesh Patel
>Assignee: Wellington Chevreuil
>Priority: Major
>
> When trying to the following URL to create namespace:
> Secured cluster: curl --negotiate -u : -i -k -vi -X POST 
> "http://HBASE_REST_API_HOST:20550/namespaces/datasparktest";
>  UnSecured cluster: curl -vi -X POST 
> "http://HBASE_REST_API_HOST:20550/namespaces/datasparktest";
> The following is returned on the console:
>  HTTP/1.1 500 Request failed.
> The Error in Hbase REST Server log is:
> 2019-08-13 15:44:55,080 WARN org.eclipse.jetty.servlet.ServletHandler: 
> javax.servlet.ServletException: java.lang.NullPointerException
>  at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)
>  at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
> ...
> Caused by: java.lang.NullPointerException
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.createOrUpdate(NamespacesInstanceResource.java:250)
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.processUpdate(NamespacesInstanceResource.java:243)
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.post(NamespacesInstanceResource.java:183)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498)
>  at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>  at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>  at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (HBASE-22931) SpaceQuotas- Hbase:meta is too busy when space quotas are turned on.

2019-08-27 Thread Yiran Wu (Jira)
Yiran Wu created HBASE-22931:


 Summary: SpaceQuotas- Hbase:meta is too busy when space quotas are 
turned on.
 Key: HBASE-22931
 URL: https://issues.apache.org/jira/browse/HBASE-22931
 Project: HBase
  Issue Type: Improvement
Affects Versions: 3.0.0
Reporter: Yiran Wu


 In a large cluster, there are many tables and regions.  META tables will be 
scanned frequently after opening space quota. We need optimize it to support 
larger cluster.

some code...
{code:java}
for (TableName table : Iterables.concat(tablesWithTableQuotas, 
  tablesWithNamespaceQuotas)) {
// Don't recompute a table we've already computed
if (tablesToRemove.contains(table)) {
  continue;
}
final int numRegionsInTable = getNumRegions(table);
// If the table doesn't exist (no regions), bail out.
if (numRegionsInTable == 0) {
  if (LOG.isTraceEnabled()) {
LOG.trace("Filtering " + table + " because no regions were 
reported");
  }
  tablesToRemove.add(table);
  continue;
}

{code}




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-12081) Considering Java 9

2019-08-27 Thread Jan Hentschel (Jira)


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

Jan Hentschel commented on HBASE-12081:
---

Agree with [~psomogyi]. Should we close this one in favor of Java 11?

> Considering Java 9
> --
>
> Key: HBASE-12081
> URL: https://issues.apache.org/jira/browse/HBASE-12081
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Andrew Purtell
>Priority: Major
> Fix For: 3.0.0
>
>
> Java 9 will ship in 2016. This will be the first Java release that makes a 
> significant compatibility departure from earlier runtimes. 



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22929) MemStoreLAB ChunkCreator may memory leak

2019-08-27 Thread Allan Yang (Jira)


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

Allan Yang commented on HBASE-22929:


is HBASE-21031 related?

> MemStoreLAB  ChunkCreator may memory leak
> -
>
> Key: HBASE-22929
> URL: https://issues.apache.org/jira/browse/HBASE-22929
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.1.2
>Reporter: Yechao Chen
>Priority: Major
> Attachments: OOM_log.png, hbase-site.xml, hbase_heap_monitor.png, 
> hbase_rs_heap_dump_mat_1.png, 
> hbase_rs_heap_dump_mat_ChunkCreator_chunkIdMap.png, hbase_rs_mem_used.png
>
>
> We use hbase 2.1.2 with memstorelab enable
> RegionServer crashed case of oom 
> I dump the heap ,found the ChunkCreator may be memory leak
> The heap is 32GB, 
> hbase.regionserver.global.memstore.size=0.4,
> hbase.hregion.memstore.mslab.enabled=true
> hbase.hregion.memstore.chunkpool.initialsize=0.5,
> hbase.hregion.memstore.chunkpool.maxsize=1.0
> BucketCache with offheap



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (HBASE-22932) Add rs group managment methods in Admin and AsyncAdmin

2019-08-27 Thread Duo Zhang (Jira)
Duo Zhang created HBASE-22932:
-

 Summary: Add rs group managment methods in Admin and AsyncAdmin
 Key: HBASE-22932
 URL: https://issues.apache.org/jira/browse/HBASE-22932
 Project: HBase
  Issue Type: Sub-task
  Components: Admin, asyncclient, Client
Reporter: Duo Zhang






--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22932) Add rs group management methods in Admin and AsyncAdmin

2019-08-27 Thread Duo Zhang (Jira)


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

Duo Zhang updated HBASE-22932:
--
Summary: Add rs group management methods in Admin and AsyncAdmin  (was: Add 
rs group managment methods in Admin and AsyncAdmin)

> Add rs group management methods in Admin and AsyncAdmin
> ---
>
> Key: HBASE-22932
> URL: https://issues.apache.org/jira/browse/HBASE-22932
> Project: HBase
>  Issue Type: Sub-task
>  Components: Admin, asyncclient, Client
>Reporter: Duo Zhang
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Assigned] (HBASE-22729) Start RSGroupInfoManager as default

2019-08-27 Thread Duo Zhang (Jira)


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

Duo Zhang reassigned HBASE-22729:
-

Assignee: Duo Zhang

> Start RSGroupInfoManager as default
> ---
>
> Key: HBASE-22729
> URL: https://issues.apache.org/jira/browse/HBASE-22729
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Guanghao Zhang
>Assignee: Duo Zhang
>Priority: Major
>
> Start RSGroupInfoManager as default. If no rsgroup information, all 
> RegionServers belong to default group.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Work started] (HBASE-22729) Start RSGroupInfoManager as default

2019-08-27 Thread Duo Zhang (Jira)


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

Work on HBASE-22729 started by Duo Zhang.
-
> Start RSGroupInfoManager as default
> ---
>
> Key: HBASE-22729
> URL: https://issues.apache.org/jira/browse/HBASE-22729
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Guanghao Zhang
>Assignee: Duo Zhang
>Priority: Major
>
> Start RSGroupInfoManager as default. If no rsgroup information, all 
> RegionServers belong to default group.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22862) Region Server crash with: Added a key not lexically larger than previous

2019-08-27 Thread Duo Zhang (Jira)


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

Duo Zhang commented on HBASE-22862:
---

[~openinx] Is this branch-1 only? I haven't found RawBytesComparator on 
master...

> Region Server crash with: Added a key not lexically larger than previous
> 
>
> Key: HBASE-22862
> URL: https://issues.apache.org/jira/browse/HBASE-22862
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 1.4.10
> Environment: {code}
> openjdk version "1.8.0_181"
> OpenJDK Runtime Environment (Zulu 8.31.0.1-linux64) (build 1.8.0_181-b02)
> OpenJDK 64-Bit Server VM (Zulu 8.31.0.1-linux64) (build 25.181-b02, mixed 
> mode)
> {code}
>Reporter: Alex Batyrshin
>Assignee: Zheng Hu
>Priority: Critical
> Attachments: HBASE-22862.UT.v01.patch, HBASE-22862.UT.v02.patch
>
>
> We observe error "Added a key not lexically larger than previous” that cause 
> most of our region-servers to crash in our cluster.
> {code}
> 2019-08-15 18:02:10,554 INFO  [MemStoreFlusher.0] regionserver.HRegion: 
> Flushing 1/1 column families, memstore=56.08 MB
> 2019-08-15 18:02:10,727 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=0
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:2200)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:2125)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:512)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:482)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:76)
>at 
> org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:264)
>at java.lang.Thread.run(Thread.java:748)
> 2019-08-15 18:02:21,776 WARN  [MemStoreFlusher.0] regionserver.HStore: Failed 
> flushing store file, retrying num=9
> java.io.IOException: Added a key not lexically larger than previous. Current 
> cell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/DeleteColumn/vlen=0/seqid=44456567,
>  lastCell = 
> \x0901820448218>wGavb'/d:elr/1565881054828/Put/vlen=1/seqid=44457770
>at 
> org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter.checkKey(AbstractHFileWriter.java:204)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV2.append(HFileWriterV2.java:279)
>at 
> org.apache.hadoop.hbase.io.hfile.HFileWriterV3.append(HFileWriterV3.java:87)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFile$Writer.append(StoreFile.java:1127)
>at 
> org.apache.hadoop.hbase.regionserver.StoreFlusher.performFlush(StoreFlusher.java:139)
>at 
> org.apache.hadoop.hbase.regionserver.DefaultStoreFlusher.flushSnapshot(DefaultStoreFlusher.java:75)
>at 
> org.apache.hadoop.hbase.regionserver.HStore.flushCache(HStore.java:1003)
>at 
> org.apache.hadoop.hbase.regionserver.HStore$StoreFlusherImpl.flushCache(HStore.java:2523)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2622)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2352)
>at 
> org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2314)

[jira] [Comment Edited] (HBASE-22846) Internal Error 500 when Using HBASE REST API to Create Namespace.

2019-08-27 Thread Wellington Chevreuil (Jira)


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

Wellington Chevreuil edited comment on HBASE-22846 at 8/27/19 1:09 PM:
---

So we do have UTs for this resource under 
*TestNamespacesInstanceResource.testNamespaceCreateAndDeletePBAndNoBody.* 
Noticed the same already tests condition of _no body_ POST requests, and these 
are always passing. Upon further investigation, I had found out this is due the 
http request content-type. The passing tests are properly setting it to 
"application/octet-stream". -Apparently, http clients such as curl default it 
to "text/html", if not explicitly set-. In this case, jersey is then directing 
the request to the wrong resource method, triggering the NPE. 


was (Author: wchevreuil):
So we do have UTs for this resource under 
*TestNamespacesInstanceResource.testNamespaceCreateAndDeletePBAndNoBody.* 
Noticed the same already tests condition of _no body_ POST requests, and these 
are always passing. Upon further investigation, I had found out this is due the 
http request content-type. The passing tests are properly setting it to 
"application/octet-stream". Apparently, http clients such as curl default it to 
"text/html", if not explicitly set. In this case, jersey is then directing the 
request to the wrong resource method, triggering the NPE. 

> Internal Error 500 when Using HBASE REST API to Create Namespace.
> -
>
> Key: HBASE-22846
> URL: https://issues.apache.org/jira/browse/HBASE-22846
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase-connectors
>Affects Versions: 2.1.1
>Reporter: Sailesh Patel
>Assignee: Wellington Chevreuil
>Priority: Major
>
> When trying to the following URL to create namespace:
> Secured cluster: curl --negotiate -u : -i -k -vi -X POST 
> "http://HBASE_REST_API_HOST:20550/namespaces/datasparktest";
>  UnSecured cluster: curl -vi -X POST 
> "http://HBASE_REST_API_HOST:20550/namespaces/datasparktest";
> The following is returned on the console:
>  HTTP/1.1 500 Request failed.
> The Error in Hbase REST Server log is:
> 2019-08-13 15:44:55,080 WARN org.eclipse.jetty.servlet.ServletHandler: 
> javax.servlet.ServletException: java.lang.NullPointerException
>  at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)
>  at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
> ...
> Caused by: java.lang.NullPointerException
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.createOrUpdate(NamespacesInstanceResource.java:250)
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.processUpdate(NamespacesInstanceResource.java:243)
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.post(NamespacesInstanceResource.java:183)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498)
>  at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>  at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>  at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Work stopped] (HBASE-22729) Start RSGroupInfoManager as default

2019-08-27 Thread Duo Zhang (Jira)


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

Work on HBASE-22729 stopped by Duo Zhang.
-
> Start RSGroupInfoManager as default
> ---
>
> Key: HBASE-22729
> URL: https://issues.apache.org/jira/browse/HBASE-22729
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Guanghao Zhang
>Assignee: Duo Zhang
>Priority: Major
>
> Start RSGroupInfoManager as default. If no rsgroup information, all 
> RegionServers belong to default group.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22729) Start RSGroupInfoManager as default

2019-08-27 Thread Duo Zhang (Jira)


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

Duo Zhang commented on HBASE-22729:
---

Checked the way we deal with AccessController, seems we still make use of 
Coprocessor? What is the plan there?

> Start RSGroupInfoManager as default
> ---
>
> Key: HBASE-22729
> URL: https://issues.apache.org/jira/browse/HBASE-22729
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Guanghao Zhang
>Assignee: Duo Zhang
>Priority: Major
>
> Start RSGroupInfoManager as default. If no rsgroup information, all 
> RegionServers belong to default group.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22846) Internal Error 500 when Using HBASE REST API to Create Namespace.

2019-08-27 Thread Wellington Chevreuil (Jira)


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

Wellington Chevreuil commented on HBASE-22846:
--

Actually, if not set, http requests are coming with no "content-type" header 
param at all. Here's an example from curl command _curl -vi -X POST 
"http://localhost:20550/namespaces/datasparktest22"_:
{noformat}
2019-08-27 13:04:10,424 DEBUG [qtp293508253-41] server.HttpChannel: REQUEST for 
//localhost:20550/namespaces/datasparktest22 on 
HttpChannelOverHttp@7837ac6a{r=1,c=false,a=IDLE,uri=//localhost:20550/namespaces/datasparktest22}
POST //localhost:20550/namespaces/datasparktest22 HTTP/1.1
User-Agent: curl/7.29.0
Host: localhost:20550
Accept: */* {noformat}
Another example using _postman_ http client:
{noformat}
2019-08-27 13:07:22,191 DEBUG [qtp293508253-44] server.HttpChannel: REQUEST for 
//192.168.56.105:20550/namespaces/datasparktest182 on 
HttpChannelOverHttp@1e9640f3{r=1,c=false,a=IDLE,uri=//192.168.56.105:20550/namespaces/datasparktest182}
POST //192.168.56.105:20550/namespaces/datasparktest182 HTTP/1.1
User-Agent: PostmanRuntime/7.15.2
Accept: */*
Cache-Control: no-cache
Postman-Token: c825af07-60fb-4135-9429-60bb52d410f9
Host: 192.168.56.105:20550
Accept-Encoding: gzip, deflate
Content-Length: 0
Connection: keep-alive {noformat}
Both result in the NPE observed here. If we set any "content-type", then jersey 
directs to the proper "noBody" method, in the case of no payload specified. If 
we agree that even when no "content-type" is specified, HBase REST should still 
fulfil the request, then current PR changes should be ok. I can add extra 
testing logic for such cases. Otherwise, we would need to define extra 
validations, in order to return a 400 code, since this would be a client 
invalid request.

> Internal Error 500 when Using HBASE REST API to Create Namespace.
> -
>
> Key: HBASE-22846
> URL: https://issues.apache.org/jira/browse/HBASE-22846
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase-connectors
>Affects Versions: 2.1.1
>Reporter: Sailesh Patel
>Assignee: Wellington Chevreuil
>Priority: Major
>
> When trying to the following URL to create namespace:
> Secured cluster: curl --negotiate -u : -i -k -vi -X POST 
> "http://HBASE_REST_API_HOST:20550/namespaces/datasparktest";
>  UnSecured cluster: curl -vi -X POST 
> "http://HBASE_REST_API_HOST:20550/namespaces/datasparktest";
> The following is returned on the console:
>  HTTP/1.1 500 Request failed.
> The Error in Hbase REST Server log is:
> 2019-08-13 15:44:55,080 WARN org.eclipse.jetty.servlet.ServletHandler: 
> javax.servlet.ServletException: java.lang.NullPointerException
>  at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)
>  at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
> ...
> Caused by: java.lang.NullPointerException
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.createOrUpdate(NamespacesInstanceResource.java:250)
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.processUpdate(NamespacesInstanceResource.java:243)
>  at 
> org.apache.hadoop.hbase.rest.NamespacesInstanceResource.post(NamespacesInstanceResource.java:183)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498)
>  at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>  at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>  at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Resolved] (HBASE-20818) Use TableDescriptor to replace HTableDescriptor in admin.rb

2019-08-27 Thread Duo Zhang (Jira)


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

Duo Zhang resolved HBASE-20818.
---
Resolution: Duplicate

> Use TableDescriptor to replace HTableDescriptor in admin.rb
> ---
>
> Key: HBASE-20818
> URL: https://issues.apache.org/jira/browse/HBASE-20818
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Affects Versions: 2.0.0
>Reporter: Xiaolin Ha
>Assignee: Xiaolin Ha
>Priority: Minor
>
> HTableDescriptor is deprecated as of release 2.0.0. 



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-19975) Remove dead servers from rsgroup

2019-08-27 Thread Duo Zhang (Jira)


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

Duo Zhang commented on HBASE-19975:
---

Is this still alive? I think we should not remove dead servers automatically, 
at least should not remove it immediately, otherwise it will confuse users. 
Maybe we could introduce a config that, if the servers dies for a long time, 
then we remove it from the rs group?

> Remove dead servers from rsgroup
> 
>
> Key: HBASE-19975
> URL: https://issues.apache.org/jira/browse/HBASE-19975
> Project: HBase
>  Issue Type: Improvement
>  Components: rsgroup
>Affects Versions: 2.0.0-beta-2
>Reporter: Xiaolin Ha
>Assignee: Xiaolin Ha
>Priority: Major
>
> Currently only decommissioned servers are allowed to be removed from a 
> rsgroup.
> There are no regions will be assigned to dead servers too, and may dead 
> servers need to be removed more often by users.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (HBASE-22933) Do not need to kick reassign for rs group change any more

2019-08-27 Thread Duo Zhang (Jira)
Duo Zhang created HBASE-22933:
-

 Summary: Do not need to kick reassign for rs group change any more
 Key: HBASE-22933
 URL: https://issues.apache.org/jira/browse/HBASE-22933
 Project: HBase
  Issue Type: Improvement
Reporter: Duo Zhang


The old implementation is a bit strange, the isStuck method is like this:

{code}
  public boolean isStuck() {
return isInState(State.FAILED_OPEN) && getProcedure() != null;
  }
{code}

It can only return true when there are ongoing procedures. But if we have a 
procedure, then the procedure will try to reassign region. Scheduling a new 
procedure does not make sense here, at least for branch-2.2+.

I suggest we just remove the related code, since the default retry number for 
assigning a region is Integer.MAX_VALUE. And even if user set this to small 
value and finally the region is left in FAILED_OPEN state without a procedure, 
HBCK2 is used to deal with this, it is not necessary to deal it automatically.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


  1   2   3   4   >