[jira] [Commented] (HBASE-20006) TestRestoreSnapshotFromClientWithRegionReplicas is flakey

2018-04-22 Thread Toshihiro Suzuki (JIRA)

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

Toshihiro Suzuki commented on HBASE-20006:
--

Thank you for reviewing the patch [~busbey] [~stack].

> TestRestoreSnapshotFromClientWithRegionReplicas is flakey
> -
>
> Key: HBASE-20006
> URL: https://issues.apache.org/jira/browse/HBASE-20006
> Project: HBase
>  Issue Type: Bug
>  Components: read replicas
>Reporter: stack
>Assignee: Toshihiro Suzuki
>Priority: Critical
> Fix For: 3.0.0, 2.1.0, 1.5.0
>
> Attachments: HBASE-20006.branch-2.001.patch, 
> HBASE-20006.master.001.patch, HBASE-20006.master.002.patch, 
> HBASE-20006.master.003.patch, HBASE-20006.master.003.patch
>
>
> Failing 10% of the time. Interestingly, it is below that causes fail. We go 
> to split but it is already split. We will then fail the split with an 
> internal assert which messes up procedures; at a minimum we should just not 
> split (this is in the prepare stage).
> {code}
> 2018-02-15 23:21:42,162 INFO  [PEWorker-12] 
> procedure.MasterProcedureScheduler(571): pid=105, 
> state=RUNNABLE:SPLIT_TABLE_REGION_PREPARE; SplitTableRegionProcedure 
> table=testOnlineSnapshotAfterSplittingRegions-1518736887838, 
> parent=3f850cea7d71a7ebd019f2f009efca4d, 
> daughterA=06b5e6366efbef155d70e56cfdf58dc9, 
> daughterB=8c175de1b33765a5683ac1e502edb0bd, 
> table=testOnlineSnapshotAfterSplittingRegions-1518736887838, 
> testOnlineSnapshotAfterSplittingRegions-1518736887838,,1518736887882.3f850cea7d71a7ebd019f2f009efca4d.
> 2018-02-15 23:21:42,162 INFO  [PEWorker-12] 
> assignment.SplitTableRegionProcedure(440): Split of {ENCODED => 
> 3f850cea7d71a7ebd019f2f009efca4d, NAME => 
> 'testOnlineSnapshotAfterSplittingRegions-1518736887838,,1518736887882.3f850cea7d71a7ebd019f2f009efca4d.',
>  STARTKEY => '', ENDKEY => '1'} skipped; state is already SPLIT
> 2018-02-15 23:21:42,163 ERROR [PEWorker-12] 
> procedure2.ProcedureExecutor(1480): CODE-BUG: Uncaught runtime exception: 
> pid=105, state=RUNNABLE:SPLIT_TABLE_REGION_PREPARE; SplitTableRegionProcedure 
> table=testOnlineSnapshotAfterSplittingRegions-1518736887838, 
> parent=3f850cea7d71a7ebd019f2f009efca4d, 
> daughterA=06b5e6366efbef155d70e56cfdf58dc9, 
> daughterB=8c175de1b33765a5683ac1e502edb0bd
> java.lang.AssertionError: split region should have an exception here
>   at 
> org.apache.hadoop.hbase.master.assignment.SplitTableRegionProcedure.executeFromState(SplitTableRegionProcedure.java:228)
>   at 
> org.apache.hadoop.hbase.master.assignment.SplitTableRegionProcedure.executeFromState(SplitTableRegionProcedure.java:89)
>   at 
> org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:180)
>   at 
> org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:845)
>   at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1455)
>   at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeProcedure(ProcedureExecutor.java:1224)
>   at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$800(ProcedureExecutor.java:78)
>   at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor$WorkerThread.run(ProcedureExecutor.java:1734)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20414) TestLockProcedure#testMultipleLocks may fail on slow machine

2018-04-22 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-20414:


I haven't checked the test case in detail. But i can see the 
{code:java}
 Thread.sleep(LOCAL_LOCKS_TIMEOUT / 2);{code}
in multiple places. The place that you fix now is enough to make this test 
generally reliable? 

> TestLockProcedure#testMultipleLocks may fail on slow machine
> 
>
> Key: HBASE-20414
> URL: https://issues.apache.org/jira/browse/HBASE-20414
> Project: HBase
>  Issue Type: Test
>Reporter: Ted Yu
>Assignee: Ted Yu
>Priority: Major
> Attachments: 20414.v1.txt
>
>
> Here was recent failure : 
> https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/172/testReport/junit/org.apache.hadoop.hbase.master.locking/TestLockProcedure/health_checks___yetus_jdk8_hadoop2_checks___testMultipleLocks/
> {code}
> java.lang.AssertionError: expected: but was:
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.sendHeartbeatAndCheckLocked(TestLockProcedure.java:221)
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.testMultipleLocks(TestLockProcedure.java:311)
> {code}
> In the test output, we can see this:
> {code}
> 2018-04-13 20:19:54,230 DEBUG [Time-limited test] 
> locking.TestLockProcedure(225): Proc id 22 : LOCKED.
> ...
> 2018-04-13 20:19:55,529 DEBUG [Time-limited test] 
> procedure2.ProcedureExecutor(865): Stored pid=26, state=RUNNABLE; 
> org.apache.hadoop.hbase.master.locking.LockProcedure 
> regions=a7f9adfd047350eabb199a39564ba4db,c1e297609590b707233a2f9c8bb51fa1, 
> type=EXCLUSIVE
> 2018-04-13 20:19:56,230 DEBUG [ProcExecTimeout] locking.LockProcedure(207): 
> Timeout failure ProcedureEvent for pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE, ready=false, [pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE]
> {code}
> After the pid=26 log, the code does this (1 second wait):
> {code}
> // Assert tables & region locks are waiting because of namespace lock.
> Thread.sleep(HEARTBEAT_TIMEOUT / 2);
> {code}
> On a slow machine (in the case above), there was only 730 msec between the 
> queueing of regionsLock2 and the WAITING_TIMEOUT state of the nsLock. The 1 
> second wait was too long, leading to assertion failure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20472) InfoServer doesnot honour any acl set by the admin

2018-04-22 Thread Nihal Jain (JIRA)

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

Nihal Jain updated HBASE-20472:
---
Fix Version/s: 3.0.0
   Status: Patch Available  (was: Open)

> InfoServer doesnot honour any acl set by the admin
> --
>
> Key: HBASE-20472
> URL: https://issues.apache.org/jira/browse/HBASE-20472
> Project: HBase
>  Issue Type: Bug
>  Components: security, UI
>Reporter: Nihal Jain
>Assignee: Nihal Jain
>Priority: Critical
> Fix For: 3.0.0
>
> Attachments: HBASE-20472.master.001.patch
>
>
> The adminsAcl property can be used to restrict access to certain sections of 
> the web UI only to a particular set of users/groups. But in hbase,  adminAcl 
> variable for InfoServer is always null, rendering it to not honour any acl 
> set by the admin. In fact I could not find any property in hbase to specify 
> acl list for web server.
> *Analysis*:
>  * *InfoSever* object forgets(?) to set any *adminAcl* in the builder object 
> for http server.
> {code:java}
> public InfoServer(String name, String bindAddress, int port, boolean findPort,
> final Configuration c) {
> .
> .
>
> HttpServer.Builder builder =
> new org.apache.hadoop.hbase.http.HttpServer.Builder();
> .
> .
> this.httpServer = builder.build();
> }{code}
> [See InfoServer 
> constructor|https://github.com/apache/hbase/blob/46cb5dfa226892fd2580f26ce9ce77225bd7e67c/hbase-http/src/main/java/org/apache/hadoop/hbase/http/InfoServer.java#L55]
>  * http server retreives a null value and sets it as adminsAcl, which is 
> passed to *createWebAppContext*() method
> {code:java}
> private HttpServer(final Builder b) throws IOException {
> .
> .
> .
> this.adminsAcl = b.adminsAcl;
> this.webAppContext = createWebAppContext(b.name, b.conf, adminsAcl, 
> appDir);
> 
> .
> .
> }{code}
> [See L527 
> HttpServer.java|https://github.com/apache/hbase/blob/46cb5dfa226892fd2580f26ce9ce77225bd7e67c/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java#L527]
>  * This method next sets *ADMIN_ACL* attribute for the servlet context to 
> *null*
> {code:java}
> private static WebAppContext createWebAppContext(String name,
> Configuration conf, AccessControlList adminsAcl, final String appDir) {
> WebAppContext ctx = new WebAppContext();
> .
> .
> ctx.getServletContext().setAttribute(ADMINS_ACL, adminsAcl);
> .
> .
> }
> {code}
>  * Now any page having *HttpServer.hasAdministratorAccess*() will allow 
> access to everyone, making this check useless. 
> {code:java}
> @Override
> public void doGet(HttpServletRequest request, HttpServletResponse response
> ) throws ServletException, IOException {
> // Do the authorization
> if (!HttpServer.hasAdministratorAccess(getServletContext(), request,
> response)) {
> return;
> }
> .
> .
> }{code}
> [For example See L104 
> LogLevel.java|https://github.com/apache/hbase/blob/46cb5dfa226892fd2580f26ce9ce77225bd7e67c/hbase-http/src/main/java/org/apache/hadoop/hbase/http/log/LogLevel.java#L104]
>  * *hasAdministratorAccess()* checks for the following and returns true, in 
> any case as *ADMIN_ACL* is always *null*
> {code:java}
> public static boolean hasAdministratorAccess(
> ServletContext servletContext, HttpServletRequest request,
> HttpServletResponse response) throws IOException {
> .
> .
> if (servletContext.getAttribute(ADMINS_ACL) != null &&
> !userHasAdministratorAccess(servletContext, remoteUser)) {
>   response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "User "
>  + remoteUser + " is unauthorized to access this page.");
>return false;
> }
> return true;
> }{code}
> [See line 1196 in 
> HttpServer|https://github.com/apache/hbase/blob/46cb5dfa226892fd2580f26ce9ce77225bd7e67c/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java#L1196]
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20470) [2.0.0RC1] has broken unit tests...

2018-04-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20470:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/211//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/branch-2.0/211//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/branch-2.0/211//JDK8_Nightly_Build_Report_(Hadoop3)/]


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


> [2.0.0RC1] has broken unit tests... 
> 
>
> Key: HBASE-20470
> URL: https://issues.apache.org/jira/browse/HBASE-20470
> Project: HBase
>  Issue Type: Bug
>Reporter: stack
>Assignee: stack
>Priority: Major
> Attachments: HBASE-20470.branch-2.0.001.patch, 
> HBASE-20470.branch-2.0.002.patch, HBASE-20470.branch-2.0.003.patch, 
> HBASE-20470.branch-2.0.003.patch
>
>
> Found by [~uagashe] I think its because some depend on IMC and it was 
> disabled just before I made RC1. Let me try a nothing change and see.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20462) Put up 2.0.0RC1

2018-04-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20462:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/211//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/branch-2.0/211//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/branch-2.0/211//JDK8_Nightly_Build_Report_(Hadoop3)/]


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


> Put up 2.0.0RC1
> ---
>
> Key: HBASE-20462
> URL: https://issues.apache.org/jira/browse/HBASE-20462
> Project: HBase
>  Issue Type: Sub-task
>Reporter: stack
>Assignee: stack
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20465) Fix TestEnableRSGroup flaky

2018-04-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20465:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/211//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/branch-2.0/211//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/branch-2.0/211//JDK8_Nightly_Build_Report_(Hadoop3)/]


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


> Fix TestEnableRSGroup flaky
> ---
>
> Key: HBASE-20465
> URL: https://issues.apache.org/jira/browse/HBASE-20465
> Project: HBase
>  Issue Type: Bug
>  Components: rsgroup
>Affects Versions: 2.0.0
>Reporter: Balazs Meszaros
>Assignee: Balazs Meszaros
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20465.master.001.patch
>
>
> Most recent {{TestEnableRSGroup}} tests failed on branch-2.0 according to our 
> flaky dashboard.
> {code}
> java.lang.AssertionError
>   at 
> org.apache.hadoop.hbase.rsgroup.TestEnableRSGroup.testEnableRSGroup(TestEnableRSGroup.java:80)
> {code}
> TestEnableRSGroup:80:
> {code:java}
> // check if master started successfully
> assertTrue(TEST_UTIL.getMiniHBaseCluster().getMaster() != null);
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19024) Configurable default durability for synchronous WAL

2018-04-22 Thread ramkrishna.s.vasudevan (JIRA)

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

ramkrishna.s.vasudevan commented on HBASE-19024:


So one question regarding the performance numbers here wrt hsync,

Since the sync calls could have been executed with hflush for some of the batch 
mutations the degradation that was specified here was lesser than when all the 
batches are going through hsync? 

> Configurable default durability for synchronous WAL
> ---
>
> Key: HBASE-19024
> URL: https://issues.apache.org/jira/browse/HBASE-19024
> Project: HBase
>  Issue Type: Improvement
>  Components: wal
>Reporter: Vikas Vishwakarma
>Assignee: Harshal Jain
>Priority: Critical
> Fix For: 3.0.0, 2.1.0, 1.5.0
>
> Attachments: HBASE-19024-master.v10.patch, 
> HBASE-19024.branch-1.2.001.patch, HBASE-19024.branch-1.2.002.patch, 
> HBASE-19024.branch-1.2.003.patch, HBASE-19024.branch-1.2.004.patch, 
> HBASE-19024.branch-1.2.005.patch, branch-1.branch-1.patch, 
> branch-1.v1.branch-1.patch, master.patch, master.v2.patch, master.v3.patch, 
> master.v5.patch, master.v5.patch, master.v6.patch, master.v9.patch
>
>
> At present we do not have an option to hsync WAL edits to the disk for better 
> durability. In our local tests we see 10-15% latency impact of using hsync 
> instead of hflush which is not very high.  
> We should have a configurable option to hysnc WAL edits instead of just 
> sync/hflush which will call the corresponding API on the hadoop side. 
> Currently HBase handles both SYNC_WAL and FSYNC_WAL as the same calling 
> FSDataOutputStream sync/hflush on the hadoop side. This can be modified to 
> let FSYNC_WAL call hsync on the hadoop side instead of sync/hflush. We can 
> keep the default value to sync as the current behavior and hsync can be 
> enabled based on explicit configuration.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20312) CCSMap: A faster, GC-friendly, less memory Concurrent Map for memstore

2018-04-22 Thread Chance Li (JIRA)

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

Chance Li commented on HBASE-20312:
---

[~mdrob],  sir,  I will separate this patch to two parts as [~carp84] suggested 
after completing the document. I have to pay attention to the precommit and 
review first, and now  failed UT cases seem to irrelevant, I try to analyze it. 
separating patch is more easy, as these two parts are very logically clear in 
this patch, and I've always been focusing on readability.

Thanks for great suggestion and review.

> CCSMap: A faster, GC-friendly, less memory Concurrent Map for memstore
> --
>
> Key: HBASE-20312
> URL: https://issues.apache.org/jira/browse/HBASE-20312
> Project: HBase
>  Issue Type: New Feature
>  Components: regionserver
>Reporter: Xiang Wang
>Assignee: Chance Li
>Priority: Major
> Fix For: 3.0.0
>
> Attachments: 1.1.2-ccsmap-number.png, HBASE-20312-1.3.2.patch, 
> HBASE-20312-master.v1.patch, HBASE-20312-master.v2.patch, 
> HBASE-20312-master.v3.patch, HBASE-20312-master.v4.patch, 
> HBASE-20312-master.v5.patch, HBASE-20312-master.v6.patch, 
> HBASE-20312-master.v7.patch, HBASE-20312-master.v8.patch, 
> HBASE-20312-master.v9.patch, ccsmap-branch-1.1.patch, hits.png, jira1.png, 
> jira2.png, jira3.png, off-heap-test-put-master.png, 
> on-heap-test-put-master.png
>
>
> Now hbase use ConcurrentSkipListMap as memstore's data structure.
> Although MemSLAB reduces memory fragment brought by key-value pairs.
> Hundred of millions key-value pairs still make young generation 
> garbage-collection(gc) stop time long.
>  
> These are 2 gc problems of ConcurrentSkipListMap:
> 1. HBase needs 3 objects to store one key-value on expectation. One 
> Index(skiplist's average node height is 1), one Node, and one KeyValue. Too 
> many objects are created for memstore.
> 2. Recent inserted KeyValue and its map structure(Index, Node) are assigned 
> on young generation.The card table (for CMS gc algorithm) or RSet(for G1 gc 
> algorithm) will change frequently on high writing throughput, which makes YGC 
> slow.
>  
> We devleoped a new skip-list map called CompactdConcurrentSkipListMap(CCSMap 
> for short),
> which provides similary features like ConcurrentSkipListMap but get rid of 
> Objects for every key-value pairs.
> CCSMap's memory structure is like this picture:
> !jira1.png!
>  
> One CCSMap consists of a certain number of Chunks. One Chunk consists of a 
> certain number of nodes. One node is corresspding one element. This element's 
> all information and its key-value is encoded on a continuous memory segment 
> without any objects.
> Features:
> 1. all insert,update,delete operations is lock-free on CCSMap.
> 2. Consume less memory, it brings 40% memory saving for 50Byte key-value.
> 3. Faster on small key-value because of better cacheline usage. 20~30% better 
> read/write troughput than ConcurrentSkipListMap for 50Byte key-value.
> CCSMap do not support recyle space when deleting element. But it doesn't 
> matter for hbase because of region flush.
> CCSMap has been running on Alibaba's hbase clusters over 17 months, it cuts 
> down YGC time significantly. here are 2 graph of before and after.
> !jira2.png!
> !jira3.png!
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20474) Show non-RPC tasks on master/regionserver Web UI by default

2018-04-22 Thread Guangxu Cheng (JIRA)

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

Guangxu Cheng commented on HBASE-20474:
---

a simple patch.Thanks

> Show non-RPC tasks on master/regionserver Web UI  by default
> 
>
> Key: HBASE-20474
> URL: https://issues.apache.org/jira/browse/HBASE-20474
> Project: HBase
>  Issue Type: Improvement
>  Components: UI
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Major
> Fix For: 3.0.0
>
> Attachments: HBASE-20474.master.001.patch
>
>
> Now, when opening master or regionserver pages, all tasks will be displayed 
> on the page, however, but in most cases we will pay more attention to non-RPC 
> tasks.
> In addition, if all tasks are displayed by default, a large number of pages 
> will be occupied.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20474) Show non-RPC tasks on master/regionserver Web UI by default

2018-04-22 Thread Guangxu Cheng (JIRA)

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

Guangxu Cheng updated HBASE-20474:
--
Fix Version/s: 3.0.0
   Status: Patch Available  (was: Open)

> Show non-RPC tasks on master/regionserver Web UI  by default
> 
>
> Key: HBASE-20474
> URL: https://issues.apache.org/jira/browse/HBASE-20474
> Project: HBase
>  Issue Type: Improvement
>  Components: UI
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Major
> Fix For: 3.0.0
>
> Attachments: HBASE-20474.master.001.patch
>
>
> Now, when opening master or regionserver pages, all tasks will be displayed 
> on the page, however, but in most cases we will pay more attention to non-RPC 
> tasks.
> In addition, if all tasks are displayed by default, a large number of pages 
> will be occupied.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20474) Show non-RPC tasks on master/regionserver Web UI by default

2018-04-22 Thread Guangxu Cheng (JIRA)

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

Guangxu Cheng updated HBASE-20474:
--
Attachment: HBASE-20474.master.001.patch

> Show non-RPC tasks on master/regionserver Web UI  by default
> 
>
> Key: HBASE-20474
> URL: https://issues.apache.org/jira/browse/HBASE-20474
> Project: HBase
>  Issue Type: Improvement
>  Components: UI
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Major
> Attachments: HBASE-20474.master.001.patch
>
>
> Now, when opening master or regionserver pages, all tasks will be displayed 
> on the page, however, but in most cases we will pay more attention to non-RPC 
> tasks.
> In addition, if all tasks are displayed by default, a large number of pages 
> will be occupied.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (HBASE-20474) Show non-RPC tasks on master/regionserver Web UI by default

2018-04-22 Thread Guangxu Cheng (JIRA)
Guangxu Cheng created HBASE-20474:
-

 Summary: Show non-RPC tasks on master/regionserver Web UI  by 
default
 Key: HBASE-20474
 URL: https://issues.apache.org/jira/browse/HBASE-20474
 Project: HBase
  Issue Type: Improvement
  Components: UI
Reporter: Guangxu Cheng
Assignee: Guangxu Cheng


Now, when opening master or regionserver pages, all tasks will be displayed on 
the page, however, but in most cases we will pay more attention to non-RPC 
tasks.
In addition, if all tasks are displayed by default, a large number of pages 
will be occupied.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17958) Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP

2018-04-22 Thread Vikas Vishwakarma (JIRA)

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

Vikas Vishwakarma commented on HBASE-17958:
---

Actually [~apurtell] [~lhofhansl] [~Apache9] I think the issue is this one 
HBASE-10993 already reported and fixed by  [~stack] in HBASE-15971. Profiling 
and comparing 0.98 vs 1.3 is also showing this as the major diff in hot 
threads. Now in the request hbase.ipc.server.callqueue.type default has been 
set to fifo so it should be fixed. I have verified we are not setting it to 
deadline in our hbase-site.xml. But still we have very similar characteristics. 
Let me look into this further. 

I will log a separate ticket to update all the profiling snapshots and result 
details, since it is not related to this request and this is turning into a 
long discussion. 

> Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP
> 
>
> Key: HBASE-17958
> URL: https://issues.apache.org/jira/browse/HBASE-17958
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 1.4.0, 2.0.0
>
> Attachments: 0001-add-one-ut-testWithColumnCountGetFilter.patch, 
> 17958-add.txt, HBASE-17958-branch-1.patch, HBASE-17958-branch-1.patch, 
> HBASE-17958-branch-1.patch, HBASE-17958-branch-1.patch, HBASE-17958-v1.patch, 
> HBASE-17958-v2.patch, HBASE-17958-v3.patch, HBASE-17958-v4.patch, 
> HBASE-17958-v5.patch, HBASE-17958-v6.patch, HBASE-17958-v7.patch, 
> HBASE-17958-v7.patch
>
>
> {code}
> ScanQueryMatcher.MatchCode qcode = matcher.match(cell);
> qcode = optimize(qcode, cell);
> {code}
> The optimize method may change the MatchCode from SEEK_NEXT_COL/SEEK_NEXT_ROW 
> to SKIP. But it still pass the next cell to ScanQueryMatcher. It will get 
> wrong result when use some filter, etc. ColumnCountGetFilter. It just count 
> the  columns's number. If pass a same column to this filter, the count result 
> will be wrong. So we should avoid passing cell to ScanQueryMatcher when 
> optimize SEEK to SKIP.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20470) [2.0.0RC1] has broken unit tests...

2018-04-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20470:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/648//General_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-2/648//JDK8_Nightly_Build_Report_(Hadoop2)/]


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


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


> [2.0.0RC1] has broken unit tests... 
> 
>
> Key: HBASE-20470
> URL: https://issues.apache.org/jira/browse/HBASE-20470
> Project: HBase
>  Issue Type: Bug
>Reporter: stack
>Assignee: stack
>Priority: Major
> Attachments: HBASE-20470.branch-2.0.001.patch, 
> HBASE-20470.branch-2.0.002.patch, HBASE-20470.branch-2.0.003.patch, 
> HBASE-20470.branch-2.0.003.patch
>
>
> Found by [~uagashe] I think its because some depend on IMC and it was 
> disabled just before I made RC1. Let me try a nothing change and see.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20465) Fix TestEnableRSGroup flaky

2018-04-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20465:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/648//General_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-2/648//JDK8_Nightly_Build_Report_(Hadoop2)/]


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


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


> Fix TestEnableRSGroup flaky
> ---
>
> Key: HBASE-20465
> URL: https://issues.apache.org/jira/browse/HBASE-20465
> Project: HBase
>  Issue Type: Bug
>  Components: rsgroup
>Affects Versions: 2.0.0
>Reporter: Balazs Meszaros
>Assignee: Balazs Meszaros
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20465.master.001.patch
>
>
> Most recent {{TestEnableRSGroup}} tests failed on branch-2.0 according to our 
> flaky dashboard.
> {code}
> java.lang.AssertionError
>   at 
> org.apache.hadoop.hbase.rsgroup.TestEnableRSGroup.testEnableRSGroup(TestEnableRSGroup.java:80)
> {code}
> TestEnableRSGroup:80:
> {code:java}
> // check if master started successfully
> assertTrue(TEST_UTIL.getMiniHBaseCluster().getMaster() != null);
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-20471) Recheck the design and implementation of FSYNC_WAL durability for WAL

2018-04-22 Thread Yu Li (JIRA)

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

Yu Li edited comment on HBASE-20471 at 4/23/18 3:32 AM:


Some of my thoughts:

1. Only allow setting {{SKIP_WAL/ASYNC_WAL/SYNC_WAL}} through 
{{Mutation#setDurability}} API
* We can separate FSYNC_WAL from SYNC_WAL writes only if we flush the 
mutations one by one, but actually we're grouping (and we should, for the sake 
of performance) the writes through disruptor mechanism, which makes it possible 
that a mutation with SYNC_WAL durability is actually fsync'ed, vice versa. So 
for sync write I suggest we only allow setting SYNC_WAL per mutation, and 
decide the detailed sync mode through cluster-level setting (for now).
* To keep backward compatibility, if user set FSYNC_WAL, we should change 
it to SYNC_WAL in {{Mutation#setDurability}}
* We should add some document about this change in our ref-guide.

2. Instead, we allow user to set the cluster-level way of sync through 
hbase-site.xml, hflush or hsync.

3. In the future we may allow user to use a dedicated WAL per table/CF and set 
its sync mode through table/CF descriptor.


was (Author: carp84):
Some of my thoughts:

1. Only allow setting {{SYNC_WAL}} through {{Mutation#setDurability}} API
* We can separate FSYNC_WAL from SYNC_WAL writes only if we flush the 
mutations one by one, but actually we're grouping (and we should, for the sake 
of performance) the writes through disruptor mechanism, which makes it possible 
that a mutation with SYNC_WAL durability is actually fsync'ed, vice versa.
* To keep backward compatibility, if user set FSYNC_WAL, we should change 
it to SYNC_WAL in {{Mutation#setDurability}}
* We should add some document about this change in our ref-guide.

2. Instead, we allow user to set the cluster-level way of sync through 
hbase-site.xml, hflush or hsync.

3. In the future we may allow user to use a dedicated WAL per table/CF and set 
its sync mode through table/CF descriptor.

> Recheck the design and implementation of FSYNC_WAL durability for WAL
> -
>
> Key: HBASE-20471
> URL: https://issues.apache.org/jira/browse/HBASE-20471
> Project: HBase
>  Issue Type: Task
>Reporter: Yu Li
>Priority: Major
>
> This is something derived from discussion in HBASE-19024 around [this 
> comment|https://issues.apache.org/jira/browse/HBASE-19024?focusedCommentId=16445592=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16445592]
> We have been supplying user the API to set durability per mutation for a long 
> time, by design the SYNC_WAL durability to call {{FSDataOutputStream#hflush}} 
> and FSYNC_WAL {{FSDataOutputStream#hsync}}, while in implementation we have 
> been calling hflush for FSYNC_WAL also until HBASE-19024. Although 
> HBASE-19024 tried to fix the syntax with good willing, the implementation 
> there cannot assure the FSYNC_WAL edits are truly hsync'ed due to the 
> disruptor mechanism used in WAL implementation. Here in this JIRA we aim to 
> have more discussion and give it a complete solution.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20471) Recheck the design and implementation of FSYNC_WAL durability for WAL

2018-04-22 Thread Yu Li (JIRA)

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

Yu Li commented on HBASE-20471:
---

bq. We do expect SKIP_WAL to take effect on a per RPC basis
Yes I agree, by "Only allow setting SYNC_WAL..." I actually meant for sync mode 
we only allow SYNC_WAL and no FSYNC_WAL per RPC. I think 1) don't write WAL; 2) 
write WAL asynchronously and 3) write WAL synchronously could over all needs 
from user perspective, and the detailed sync mode should be a 
per-cluster/per-table/per-CF setting rather than per RPC. Let me edit my old 
comment to make it clear (smile)

> Recheck the design and implementation of FSYNC_WAL durability for WAL
> -
>
> Key: HBASE-20471
> URL: https://issues.apache.org/jira/browse/HBASE-20471
> Project: HBase
>  Issue Type: Task
>Reporter: Yu Li
>Priority: Major
>
> This is something derived from discussion in HBASE-19024 around [this 
> comment|https://issues.apache.org/jira/browse/HBASE-19024?focusedCommentId=16445592=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16445592]
> We have been supplying user the API to set durability per mutation for a long 
> time, by design the SYNC_WAL durability to call {{FSDataOutputStream#hflush}} 
> and FSYNC_WAL {{FSDataOutputStream#hsync}}, while in implementation we have 
> been calling hflush for FSYNC_WAL also until HBASE-19024. Although 
> HBASE-19024 tried to fix the syntax with good willing, the implementation 
> there cannot assure the FSYNC_WAL edits are truly hsync'ed due to the 
> disruptor mechanism used in WAL implementation. Here in this JIRA we aim to 
> have more discussion and give it a complete solution.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-12943) Set sun.net.inetaddr.ttl in HBase

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-12943:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> Set sun.net.inetaddr.ttl in HBase
> -
>
> Key: HBASE-12943
> URL: https://issues.apache.org/jira/browse/HBASE-12943
> Project: HBase
>  Issue Type: Bug
>Reporter: Liu Shaohui
>Assignee: Liu Shaohui
>Priority: Major
> Fix For: 3.0.0, 2.1.0, 1.5.0, 1.3.3, 1.4.5
>
> Attachments: 12943-1-master.txt
>
>
> The default value of config: sun.net.inetaddr.ttl is -1 and the java 
> processes will cache the mapping of hostname to ip address  forever, See: 
> http://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html
> But things go wrong when a regionserver with same hostname and different ip 
> address rejoins the hbase cluster. The HMaster will get wrong ip address of 
> the regionserver from this cache and every region assignment to this 
> regionserver will be blocked for a time because the HMaster can't communicate 
> with the regionserver.
> A tradeoff is to set the sun.net.inetaddr.ttl to 10m or 1h and make the wrong 
> cache expired.
> Suggestions are welcomed. Thanks~



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-14223) Meta WALs are not cleared if meta region was closed and RS aborts

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-14223:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> Meta WALs are not cleared if meta region was closed and RS aborts
> -
>
> Key: HBASE-14223
> URL: https://issues.apache.org/jira/browse/HBASE-14223
> Project: HBase
>  Issue Type: Bug
>Reporter: Enis Soztutar
>Assignee: Enis Soztutar
>Priority: Major
> Fix For: 1.5.0, 1.3.3, 1.2.8, 2.0.0, 1.4.5
>
> Attachments: HBASE-14223logs, hbase-14223_v0.patch, 
> hbase-14223_v1-branch-1.patch, hbase-14223_v2-branch-1.patch, 
> hbase-14223_v3-branch-1.patch, hbase-14223_v3-branch-1.patch, 
> hbase-14223_v3-master.patch
>
>
> When an RS opens meta, and later closes it, the WAL(FSHlog) is not closed. 
> The last WAL file just sits there in the RS WAL directory. If RS stops 
> gracefully, the WAL file for meta is deleted. Otherwise if RS aborts, WAL for 
> meta is not cleaned. It is also not split (which is correct) since master 
> determines that the RS no longer hosts meta at the time of RS abort. 
> From a cluster after running ITBLL with CM, I see a lot of {{-splitting}} 
> directories left uncleaned: 
> {code}
> [root@os-enis-dal-test-jun-4-7 cluster-os]# sudo -u hdfs hadoop fs -ls 
> /apps/hbase/data/WALs
> Found 31 items
> drwxr-xr-x   - hbase hadoop  0 2015-06-05 01:14 
> /apps/hbase/data/WALs/hregion-58203265
> drwxr-xr-x   - hbase hadoop  0 2015-06-05 07:54 
> /apps/hbase/data/WALs/os-enis-dal-test-jun-4-1.openstacklocal,16020,1433489308745-splitting
> drwxr-xr-x   - hbase hadoop  0 2015-06-05 09:28 
> /apps/hbase/data/WALs/os-enis-dal-test-jun-4-1.openstacklocal,16020,1433494382959-splitting
> drwxr-xr-x   - hbase hadoop  0 2015-06-05 10:01 
> /apps/hbase/data/WALs/os-enis-dal-test-jun-4-1.openstacklocal,16020,1433498252205-splitting
> ...
> {code}
> The directories contain WALs from meta: 
> {code}
> [root@os-enis-dal-test-jun-4-7 cluster-os]# sudo -u hdfs hadoop fs -ls 
> /apps/hbase/data/WALs/os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285-splitting
> Found 2 items
> -rw-r--r--   3 hbase hadoop 201608 2015-06-05 03:15 
> /apps/hbase/data/WALs/os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285-splitting/os-enis-dal-test-jun-4-5.openstacklocal%2C16020%2C1433466904285..meta.1433470511501.meta
> -rw-r--r--   3 hbase hadoop  44420 2015-06-05 04:36 
> /apps/hbase/data/WALs/os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285-splitting/os-enis-dal-test-jun-4-5.openstacklocal%2C16020%2C1433466904285..meta.1433474111645.meta
> {code}
> The RS hosted the meta region for some time: 
> {code}
> 2015-06-05 03:14:28,692 INFO  [PostOpenDeployTasks:1588230740] 
> zookeeper.MetaTableLocator: Setting hbase:meta region location in ZooKeeper 
> as os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285
> ...
> 2015-06-05 03:15:17,302 INFO  
> [RS_CLOSE_META-os-enis-dal-test-jun-4-5:16020-0] regionserver.HRegion: Closed 
> hbase:meta,,1.1588230740
> {code}
> In between, a WAL is created: 
> {code}
> 2015-06-05 03:15:11,707 INFO  
> [RS_OPEN_META-os-enis-dal-test-jun-4-5:16020-0-MetaLogRoller] wal.FSHLog: 
> Rolled WAL 
> /apps/hbase/data/WALs/os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285/os-enis-dal-test-jun-4-5.openstacklocal%2C16020%2C1433466904285..meta.1433470511501.meta
>  with entries=385, filesize=196.88 KB; new WAL 
> /apps/hbase/data/WALs/os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285/os-enis-dal-test-jun-4-5.openstacklocal%2C16020%2C1433466904285..meta.1433474111645.meta
> {code}
> When CM killed the region server later master did not see these WAL files: 
> {code}
> ./hbase-hbase-master-os-enis-dal-test-jun-4-3.log:2015-06-05 03:36:46,075 
> INFO  [MASTER_SERVER_OPERATIONS-os-enis-dal-test-jun-4-3:16000-0] 
> master.SplitLogManager: started splitting 2 logs in 
> [hdfs://os-enis-dal-test-jun-4-1.openstacklocal:8020/apps/hbase/data/WALs/os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285-splitting]
>  for [os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285]
> ./hbase-hbase-master-os-enis-dal-test-jun-4-3.log:2015-06-05 03:36:47,300 
> INFO  [main-EventThread] wal.WALSplitter: Archived processed log 
> hdfs://os-enis-dal-test-jun-4-1.openstacklocal:8020/apps/hbase/data/WALs/os-enis-dal-test-jun-4-5.openstacklocal,16020,1433466904285-splitting/os-enis-dal-test-jun-4-5.openstacklocal%2C16020%2C1433466904285.default.1433475074436
>  to 
> hdfs://os-enis-dal-test-jun-4-1.openstacklocal:8020/apps/hbase/data/oldWALs/os-enis-dal-test-jun-4-5.openstacklocal%2C16020%2C1433466904285.default.1433475074436
> ./hbase-hbase-master-os-enis-dal-test-jun-4-3.log:2015-06-05 03:36:50,497 
> 

[jira] [Updated] (HBASE-17890) FuzzyRowFilter fail if unaligned support is false

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-17890:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> FuzzyRowFilter fail if unaligned support is false
> -
>
> Key: HBASE-17890
> URL: https://issues.apache.org/jira/browse/HBASE-17890
> Project: HBase
>  Issue Type: Sub-task
>  Components: util
>Affects Versions: 1.2.5, 2.0.0
>Reporter: Jerry He
>Assignee: Chia-Ping Tsai
>Priority: Major
> Fix For: 3.0.0, 2.1.0, 1.3.3, 1.2.8, 1.4.5
>
> Attachments: HBASE-17890.v0.branch-1.patch, HBASE-17890.v0.patch, 
> HBASE-17890.v1.branch-1.patch, HBASE-17890.v1.patch, HBASE-17890.v2.patch, 
> HBASE-17890.v3.patch, HBASE-17890.v3.patch, HBASE-17890.v3.patch, 
> HBASE-17890.v3.patch, HBASE-17890.v3.patch
>
>
> When unaligned support is false, FuzzyRow tests fail:
> {noformat}
> Failed tests:
>   TestFuzzyRowAndColumnRangeFilter.Test:134->runTest:157->runScanner:186 
> expected:<10> but was:<0>
>   TestFuzzyRowFilter.testSatisfiesForward:81 expected: but was:
>   TestFuzzyRowFilter.testSatisfiesReverse:121 expected: but 
> was:
>   TestFuzzyRowFilterEndToEnd.testEndToEnd:247->runTest1:278->runScanner:343 
> expected:<6250> but was:<0>
>   TestFuzzyRowFilterEndToEnd.testFilterList:385->runTest:417->runScanner:445 
> expected:<5> but was:<0>
>   TestFuzzyRowFilterEndToEnd.testHBASE14782:204 expected:<6> but was:<0>
> {noformat}
> This can be reproduced in the case described in HBASE-17869. Or on a platform 
> really without unaligned support.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-17885) Backport HBASE-15871 to branch-1

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-17885:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> Backport HBASE-15871 to branch-1
> 
>
> Key: HBASE-17885
> URL: https://issues.apache.org/jira/browse/HBASE-17885
> Project: HBase
>  Issue Type: Bug
>  Components: Scanners
>Affects Versions: 1.3.1, 1.2.5, 1.1.8
>Reporter: ramkrishna.s.vasudevan
>Priority: Major
> Fix For: 1.5.0, 1.3.3, 1.2.8, 1.4.5
>
>
> Will try to rebase the branch-1 patch at the earliest. Hope the fix versions 
> are correct.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-16071) The VisibilityLabelFilter and AccessControlFilter should not count the "delete cell"

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-16071:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> The VisibilityLabelFilter and AccessControlFilter should not count the 
> "delete cell"
> 
>
> Key: HBASE-16071
> URL: https://issues.apache.org/jira/browse/HBASE-16071
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Minor
> Fix For: 1.5.0, 1.3.3, 2.0.0, 1.4.5
>
> Attachments: HBASE-16071-v1.patch, HBASE-16071-v2.patch, 
> HBASE-16071-v3.patch
>
>
> The VisibilityLabelFilter will see and count the "delete cell" if the 
> scan.isRaw() returns true, so the (put) cell will be skipped if it has lower 
> version than "delete cell"
> The critical code is shown below:
> {code:title=VisibilityLabelFilter.java|borderStyle=solid}
>   public ReturnCode filterKeyValue(Cell cell) throws IOException {
> if (curFamily.getBytes() == null
> || !(CellUtil.matchingFamily(cell, curFamily.getBytes(), 
> curFamily.getOffset(),
> curFamily.getLength( {
>   curFamily.set(cell.getFamilyArray(), cell.getFamilyOffset(), 
> cell.getFamilyLength());
>   // For this family, all the columns can have max of 
> curFamilyMaxVersions versions. No need to
>   // consider the older versions for visibility label check.
>   // Ideally this should have been done at a lower layer by HBase (?)
>   curFamilyMaxVersions = cfVsMaxVersions.get(curFamily);
>   // Family is changed. Just unset curQualifier.
>   curQualifier.unset();
> }
> if (curQualifier.getBytes() == null
> || !(CellUtil.matchingQualifier(cell, curQualifier.getBytes(), 
> curQualifier.getOffset(),
> curQualifier.getLength( {
>   curQualifier.set(cell.getQualifierArray(), cell.getQualifierOffset(),
>   cell.getQualifierLength());
>   curQualMetVersions = 0;
> }
> curQualMetVersions++;
> if (curQualMetVersions > curFamilyMaxVersions) {
>   return ReturnCode.SKIP;
> }
> return this.expEvaluator.evaluate(cell) ? ReturnCode.INCLUDE : 
> ReturnCode.SKIP;
>   }
> {code}
> [VisibilityLabelFilter.java|https://github.com/apache/hbase/blob/d7a4499dfc8b3936a0eca867589fc2b23b597866/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.java]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-13160) SplitLogWorker does not pick up the task immediately

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-13160:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> SplitLogWorker does not pick up the task immediately
> 
>
> Key: HBASE-13160
> URL: https://issues.apache.org/jira/browse/HBASE-13160
> Project: HBase
>  Issue Type: Improvement
>Reporter: Enis Soztutar
>Assignee: Enis Soztutar
>Priority: Major
> Fix For: 1.5.0, 1.3.3, 1.4.5
>
> Attachments: hbase-13160_v1.patch
>
>
> We were reading some code with Jeffrey, and we realized that the 
> SplitLogWorker's internal task loop is weird. It does {{ls}} every second and 
> sleeps, but have another mechanism to learn about new tasks, but does not 
> make affective use of the zk notification. 
> I have a simple patch which might improve this area. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-18228) HBCK improvements

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-18228:
---
Fix Version/s: (was: 1.4.4)
   1.4.5
   2.1.0
   3.0.0

> HBCK improvements
> -
>
> Key: HBASE-18228
> URL: https://issues.apache.org/jira/browse/HBASE-18228
> Project: HBase
>  Issue Type: Improvement
>  Components: hbck
>Reporter: Lars Hofhansl
>Assignee: Karan Mehta
>Priority: Critical
> Fix For: 3.0.0, 2.1.0, 1.5.0, 1.4.5
>
> Attachments: HBASE-18228.branch-1.3.patch
>
>
> We just had a prod issue and running HBCK the way we did actually causes more 
> problems.
> In part HBCK did stuff we did not expect, in part we had little visibility 
> into what HBCK was doing, and in part the logging was confusing.
> I'm proposing 2 improvements:
> 1. A dry-run mode. Run, and just list what would have been done.
> 2. An interactive mode. Run, and for each action request Y/N user input. So 
> that a user can opt-out of stuff.
> [~jmhsieh], FYI



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20414) TestLockProcedure#testMultipleLocks may fail on slow machine

2018-04-22 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-20414:


bq. does it have chance the value of (HEARTBEAT_TIMEOUT-(now-start)-10) is 
negative

I don't think so. That means 1990 < now - start. From the flaky test scenario 
given above, there was enough buffer for the above expression to be positive.

> TestLockProcedure#testMultipleLocks may fail on slow machine
> 
>
> Key: HBASE-20414
> URL: https://issues.apache.org/jira/browse/HBASE-20414
> Project: HBase
>  Issue Type: Test
>Reporter: Ted Yu
>Assignee: Ted Yu
>Priority: Major
> Attachments: 20414.v1.txt
>
>
> Here was recent failure : 
> https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/172/testReport/junit/org.apache.hadoop.hbase.master.locking/TestLockProcedure/health_checks___yetus_jdk8_hadoop2_checks___testMultipleLocks/
> {code}
> java.lang.AssertionError: expected: but was:
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.sendHeartbeatAndCheckLocked(TestLockProcedure.java:221)
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.testMultipleLocks(TestLockProcedure.java:311)
> {code}
> In the test output, we can see this:
> {code}
> 2018-04-13 20:19:54,230 DEBUG [Time-limited test] 
> locking.TestLockProcedure(225): Proc id 22 : LOCKED.
> ...
> 2018-04-13 20:19:55,529 DEBUG [Time-limited test] 
> procedure2.ProcedureExecutor(865): Stored pid=26, state=RUNNABLE; 
> org.apache.hadoop.hbase.master.locking.LockProcedure 
> regions=a7f9adfd047350eabb199a39564ba4db,c1e297609590b707233a2f9c8bb51fa1, 
> type=EXCLUSIVE
> 2018-04-13 20:19:56,230 DEBUG [ProcExecTimeout] locking.LockProcedure(207): 
> Timeout failure ProcedureEvent for pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE, ready=false, [pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE]
> {code}
> After the pid=26 log, the code does this (1 second wait):
> {code}
> // Assert tables & region locks are waiting because of namespace lock.
> Thread.sleep(HEARTBEAT_TIMEOUT / 2);
> {code}
> On a slow machine (in the case above), there was only 730 msec between the 
> queueing of regionsLock2 and the WAITING_TIMEOUT state of the nsLock. The 1 
> second wait was too long, leading to assertion failure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-18415) The local timeout may cause Admin to submit duplicate request

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-18415:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> The local timeout may cause Admin to submit duplicate request
> -
>
> Key: HBASE-18415
> URL: https://issues.apache.org/jira/browse/HBASE-18415
> Project: HBase
>  Issue Type: Bug
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Major
> Fix For: 3.0.0, 2.1.0, 1.5.0, 1.3.3, 1.4.5
>
> Attachments: HBASE-18415.branch-1.ut.patch, 
> HBASE-18415.branch-1.v0.patch, HBASE-18415.branch-1.v1.patch, 
> HBASE-18415.branch-1.v2.patch, HBASE-18415.branch-1.v3.patch, 
> HBASE-18415.branch-1.v3.patch, HBASE-18415.branch-1.v3.patch, 
> HBASE-18415.branch-1.v4.patch, HBASE-18415.branch-1.v4.patch, 
> HBASE-18415.branch-1.v4.patch
>
>
> After a timeout occurs on first request, client will retry the request with 
> distinct group/nonce. The second request may bring the TableXXXException back 
> if the first request have changed the table state.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-18549) Unclaimed replication queues can go undetected

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-18549:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> Unclaimed replication queues can go undetected
> --
>
> Key: HBASE-18549
> URL: https://issues.apache.org/jira/browse/HBASE-18549
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Ashu Pachauri
>Priority: Critical
> Fix For: 1.5.0, 1.3.3, 1.4.5
>
>
> We have come across this situation multiple times where a zookeeper issues 
> can cause NodeFailoverWorker to fail picking up replication queue for a dead 
> region server silently. One example is when the znode size for a particular 
> queue exceed jute.maxBuffer value.
> There can be other situations that may lead to this and just go undetected. 
> We need to have a metric for number of unclaimed replication queues. This 
> will help in mitigating the problem through alerting on the metric and 
> identifying underlying issues.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-18639) nightly jobs that need to do jdk7 + jdk8 need more than 6 hours

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-18639:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> nightly jobs that need to do jdk7 + jdk8 need more than 6 hours
> ---
>
> Key: HBASE-18639
> URL: https://issues.apache.org/jira/browse/HBASE-18639
> Project: HBase
>  Issue Type: Task
>  Components: test
>Reporter: Sean Busbey
>Priority: Major
>  Labels: beginner
> Fix For: 1.5.0, 1.3.3, 1.2.8, 1.4.5
>
>
> looks like the branches that need to do 2 jdks will need more than 6 hours, 
> at least until we can parallelize things.
> e.g. 
> * 
> [branch-1.2|https://builds.apache.org/view/H-L/view/HBase/job/HBase%20Nightly/job/branch-1.2/buildTimeTrend]
> * 
> [branch-1.3|https://builds.apache.org/view/H-L/view/HBase/job/HBase%20Nightly/job/branch-1.3/buildTimeTrend]
> branch-1.4 and branch-1 are failing in jdk7 checks, so they don't go that 
> long yet, but once we get those tests fixed presumably they'll need the time 
> as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20447) Only fail cacheBlock if block collisions aren't related to next block metadata

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-20447:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> Only fail cacheBlock if block collisions aren't related to next block metadata
> --
>
> Key: HBASE-20447
> URL: https://issues.apache.org/jira/browse/HBASE-20447
> Project: HBase
>  Issue Type: Bug
>  Components: BlockCache, BucketCache
>Affects Versions: 1.4.3, 2.0.0
>Reporter: Zach York
>Assignee: Zach York
>Priority: Major
> Fix For: 3.0.0, 2.1.0, 1.5.0, 2.0.1, 1.4.5
>
> Attachments: HBASE-20447.branch-1.001.patch, 
> HBASE-20447.master.001.patch
>
>
> This is the issue I was originally having here: 
> [http://mail-archives.apache.org/mod_mbox/hbase-dev/201802.mbox/%3CCAN+qs_Pav=md_aoj4xji+kcnetubg2xou2ntxv1g6m8-5vn...@mail.gmail.com%3E]
>  
> When we pread, we don't force the read to read all of the next block header.
> However, when we get into a race condition where two opener threads try to
> cache the same block and one thread read all of the next block header and the 
> other one didn't, it will fail the open process. This is especially important
> in a splitting case where it will potentially fail the split process.
> Instead, in the caches, we should only fail if the required blocks are 
> different.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20026) Add 1.4 release line to the JDK and Hadoop expectation tables

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-20026:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> Add 1.4 release line to the JDK and Hadoop expectation tables
> -
>
> Key: HBASE-20026
> URL: https://issues.apache.org/jira/browse/HBASE-20026
> Project: HBase
>  Issue Type: Task
>  Components: documentation
>Affects Versions: 1.4.0
>Reporter: Sean Busbey
>Priority: Critical
> Fix For: 1.4.5
>
>
> the ref guide currently doesn't have any expectations listed for branch-1.4 
> releases around JDK and Hadoop versions.
> either add it, or maybe update the existing entries so we have "1.2, 1.3, 
> 1.4" in a single entry. unless we're ready to include something different 
> among them. (Maybe note the default Hadoop we ship with? Or Hadoop 2.8.2+ 
> moving to S maybe? if we've actually done any of the legwork.)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-19444) RSGroups test units cannot be concurrently executed

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-19444:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> RSGroups test units cannot be concurrently executed
> ---
>
> Key: HBASE-19444
> URL: https://issues.apache.org/jira/browse/HBASE-19444
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.4.0
>Reporter: Andrew Purtell
>Priority: Minor
> Fix For: 1.5.0, 2.0.0, 1.4.5
>
>
> TestRSGroups and friends cannot be concurrently executed or they are very 
> likely to flake, failing with constraint exceptions. If executed serially all 
> units pass. Fix for concurrent execution.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20468) RPC quota requests ineffective due to not counting multi-actions

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-20468:
---
Fix Version/s: (was: 1.4.4)
   1.4.5

> RPC quota requests ineffective due to not counting multi-actions
> 
>
> Key: HBASE-20468
> URL: https://issues.apache.org/jira/browse/HBASE-20468
> Project: HBase
>  Issue Type: Bug
>  Components: rpc
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Critical
> Fix For: 2.1.0, 1.5.0, 1.3.3, 1.2.8, 2.0.1, 1.4.5
>
>
> Was digging into a problem with [~ankit.singhal] where setting RPC quotas on 
> number of requests wasn't having any effect on a multi-Get
> Ankit did enough digging to find that this was because each RPC was being 
> treated as one request instead of the number of requests contained within the 
> RPC itself.
> Thinking as an operator, this is a pretty ineffective control because a user 
> could just craft their API usage easily to work around any kind of limits I 
> want to set to control their impact on the system. TimeBasedLimiter is 
> assuming that one call to the quota code can only count as one request which 
> I think is just wrong.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20446) Allow building HBase 1.x against Hadoop 3.1.0

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-20446:


[~mdrob] What is the current "for production" release(s) of Hadoop >= 3 ?

> Allow building HBase 1.x against Hadoop 3.1.0
> -
>
> Key: HBASE-20446
> URL: https://issues.apache.org/jira/browse/HBASE-20446
> Project: HBase
>  Issue Type: Improvement
>Reporter: Lars Hofhansl
>Assignee: Lars Hofhansl
>Priority: Minor
> Fix For: 1.5.0
>
> Attachments: 20446.txt
>
>
> Simple change, just leaving it here in case somebody needs this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20471) Recheck the design and implementation of FSYNC_WAL durability for WAL

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-20471:


After HBASE-19024 the default durability setting becomes FSYNC_WAL if 
_hbase.wal.hsync_ is true, so all edits in the batch will have the same 
setting, and will be fsynced (unless the user changes the Durability setting, 
and then it's unclear, but we don't expect this for the normal case). The way 
the new setting _hbase.wal.hsync_ works was good enough for HBASE-19024 but 
agreed it is hardly ideal. If the user assumes SYNC_WAL or FSYNC_WAL is applied 
to every mutation, this is not correct and should be documented. We do expect 
SKIP_WAL to take effect on a per RPC basis, that is a Put should skip the WAL 
if SKIP_WAL, or every mutation in a batch or RowMutations should skip the WAL 
if the RPC carries a Durability attribute with SKIP_WAL selected. If that 
assumption is now somehow not correct, we need to fix that.

> Recheck the design and implementation of FSYNC_WAL durability for WAL
> -
>
> Key: HBASE-20471
> URL: https://issues.apache.org/jira/browse/HBASE-20471
> Project: HBase
>  Issue Type: Task
>Reporter: Yu Li
>Priority: Major
>
> This is something derived from discussion in HBASE-19024 around [this 
> comment|https://issues.apache.org/jira/browse/HBASE-19024?focusedCommentId=16445592=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16445592]
> We have been supplying user the API to set durability per mutation for a long 
> time, by design the SYNC_WAL durability to call {{FSDataOutputStream#hflush}} 
> and FSYNC_WAL {{FSDataOutputStream#hsync}}, while in implementation we have 
> been calling hflush for FSYNC_WAL also until HBASE-19024. Although 
> HBASE-19024 tried to fix the syntax with good willing, the implementation 
> there cannot assure the FSYNC_WAL edits are truly hsync'ed due to the 
> disruptor mechanism used in WAL implementation. Here in this JIRA we aim to 
> have more discussion and give it a complete solution.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-20471) Recheck the design and implementation of FSYNC_WAL durability for WAL

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell edited comment on HBASE-20471 at 4/23/18 2:59 AM:
-

After HBASE-19024 the default durability setting becomes FSYNC_WAL if 
_hbase.wal.hsync_ is true, so all edits in the batch will have the same 
setting, and will be fsynced (unless the user changes the Durability setting, 
and then it's unclear, but we don't expect this for the normal case). The way 
the new setting _hbase.wal.hsync_ works was good enough for HBASE-19024 but 
agreed it is hardly ideal. If the user assumes SYNC_WAL or FSYNC_WAL is applied 
to every mutation, this is not correct and should be documented. 

We do expect SKIP_WAL to take effect on a per RPC basis, that is a Put should 
skip the WAL if SKIP_WAL, or every mutation in a batch or RowMutations should 
skip the WAL if the RPC carries a Durability attribute with SKIP_WAL selected. 
If that assumption is now somehow not correct, we need to fix that.


was (Author: apurtell):
After HBASE-19024 the default durability setting becomes FSYNC_WAL if 
_hbase.wal.hsync_ is true, so all edits in the batch will have the same 
setting, and will be fsynced (unless the user changes the Durability setting, 
and then it's unclear, but we don't expect this for the normal case). The way 
the new setting _hbase.wal.hsync_ works was good enough for HBASE-19024 but 
agreed it is hardly ideal. If the user assumes SYNC_WAL or FSYNC_WAL is applied 
to every mutation, this is not correct and should be documented. We do expect 
SKIP_WAL to take effect on a per RPC basis, that is a Put should skip the WAL 
if SKIP_WAL, or every mutation in a batch or RowMutations should skip the WAL 
if the RPC carries a Durability attribute with SKIP_WAL selected. If that 
assumption is now somehow not correct, we need to fix that.

> Recheck the design and implementation of FSYNC_WAL durability for WAL
> -
>
> Key: HBASE-20471
> URL: https://issues.apache.org/jira/browse/HBASE-20471
> Project: HBase
>  Issue Type: Task
>Reporter: Yu Li
>Priority: Major
>
> This is something derived from discussion in HBASE-19024 around [this 
> comment|https://issues.apache.org/jira/browse/HBASE-19024?focusedCommentId=16445592=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16445592]
> We have been supplying user the API to set durability per mutation for a long 
> time, by design the SYNC_WAL durability to call {{FSDataOutputStream#hflush}} 
> and FSYNC_WAL {{FSDataOutputStream#hsync}}, while in implementation we have 
> been calling hflush for FSYNC_WAL also until HBASE-19024. Although 
> HBASE-19024 tried to fix the syntax with good willing, the implementation 
> there cannot assure the FSYNC_WAL edits are truly hsync'ed due to the 
> disruptor mechanism used in WAL implementation. Here in this JIRA we aim to 
> have more discussion and give it a complete solution.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20414) TestLockProcedure#testMultipleLocks may fail on slow machine

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-20414:


My concern is the test is still based on timer...Let me try the test with your 
patch locally.

BTW, does it have chance the value of (HEARTBEAT_TIMEOUT-(now-start)-10) is 
negative? If so, that will cause IllegalArgumentException.

> TestLockProcedure#testMultipleLocks may fail on slow machine
> 
>
> Key: HBASE-20414
> URL: https://issues.apache.org/jira/browse/HBASE-20414
> Project: HBase
>  Issue Type: Test
>Reporter: Ted Yu
>Assignee: Ted Yu
>Priority: Major
> Attachments: 20414.v1.txt
>
>
> Here was recent failure : 
> https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/172/testReport/junit/org.apache.hadoop.hbase.master.locking/TestLockProcedure/health_checks___yetus_jdk8_hadoop2_checks___testMultipleLocks/
> {code}
> java.lang.AssertionError: expected: but was:
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.sendHeartbeatAndCheckLocked(TestLockProcedure.java:221)
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.testMultipleLocks(TestLockProcedure.java:311)
> {code}
> In the test output, we can see this:
> {code}
> 2018-04-13 20:19:54,230 DEBUG [Time-limited test] 
> locking.TestLockProcedure(225): Proc id 22 : LOCKED.
> ...
> 2018-04-13 20:19:55,529 DEBUG [Time-limited test] 
> procedure2.ProcedureExecutor(865): Stored pid=26, state=RUNNABLE; 
> org.apache.hadoop.hbase.master.locking.LockProcedure 
> regions=a7f9adfd047350eabb199a39564ba4db,c1e297609590b707233a2f9c8bb51fa1, 
> type=EXCLUSIVE
> 2018-04-13 20:19:56,230 DEBUG [ProcExecTimeout] locking.LockProcedure(207): 
> Timeout failure ProcedureEvent for pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE, ready=false, [pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE]
> {code}
> After the pid=26 log, the code does this (1 second wait):
> {code}
> // Assert tables & region locks are waiting because of namespace lock.
> Thread.sleep(HEARTBEAT_TIMEOUT / 2);
> {code}
> On a slow machine (in the case above), there was only 730 msec between the 
> queueing of regionsLock2 and the WAITING_TIMEOUT state of the nsLock. The 1 
> second wait was too long, leading to assertion failure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20414) TestLockProcedure#testMultipleLocks may fail on slow machine

2018-04-22 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-20414:


See the comment in code above the {{Thread.sleep}} call.

I think the sleep is necessary.

> TestLockProcedure#testMultipleLocks may fail on slow machine
> 
>
> Key: HBASE-20414
> URL: https://issues.apache.org/jira/browse/HBASE-20414
> Project: HBase
>  Issue Type: Test
>Reporter: Ted Yu
>Assignee: Ted Yu
>Priority: Major
> Attachments: 20414.v1.txt
>
>
> Here was recent failure : 
> https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/172/testReport/junit/org.apache.hadoop.hbase.master.locking/TestLockProcedure/health_checks___yetus_jdk8_hadoop2_checks___testMultipleLocks/
> {code}
> java.lang.AssertionError: expected: but was:
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.sendHeartbeatAndCheckLocked(TestLockProcedure.java:221)
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.testMultipleLocks(TestLockProcedure.java:311)
> {code}
> In the test output, we can see this:
> {code}
> 2018-04-13 20:19:54,230 DEBUG [Time-limited test] 
> locking.TestLockProcedure(225): Proc id 22 : LOCKED.
> ...
> 2018-04-13 20:19:55,529 DEBUG [Time-limited test] 
> procedure2.ProcedureExecutor(865): Stored pid=26, state=RUNNABLE; 
> org.apache.hadoop.hbase.master.locking.LockProcedure 
> regions=a7f9adfd047350eabb199a39564ba4db,c1e297609590b707233a2f9c8bb51fa1, 
> type=EXCLUSIVE
> 2018-04-13 20:19:56,230 DEBUG [ProcExecTimeout] locking.LockProcedure(207): 
> Timeout failure ProcedureEvent for pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE, ready=false, [pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE]
> {code}
> After the pid=26 log, the code does this (1 second wait):
> {code}
> // Assert tables & region locks are waiting because of namespace lock.
> Thread.sleep(HEARTBEAT_TIMEOUT / 2);
> {code}
> On a slow machine (in the case above), there was only 730 msec between the 
> queueing of regionsLock2 and the WAITING_TIMEOUT state of the nsLock. The 1 
> second wait was too long, leading to assertion failure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20468) RPC quota requests ineffective due to not counting multi-actions

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-20468:


+1
Yep we've had this exact same thought over where I work. [~vincentpoon] did 
some investigation last year.

> RPC quota requests ineffective due to not counting multi-actions
> 
>
> Key: HBASE-20468
> URL: https://issues.apache.org/jira/browse/HBASE-20468
> Project: HBase
>  Issue Type: Bug
>  Components: rpc
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Critical
> Fix For: 2.1.0, 1.5.0, 1.3.3, 1.2.8, 1.4.4, 2.0.1
>
>
> Was digging into a problem with [~ankit.singhal] where setting RPC quotas on 
> number of requests wasn't having any effect on a multi-Get
> Ankit did enough digging to find that this was because each RPC was being 
> treated as one request instead of the number of requests contained within the 
> RPC itself.
> Thinking as an operator, this is a pretty ineffective control because a user 
> could just craft their API usage easily to work around any kind of limits I 
> want to set to control their impact on the system. TimeBasedLimiter is 
> assuming that one call to the quota code can only count as one request which 
> I think is just wrong.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20414) TestLockProcedure#testMultipleLocks may fail on slow machine

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-20414:


Is the sleep necessary? If not, Could we remove the sleeper in order to avoid 
the timeout?

> TestLockProcedure#testMultipleLocks may fail on slow machine
> 
>
> Key: HBASE-20414
> URL: https://issues.apache.org/jira/browse/HBASE-20414
> Project: HBase
>  Issue Type: Test
>Reporter: Ted Yu
>Assignee: Ted Yu
>Priority: Major
> Attachments: 20414.v1.txt
>
>
> Here was recent failure : 
> https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/172/testReport/junit/org.apache.hadoop.hbase.master.locking/TestLockProcedure/health_checks___yetus_jdk8_hadoop2_checks___testMultipleLocks/
> {code}
> java.lang.AssertionError: expected: but was:
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.sendHeartbeatAndCheckLocked(TestLockProcedure.java:221)
>   at 
> org.apache.hadoop.hbase.master.locking.TestLockProcedure.testMultipleLocks(TestLockProcedure.java:311)
> {code}
> In the test output, we can see this:
> {code}
> 2018-04-13 20:19:54,230 DEBUG [Time-limited test] 
> locking.TestLockProcedure(225): Proc id 22 : LOCKED.
> ...
> 2018-04-13 20:19:55,529 DEBUG [Time-limited test] 
> procedure2.ProcedureExecutor(865): Stored pid=26, state=RUNNABLE; 
> org.apache.hadoop.hbase.master.locking.LockProcedure 
> regions=a7f9adfd047350eabb199a39564ba4db,c1e297609590b707233a2f9c8bb51fa1, 
> type=EXCLUSIVE
> 2018-04-13 20:19:56,230 DEBUG [ProcExecTimeout] locking.LockProcedure(207): 
> Timeout failure ProcedureEvent for pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE, ready=false, [pid=22, state=WAITING_TIMEOUT; 
> org.apache.hadoop.hbase.master.locking.LockProcedure, namespace=namespace, 
> type=EXCLUSIVE]
> {code}
> After the pid=26 log, the code does this (1 second wait):
> {code}
> // Assert tables & region locks are waiting because of namespace lock.
> Thread.sleep(HEARTBEAT_TIMEOUT / 2);
> {code}
> On a slow machine (in the case above), there was only 730 msec between the 
> queueing of regionsLock2 and the WAITING_TIMEOUT state of the nsLock. The 1 
> second wait was too long, leading to assertion failure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17958) Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP

2018-04-22 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-17958:


Ok just to confirm - 1.4 and up, not 1.3. So the perf issue we are seeing is in 
1.3. You'll probably want to check out branch-1.3 instead of branch-1 Lars.

> Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP
> 
>
> Key: HBASE-17958
> URL: https://issues.apache.org/jira/browse/HBASE-17958
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 1.4.0, 2.0.0
>
> Attachments: 0001-add-one-ut-testWithColumnCountGetFilter.patch, 
> 17958-add.txt, HBASE-17958-branch-1.patch, HBASE-17958-branch-1.patch, 
> HBASE-17958-branch-1.patch, HBASE-17958-branch-1.patch, HBASE-17958-v1.patch, 
> HBASE-17958-v2.patch, HBASE-17958-v3.patch, HBASE-17958-v4.patch, 
> HBASE-17958-v5.patch, HBASE-17958-v6.patch, HBASE-17958-v7.patch, 
> HBASE-17958-v7.patch
>
>
> {code}
> ScanQueryMatcher.MatchCode qcode = matcher.match(cell);
> qcode = optimize(qcode, cell);
> {code}
> The optimize method may change the MatchCode from SEEK_NEXT_COL/SEEK_NEXT_ROW 
> to SKIP. But it still pass the next cell to ScanQueryMatcher. It will get 
> wrong result when use some filter, etc. ColumnCountGetFilter. It just count 
> the  columns's number. If pass a same column to this filter, the count result 
> will be wrong. So we should avoid passing cell to ScanQueryMatcher when 
> optimize SEEK to SKIP.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Issue Comment Deleted] (HBASE-20463) Fix breakage introduced on branch-1 by HBASE-20276 "[shell] Revert shell REPL change and document"

2018-04-22 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl updated HBASE-20463:
--
Comment: was deleted

(was: Looks like the shell is still broken:
{code:java}
ArgumentError: wrong number of arguments (0 for 1)
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:10
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:129
Pattern at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:2
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:1
require at org/jruby/RubyKernel.java:1062
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:42
(root) at /home/lars/dev/test/hbase/bin/../bin/hirb.rb:38{code}
Although that looks all ruby internal... Might be environmental, but pretty 
sure that this has worked a while ago.

 NM was me... I'll delete this comment. (had to do with Java 9, apologies))

> Fix breakage introduced on branch-1 by HBASE-20276 "[shell] Revert shell REPL 
> change and document"
> --
>
> Key: HBASE-20463
> URL: https://issues.apache.org/jira/browse/HBASE-20463
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Reporter: stack
>Assignee: Sean Busbey
>Priority: Blocker
> Fix For: 1.5.0, 1.4.4
>
> Attachments: HBASE-20463-branch-1.v0.patch, HBASE-20463.0.patch
>
>
> Hope you don't mind my making an issue for fixing branch-1 breakage [~busbey] 
> (and [~apurtell]).
> See parent for discussion on breakage.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-20463) Fix breakage introduced on branch-1 by HBASE-20276 "[shell] Revert shell REPL change and document"

2018-04-22 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl edited comment on HBASE-20463 at 4/23/18 2:34 AM:


Looks like the shell is still broken:
{code:java}
ArgumentError: wrong number of arguments (0 for 1)
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:10
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:129
Pattern at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:2
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:1
require at org/jruby/RubyKernel.java:1062
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:42
(root) at /home/lars/dev/test/hbase/bin/../bin/hirb.rb:38{code}
Although that looks all ruby internal... Might be environmental, but pretty 
sure that this has worked a while ago.

 NM was me... I'll delete this comment. (had to do with Java 9, apologies)


was (Author: lhofhansl):
Looks like the shell is still broken:
{code:java}
ArgumentError: wrong number of arguments (0 for 1)
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:10
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:129
Pattern at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:2
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:1
require at org/jruby/RubyKernel.java:1062
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:42
(root) at /home/lars/dev/test/hbase/bin/../bin/hirb.rb:38{code}
Although that looks all ruby internal... Might be environmental, but pretty 
sure that this has worked a while ago.

 NM was me... I'll delete this comment.

> Fix breakage introduced on branch-1 by HBASE-20276 "[shell] Revert shell REPL 
> change and document"
> --
>
> Key: HBASE-20463
> URL: https://issues.apache.org/jira/browse/HBASE-20463
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Reporter: stack
>Assignee: Sean Busbey
>Priority: Blocker
> Fix For: 1.5.0, 1.4.4
>
> Attachments: HBASE-20463-branch-1.v0.patch, HBASE-20463.0.patch
>
>
> Hope you don't mind my making an issue for fixing branch-1 breakage [~busbey] 
> (and [~apurtell]).
> See parent for discussion on breakage.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-20463) Fix breakage introduced on branch-1 by HBASE-20276 "[shell] Revert shell REPL change and document"

2018-04-22 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl edited comment on HBASE-20463 at 4/23/18 2:33 AM:


Looks like the shell is still broken:
{code:java}
ArgumentError: wrong number of arguments (0 for 1)
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:10
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:129
Pattern at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:2
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:1
require at org/jruby/RubyKernel.java:1062
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:42
(root) at /home/lars/dev/test/hbase/bin/../bin/hirb.rb:38{code}
Although that looks all ruby internal... Might be environmental, but pretty 
sure that this has worked a while ago.

 NM was me... I'll delete this comment.


was (Author: lhofhansl):
Looks like the shell is still broken:
{code:java}
ArgumentError: wrong number of arguments (0 for 1)
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:10
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:129
Pattern at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:2
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:1
require at org/jruby/RubyKernel.java:1062
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:42
(root) at /home/lars/dev/test/hbase/bin/../bin/hirb.rb:38{code}
Although that looks all ruby internal... Might be environmental, but pretty 
sure that this has worked a while ago.

 

> Fix breakage introduced on branch-1 by HBASE-20276 "[shell] Revert shell REPL 
> change and document"
> --
>
> Key: HBASE-20463
> URL: https://issues.apache.org/jira/browse/HBASE-20463
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Reporter: stack
>Assignee: Sean Busbey
>Priority: Blocker
> Fix For: 1.5.0, 1.4.4
>
> Attachments: HBASE-20463-branch-1.v0.patch, HBASE-20463.0.patch
>
>
> Hope you don't mind my making an issue for fixing branch-1 breakage [~busbey] 
> (and [~apurtell]).
> See parent for discussion on breakage.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20463) Fix breakage introduced on branch-1 by HBASE-20276 "[shell] Revert shell REPL change and document"

2018-04-22 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-20463:
---

Looks like the shell is still broken:
{code:java}
ArgumentError: wrong number of arguments (0 for 1)
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:10
method_added at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/javasupport/core_ext/object.rb:129
Pattern at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:2
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:1
require at org/jruby/RubyKernel.java:1062
(root) at 
file:/home/lars/dev/test/hbase-1.5.0-SNAPSHOT/lib/jruby-complete-1.6.8.jar!/builtin/java/java.util.regex.rb:42
(root) at /home/lars/dev/test/hbase/bin/../bin/hirb.rb:38{code}
Although that looks all ruby internal... Might be environmental, but pretty 
sure that this has worked a while ago.

 

> Fix breakage introduced on branch-1 by HBASE-20276 "[shell] Revert shell REPL 
> change and document"
> --
>
> Key: HBASE-20463
> URL: https://issues.apache.org/jira/browse/HBASE-20463
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Reporter: stack
>Assignee: Sean Busbey
>Priority: Blocker
> Fix For: 1.5.0, 1.4.4
>
> Attachments: HBASE-20463-branch-1.v0.patch, HBASE-20463.0.patch
>
>
> Hope you don't mind my making an issue for fixing branch-1 breakage [~busbey] 
> (and [~apurtell]).
> See parent for discussion on breakage.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20151) Bug with SingleColumnValueFilter and FamilyFilter

2018-04-22 Thread Reid Chan (JIRA)

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

Reid Chan commented on HBASE-20151:
---

ping [~chia7712], would you mind taking a look at this patch, thanks in advance.

> Bug with SingleColumnValueFilter and FamilyFilter
> -
>
> Key: HBASE-20151
> URL: https://issues.apache.org/jira/browse/HBASE-20151
> Project: HBase
>  Issue Type: Bug
> Environment: MacOS 10.13.3
> HBase 1.3.1
>Reporter: Steven Sadowski
>Assignee: Reid Chan
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20151.master.001.patch, 
> HBASE-20151.master.002.patch, HBASE-20151.master.003.patch, 
> HBASE-20151.master.004.patch, HBASE-20151.master.004.patch
>
>
> When running the following queries, the result is sometimes return correctly 
> and other times incorrectly based on the qualifier queried.
> Setup:
> {code:java}
> create 'test', 'a', 'b'
> test = get_table 'test'
> test.put '1', 'a:1', nil
> test.put '1', 'a:10', nil
> test.put '1', 'b:2', nil
> {code}
>  
>  This query works fine when the SCVF's qualifier has length 1 (i.e. '1') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','1',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW   COLUMN+CELL
>  1column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0060 seconds
> {code}
>  
> The query should return the same result when passed a qualifier of length 2 
> (i.e. '10') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW   COLUMN+CELL
> 0 row(s) in 0.0110 seconds
> {code}
> However, in this case, it does not return any row (expected result would be 
> to return the same result as the first query).
>  
> Removing the family filter while the qualifier is '10' yields expected 
> results:
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) )"})
> ROW   COLUMN+CELL
>  1column=a:1, 
> timestamp=1520455887954, value=
>  1column=a:10, 
> timestamp=1520455888024, value=
>  1column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0140 seconds
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17958) Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP

2018-04-22 Thread Vikas Vishwakarma (JIRA)

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

Vikas Vishwakarma commented on HBASE-17958:
---

[~lhofhansl] [~Apache9] we are ok on this request for now. We have observed the 
issue against 1.3 build. This patch seems to be present only in 1.4 . I 
verified that this is not cherry picked in our internal 1.3 light fork also. 
Once we are done with debugging the 1.3 issue, we anyways have a plan to do a 
0.98 vs 1.3 vs 1.4 benchmark. Will get back on this request when we do the 1.4 
benchmark. [~apurtell]

> Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP
> 
>
> Key: HBASE-17958
> URL: https://issues.apache.org/jira/browse/HBASE-17958
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 1.4.0, 2.0.0
>
> Attachments: 0001-add-one-ut-testWithColumnCountGetFilter.patch, 
> 17958-add.txt, HBASE-17958-branch-1.patch, HBASE-17958-branch-1.patch, 
> HBASE-17958-branch-1.patch, HBASE-17958-branch-1.patch, HBASE-17958-v1.patch, 
> HBASE-17958-v2.patch, HBASE-17958-v3.patch, HBASE-17958-v4.patch, 
> HBASE-17958-v5.patch, HBASE-17958-v6.patch, HBASE-17958-v7.patch, 
> HBASE-17958-v7.patch
>
>
> {code}
> ScanQueryMatcher.MatchCode qcode = matcher.match(cell);
> qcode = optimize(qcode, cell);
> {code}
> The optimize method may change the MatchCode from SEEK_NEXT_COL/SEEK_NEXT_ROW 
> to SKIP. But it still pass the next cell to ScanQueryMatcher. It will get 
> wrong result when use some filter, etc. ColumnCountGetFilter. It just count 
> the  columns's number. If pass a same column to this filter, the count result 
> will be wrong. So we should avoid passing cell to ScanQueryMatcher when 
> optimize SEEK to SKIP.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-19746:


Assume we remove the default impl of getType() in 2.0. User who implemented 
their own version of Cell need to revise their code (extend the getType()) in 
order to succeed to update hbase from 1.x to 2.0. (and I assume this change 
break the API compatibility)

If we keep default impl of getType() in 2.0, user will be doable to compile 
their code without adding impl to getType() after updating hbase from 1 to 2. 
And then they must impl the getType() in 3.0 because getType() will be abstract 
in 3.0. I think this scenario is reasonable because updating from 1 to 3 have 
no any compatibility guarantee. I mean we can't expect the code based on hbase 
1.x is compatible with hbase 3.0 API. Of course, we need to add more clear 
comment to getTypeByte to suggest user to implement getType() and remove the 
"override" annotation from getTypeByte if they want to migrate code from 2 to 3 
smoothly.

[~lars_francke] Please correct me if i misunderstand the API compatibility of 
hbase. If there are no other users who have their variant of Cell, reverting 
this patch won't hurt hbase I'd say.

 

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (HBASE-20473) Ineffective INFO logging adjustment in HFilePerformanceEvaluation

2018-04-22 Thread Ted Yu (JIRA)
Ted Yu created HBASE-20473:
--

 Summary: Ineffective INFO logging adjustment in 
HFilePerformanceEvaluation
 Key: HBASE-20473
 URL: https://issues.apache.org/jira/browse/HBASE-20473
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu


{code}
  // Disable verbose INFO logging from org.apache.hadoop.io.compress.CodecPool
  static {
System.setProperty("org.apache.commons.logging.Log",
  "org.apache.commons.logging.impl.SimpleLog");
{code}
The above code has no effect since we're migrating away from commons-logging.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20438) Add an HBase antipattern check for reintroducing commons-logging

2018-04-22 Thread stack (JIRA)

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

stack updated HBASE-20438:
--
Fix Version/s: (was: 2.0.1)
   2.0.0

> Add an HBase antipattern check for reintroducing commons-logging
> 
>
> Key: HBASE-20438
> URL: https://issues.apache.org/jira/browse/HBASE-20438
> Project: HBase
>  Issue Type: Improvement
>  Components: dependencies, test
>Affects Versions: 3.0.0, 2.1.0, 2.0.0
>Reporter: Sean Busbey
>Assignee: Nihal Jain
>Priority: Critical
> Fix For: 3.0.0, 2.1.0, 2.0.0
>
> Attachments: HBASE-20438.master.001.patch
>
>
> We moved to slf4j in HBASE-10092, but looking at our source tree we've had 
> some regression back to commons-logging:
> {code}
> $ git grep -E "org.apache.commons.logging.Log(Factory|;)"
> hbase-server/src/main/java/org/apache/hadoop/hbase/master/zksyncer/ClientZKSyncer.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/main/java/org/apache/hadoop/hbase/master/zksyncer/ClientZKSyncer.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/FileArchiverNotifierImpl.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/FileArchiverNotifierImpl.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/RegionSizeReportingChore.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/RegionSizeReportingChore.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/RegionSizeStoreImpl.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/RegionSizeStoreImpl.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/test/java/org/apache/hadoop/hbase/TestClusterPortAssignment.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/test/java/org/apache/hadoop/hbase/TestClusterPortAssignment.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFlushFromClient.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFlushFromClient.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSeparateClientZKCluster.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSeparateClientZKCluster.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.java:import
>  org.apache.commons.logging.LogFactory;
> hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestDisabledWAL.java:import
>  org.apache.commons.logging.Log;
> hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestDisabledWAL.java:import
>  org.apache.commons.logging.LogFactory;
> {code}
> We should do the same kind of check that we do to avoid e.g. the Hadoop 
> annotations



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20443) Use checkstyle to ban imports from commons-collections 3

2018-04-22 Thread stack (JIRA)

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

stack updated HBASE-20443:
--
Fix Version/s: (was: 2.0.1)
   2.0.0

> Use checkstyle to ban imports from commons-collections 3
> 
>
> Key: HBASE-20443
> URL: https://issues.apache.org/jira/browse/HBASE-20443
> Project: HBase
>  Issue Type: Task
>  Components: dependencies, test
>Reporter: Sean Busbey
>Assignee: Balazs Meszaros
>Priority: Major
> Fix For: 3.0.0, 2.1.0, 2.0.0
>
> Attachments: HBASE-20443.master.001.patch, 
> HBASE-20443.master.002.patch
>
>
> we upgraded to commons-collections 4 in HBASE-18704 and then to an 
> internal-only hbase-thirdparty version in HBASE-20223, but we've regressed:
> {code}
> $ git grep "import org.apache.commons.collections"
> hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/BackupLogCleaner.java:import
>  org.apache.commons.collections.MapUtils;
> hbase-client/src/main/java/org/apache/hadoop/hbase/client/RowMutations.java:import
>  org.apache.commons.collections.CollectionUtils;
> hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:import 
> org.apache.commons.collections.CollectionUtils;
> hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.java:import
>  org.apache.commons.collections.CollectionUtils;
> hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java:import
>  org.apache.commons.collections.CollectionUtils;
> hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java:import
>  org.apache.commons.collections.CollectionUtils;
> hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java:import
>  org.apache.commons.collections.CollectionUtils;
> hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.java:import
>  org.apache.commons.collections.CollectionUtils;
> hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java:import
>  org.apache.commons.collections.CollectionUtils;
> hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java:import
>  org.apache.commons.collections.MapUtils;
> {code}
> we should add the same kind of check as we do for e.g. hadoop annotations.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20441) Use checkstyle to ban imports from commons-lang 2

2018-04-22 Thread stack (JIRA)

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

stack updated HBASE-20441:
--
Fix Version/s: (was: 2.0.1)
   2.0.0

> Use checkstyle to ban imports from commons-lang 2
> -
>
> Key: HBASE-20441
> URL: https://issues.apache.org/jira/browse/HBASE-20441
> Project: HBase
>  Issue Type: Task
>  Components: dependencies, test
>Affects Versions: 2.0.0
>Reporter: Sean Busbey
>Assignee: Balazs Meszaros
>Priority: Major
> Fix For: 3.0.0, 2.1.0, 2.0.0
>
> Attachments: HBASE-20441.master.001.patch
>
>
> We updated to commons-lang 3 in HBASE-18674 but we've regressed:
> {code}
> $ git grep org.apache.commons.lang\\.
> hbase-common/src/main/java/org/apache/hadoop/hbase/net/Address.java:import 
> org.apache.commons.lang.StringUtils;
> hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/FileArchiverNotifierFactoryImpl.java:import
>  org.apache.commons.lang.builder.HashCodeBuilder;
> hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/FileArchiverNotifierImpl.java:import
>  org.apache.commons.lang.builder.HashCodeBuilder;
> hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHdfsSnapshotHRegion.java:import
>  org.apache.commons.lang.StringUtils;
> hbase-server/src/test/java/org/apache/hadoop/hbase/util/compaction/TestMajorCompactionRequest.java:import
>  org.apache.commons.lang.RandomStringUtils;
> {code}
> we should add the same kind of check as we do for e.g. hadoop annotations.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-19547) HBase fails building on AArch64 due to asciidoctor-maven-plugin.

2018-04-22 Thread stack (JIRA)

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

stack updated HBASE-19547:
--
Fix Version/s: (was: 2.0.1)
   2.0.0

> HBase fails building on AArch64 due to asciidoctor-maven-plugin.
> 
>
> Key: HBASE-19547
> URL: https://issues.apache.org/jira/browse/HBASE-19547
> Project: HBase
>  Issue Type: Bug
>  Components: build, documentation, website
>Affects Versions: 3.0.0
>Reporter: Yuqi Gu
>Assignee: Yuqi Gu
>Priority: Major
> Fix For: 3.0.0, 2.1.0, 2.0.0
>
> Attachments: HBASE-19547.patch
>
>
> HBase fails building on AArch64 due to asciidoctor-maven-plugin.
> {code:java}
> mvn clean site package install -DskipTests 
> [ERROR] Failed to execute 
> goal org.asciidoctor:asciidoctor-maven-plugin:1.5.5:
> process-asciidoc (output-pdf) on project hbase: 
> Execution output-pdf of goal 
> org.asciidoctor:asciidoctor-maven-plugin:1.5.5:
> process-asciidoc failed: (NotImplementedError)
>  fstat unimplemented unsupported or native support failed to load ->
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20459) Majority of scan CPU time in HBase-1 spent in size estimation

2018-04-22 Thread stack (JIRA)

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

stack updated HBASE-20459:
--
Fix Version/s: (was: 2.0.1)
   2.0.0

> Majority of scan CPU time in HBase-1 spent in size estimation
> -
>
> Key: HBASE-20459
> URL: https://issues.apache.org/jira/browse/HBASE-20459
> Project: HBase
>  Issue Type: Improvement
>  Components: Performance, scan
>Affects Versions: 1.4.3
>Reporter: Lars Hofhansl
>Assignee: Lars Hofhansl
>Priority: Critical
> Fix For: 1.5.0, 1.4.4, 2.0.0
>
> Attachments: 20459-v2.txt, 20459.2.0.txt, 20459.txt, 
> HBASE-20459.branch-2.0.001.patch, Screenshot_20180419_162559.png
>
>
> See attached screenshot. Will look into a fix later.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-20465) Fix TestEnableRSGroup flaky

2018-04-22 Thread stack (JIRA)

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

stack edited comment on HBASE-20465 at 4/22/18 10:40 PM:
-

Pushed to branch-2.0+. Lets try it. Thanks [~balazs.meszaros] for digging in on 
this flakie that never seems to leave the flakies' charts.


was (Author: stack):
Pushed to branch-2.0+. Lets try it. Thanks for digging in on this flakie that 
never seems to leave the flakies' charts.

> Fix TestEnableRSGroup flaky
> ---
>
> Key: HBASE-20465
> URL: https://issues.apache.org/jira/browse/HBASE-20465
> Project: HBase
>  Issue Type: Bug
>  Components: rsgroup
>Affects Versions: 2.0.0
>Reporter: Balazs Meszaros
>Assignee: Balazs Meszaros
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20465.master.001.patch
>
>
> Most recent {{TestEnableRSGroup}} tests failed on branch-2.0 according to our 
> flaky dashboard.
> {code}
> java.lang.AssertionError
>   at 
> org.apache.hadoop.hbase.rsgroup.TestEnableRSGroup.testEnableRSGroup(TestEnableRSGroup.java:80)
> {code}
> TestEnableRSGroup:80:
> {code:java}
> // check if master started successfully
> assertTrue(TEST_UTIL.getMiniHBaseCluster().getMaster() != null);
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20465) Fix TestEnableRSGroup flaky

2018-04-22 Thread stack (JIRA)

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

stack updated HBASE-20465:
--
  Resolution: Fixed
Hadoop Flags: Reviewed
  Status: Resolved  (was: Patch Available)

Pushed to branch-2.0+. Lets try it. Thanks for digging in on this flakie that 
never seems to leave the flakies' charts.

> Fix TestEnableRSGroup flaky
> ---
>
> Key: HBASE-20465
> URL: https://issues.apache.org/jira/browse/HBASE-20465
> Project: HBase
>  Issue Type: Bug
>  Components: rsgroup
>Affects Versions: 2.0.0
>Reporter: Balazs Meszaros
>Assignee: Balazs Meszaros
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20465.master.001.patch
>
>
> Most recent {{TestEnableRSGroup}} tests failed on branch-2.0 according to our 
> flaky dashboard.
> {code}
> java.lang.AssertionError
>   at 
> org.apache.hadoop.hbase.rsgroup.TestEnableRSGroup.testEnableRSGroup(TestEnableRSGroup.java:80)
> {code}
> TestEnableRSGroup:80:
> {code:java}
> // check if master started successfully
> assertTrue(TEST_UTIL.getMiniHBaseCluster().getMaster() != null);
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20470) [2.0.0RC1] has broken unit tests...

2018-04-22 Thread stack (JIRA)

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

stack updated HBASE-20470:
--
Resolution: Fixed
  Assignee: stack
Status: Resolved  (was: Patch Available)

Pushed to branch-2.0+ after fixing checkstyle.

> [2.0.0RC1] has broken unit tests... 
> 
>
> Key: HBASE-20470
> URL: https://issues.apache.org/jira/browse/HBASE-20470
> Project: HBase
>  Issue Type: Bug
>Reporter: stack
>Assignee: stack
>Priority: Major
> Attachments: HBASE-20470.branch-2.0.001.patch, 
> HBASE-20470.branch-2.0.002.patch, HBASE-20470.branch-2.0.003.patch, 
> HBASE-20470.branch-2.0.003.patch
>
>
> Found by [~uagashe] I think its because some depend on IMC and it was 
> disabled just before I made RC1. Let me try a nothing change and see.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-19746:


{quote}I do not understand your comments about API compatibility. What exactly 
do you mean here?
{quote}
You can compile your code without any changing after updating the hbase version 
from 1.x to 2.0. It means you can change the version of hbase dependencies and 
then still succeed to build the project. 
{quote}It's a major version so we are allowed to break API. We do this either 
in 2.0 by _not_ adding a default or in 3.0 by adding the _default_ method and 
removing it later. So for me that's not an argument.
{quote}
Pardon me. I just catch your point. :(  So you prefer to remove the default 
impl (The API is break here) to enforce user to implement the #getType in 2.0 
rather than delaying the break to 3.0? If so, I'm fine to revert this patch.
{quote}It's getting late here so I'll wait until the US wakes up on Monday and 
will see if anyone else has an opinion. If no one jumps in I'll ping the dev 
list.
{quote}
:)

 

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Lars Francke (JIRA)

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

Lars Francke commented on HBASE-19746:
--

Ha, I thought we had it but apparently not :)

I do not understand your comments about API compatibility. What exactly do you 
mean here? It's a major version so we are allowed to break API. We do this 
either in 2.0 by _not_ adding a default or in 3.0 by adding the _default_ 
method and removing it later. So for me that's not an argument.

I think we just disagree on how to proceed?

It's getting late here so I'll wait until the US wakes up on Monday and will 
see if anyone else has an opinion. If no one jumps in I'll ping the dev list.

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-19746:


{quote}I'm advocating removing the default implementation of getType for 2.0. 
Basically reverting this patch and instead implementing getType in all the Cell 
implementations.
{quote}
As you mentioned, it's probably already too late for that. Also, I'm not sure 
whether breaking the API compatibility for inheritance is right. 
{quote}That said: If I understand this correctly then all we're disagreeing on 
is whether we want to break BC from 1 -> 2 or from 2 ->3. In my opinion it 
should be sooner rather than later and if I understand you correctly you'd 
rather do it later and leave the default implementation in there.
{quote}
I prefer to remove the default impl in 3.0 because removing it in 2.0 breaks 
not only BC but also API compatibility. Breaking the BC in major version is 
acceptable. Breaking API compatibility make user fail to compile their code 
without any changes after updating hbase from 1.x to 2.0.
{quote}My reasoning for doing it sooner rather than later is that we have no 
way to add a compile-time warning that warns of the impeding removal of the 
default implementation. To be honest I have no idea how to proceed.

What we do agree on is that the Javadoc for getType needs to be clarified, 
right?
{quote}
You're absolutely right.
{quote}Actually I thought of one thing: We could add @deprecated to getType() 
with an explanation. It's a bit ambiguous but it would warn users at least. And 
then in 3.0 remove the default implementation along with the @deprecated tag.
{quote}
This workaround is ok to me if we can add clear comment to getType()

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Lars Francke (JIRA)

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

Lars Francke edited comment on HBASE-19746 at 4/22/18 2:27 PM:
---

Actually I thought of one thing: We could add @deprecated to getType() with an 
explanation. It's a bit ambiguous but it would warn users at least. And then in 
3.0 remove the default implementation along with the @deprecated tag.


was (Author: lars_francke):
Actually I thought of one thing: We could add @deprecated to getType() with an 
explanation. It's a bit ambiguous but it would warn users at least.

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Lars Francke (JIRA)

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

Lars Francke commented on HBASE-19746:
--

Actually I thought of one thing: We could add @deprecated to getType() with an 
explanation. It's a bit ambiguous but it would warn users at least.

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Lars Francke (JIRA)

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

Lars Francke commented on HBASE-19746:
--

Sorry, I didn't make myself clear.

I'm not advocating removing getTypeByte for 2.0, this one can go in 3.0. We're 
both agreeing on that one :)

I'm advocating removing the default implementation of getType for 2.0. 
Basically reverting this patch and instead implementing getType in all the Cell 
implementations.

I know this is anecdotal (just like yours I assume?) but I haven't seen a 
single customer who's implemented their own version of Cell but I agree with 
your reasoning.

That said: If I understand this correctly then all we're disagreeing on is 
whether we want to break BC from 1 -> 2 or from 2 ->3. In my opinion it should 
be sooner rather than later and if I understand you correctly you'd rather do 
it later and leave the default implementation in there.

My reasoning for doing it sooner rather than later is that we have no way to 
add a compile-time warning that warns of the impeding removal of the default 
implementation. To be honest I have no idea how to proceed.

What we do agree on is that the Javadoc for getType needs to be clarified, 
right?

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-19746:


{quote}I'd even be happy to try and provide a patch to remove it for 2.0 but 
it's probably already too late for that?
{quote}
This is what I tried to do...Unfortunately, we encouraged user to write their 
Cell impl for a long time since all of Put, Delete, Increment and Append have 
the method - add(Cell). Hence, many users who had built custom Cell will be 
hurt if we remove the #getTypeByte from Cell in 2.0. For example, our 
application have 1x Cell impl so the compile error burst my build when I just 
updated the hbase version from 1.x to 2.0-snapshot. By contrast, we don't 
encourage user to build their custom Table so adding a new stuff to Table is 
ok. The inheritance to Cell is a ambiguous stuff against our compatibility 
rule. That is why I raised HBASE-18519 to add the cell builder to prevent user 
from writing custom Cell impl, and the purpose of HBASE-19535 is to write the 
new compatibility rule...

The deprecated cycle applied to Cell is weird I think. However, it approve us 
to remove the #getTypeByte in 3.0 and this behavior doesn't break our rule 
totally...

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20470) [2.0.0RC1] has broken unit tests...

2018-04-22 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-20470:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
20s{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 1 new or modified test 
files. {color} |
|| || || || {color:brown} branch-2.0 Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  3m 
21s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
30s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
58s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  3m 
35s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
49s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
26s{color} | {color:green} branch-2.0 passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  3m 
 9s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
30s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m 
30s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red}  0m 
56s{color} | {color:red} hbase-server: The patch generated 1 new + 26 unchanged 
- 0 fixed = 27 total (was 26) {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}  3m 
37s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green}  
9m 58s{color} | {color:green} Patch does not cause any errors with Hadoop 2.6.5 
2.7.4 or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
59s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
26s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}150m  
6s{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
20s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}184m 28s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:369877d |
| JIRA Issue | HBASE-20470 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12920196/HBASE-20470.branch-2.0.003.patch
 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  shadedjars  
hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux 7acc6b1c547e 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 
12:16:42 UTC 2017 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | branch-2.0 / 9d0a2e850e |
| maven | version: Apache Maven 3.5.3 
(3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) |
| Default Java | 1.8.0_162 |
| findbugs | v3.1.0-RC3 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-HBASE-Build/12592/artifact/patchprocess/diff-checkstyle-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/12592/testReport/ |
| Max. process+thread count | 4093 (vs. ulimit of 1) |
| modules | C: hbase-server U: hbase-server |
| 

[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Lars Francke (JIRA)

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

Lars Francke commented on HBASE-19746:
--

Thanks for helping clarify. In that case my -0 stands. In Table for example we 
also added stuff (checkAndMutate) without adding a default.

I'd even be happy to try and provide a patch to remove it for 2.0 but it's 
probably already too late for that?

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20470) [2.0.0RC1] has broken unit tests...

2018-04-22 Thread stack (JIRA)

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

stack commented on HBASE-20470:
---

Retry. TestReplicationKillSlaveRS.xml.[failed-to-read] flakey.

> [2.0.0RC1] has broken unit tests... 
> 
>
> Key: HBASE-20470
> URL: https://issues.apache.org/jira/browse/HBASE-20470
> Project: HBase
>  Issue Type: Bug
>Reporter: stack
>Priority: Major
> Attachments: HBASE-20470.branch-2.0.001.patch, 
> HBASE-20470.branch-2.0.002.patch, HBASE-20470.branch-2.0.003.patch, 
> HBASE-20470.branch-2.0.003.patch
>
>
> Found by [~uagashe] I think its because some depend on IMC and it was 
> disabled just before I made RC1. Let me try a nothing change and see.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20470) [2.0.0RC1] has broken unit tests...

2018-04-22 Thread stack (JIRA)

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

stack updated HBASE-20470:
--
Attachment: HBASE-20470.branch-2.0.003.patch

> [2.0.0RC1] has broken unit tests... 
> 
>
> Key: HBASE-20470
> URL: https://issues.apache.org/jira/browse/HBASE-20470
> Project: HBase
>  Issue Type: Bug
>Reporter: stack
>Priority: Major
> Attachments: HBASE-20470.branch-2.0.001.patch, 
> HBASE-20470.branch-2.0.002.patch, HBASE-20470.branch-2.0.003.patch, 
> HBASE-20470.branch-2.0.003.patch
>
>
> Found by [~uagashe] I think its because some depend on IMC and it was 
> disabled just before I made RC1. Let me try a nothing change and see.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20459) Majority of scan CPU time in HBase-1 spent in size estimation

2018-04-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20459:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/208//General_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-2.0/208//JDK8_Nightly_Build_Report_(Hadoop2)/]


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


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


> Majority of scan CPU time in HBase-1 spent in size estimation
> -
>
> Key: HBASE-20459
> URL: https://issues.apache.org/jira/browse/HBASE-20459
> Project: HBase
>  Issue Type: Improvement
>  Components: Performance, scan
>Affects Versions: 1.4.3
>Reporter: Lars Hofhansl
>Assignee: Lars Hofhansl
>Priority: Critical
> Fix For: 1.5.0, 1.4.4, 2.0.1
>
> Attachments: 20459-v2.txt, 20459.2.0.txt, 20459.txt, 
> HBASE-20459.branch-2.0.001.patch, Screenshot_20180419_162559.png
>
>
> See attached screenshot. Will look into a fix later.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20459) Majority of scan CPU time in HBase-1 spent in size estimation

2018-04-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20459:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/645//General_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-2/645//JDK8_Nightly_Build_Report_(Hadoop2)/]


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


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


> Majority of scan CPU time in HBase-1 spent in size estimation
> -
>
> Key: HBASE-20459
> URL: https://issues.apache.org/jira/browse/HBASE-20459
> Project: HBase
>  Issue Type: Improvement
>  Components: Performance, scan
>Affects Versions: 1.4.3
>Reporter: Lars Hofhansl
>Assignee: Lars Hofhansl
>Priority: Critical
> Fix For: 1.5.0, 1.4.4, 2.0.1
>
> Attachments: 20459-v2.txt, 20459.2.0.txt, 20459.txt, 
> HBASE-20459.branch-2.0.001.patch, Screenshot_20180419_162559.png
>
>
> See attached screenshot. Will look into a fix later.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-19746:


{quote}In 3.0 we need to remove the default implementation, right? Because we 
can't get to getTypeByte anymore which we need for the implementation.
{quote}
Yep.
{quote}So we'll break BC in 3.0 for two different reasons.
{quote}
You are right.
{quote}I still don't like it but that is also not documented anywhere. Either 
we undeprecate getTypeByte or we need to mark getType as deprecated somehow 
because it will effectively change in 3.0.
{quote}
Agreed. Perhaps we should file a Jira to doc how to update from 1.x to 2.0? 
IIRC, there are some issues but I'm not sure whether the Cell changes are 
included.
{quote}You're saying that you suggested the user to implement getType but 
that's not the case as far as I can tell. There's no such suggestion. And 
unlike a "@deprecation" tag we cannot really enforce such a thing at compile 
time.
{quote}
You are right again. Are there any better way to reduce the pain of removing 
methods from Public class?
{quote}What are we gaining by including the default implementation?
{quote}
API compatibility? IIRC, recompiling should work when updating to next major 
release.
{quote}The alternative is to implement it in all our implementing classes in 
2.0 (which we'll otherwise have to do in 3.0), right?
{quote}
Yep. But it will introduce many duplicate code.
{quote}The BC issue doesn't really matter as we'll have to do it anyway, 
whether we do it in 2.0 or 3.0 doesn't really make a difference, no?
{quote}
Ya... the cell impl user must update their code for either 2.0 or 3.0 since we 
will do remove a method from Cell in 3.0. The API compatibility will break in 
3.0 but it is valid since we have deprecated the getTypeByte...ya, it is a 
unfriendly way...

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Lars Francke (JIRA)

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

Lars Francke commented on HBASE-19746:
--

Thanks. Understood.

That brings me back to the original question though.
In 3.0 we need to remove the default implementation, right? Because we can't 
get to getTypeByte anymore which we need for the implementation.

So we'll break BC in 3.0 for two different reasons. I still don't like it but 
that is also not documented anywhere. Either we undeprecate getTypeByte or we 
need to mark getType as deprecated somehow because it will effectively change 
in 3.0.

You're saying that you suggested the user to implement getType but that's not 
the case as far as I can tell. There's no such suggestion. And unlike a 
"@deprecation" tag we cannot really enforce such a thing at compile time.

What are we gaining by including the default implementation? The alternative is 
to implement it in all our implementing classes in 2.0 (which we'll otherwise 
have to do in 3.0), right? The BC issue doesn't really matter as we'll have to 
do it anyway, whether we do it in 2.0 or 3.0 doesn't really make a difference, 
no?

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai edited comment on HBASE-19746 at 4/22/18 8:25 AM:
-

{quote}In that case we'd need to deprecate `Cell#getType()` in 2.0 but that has 
not happened. It's not marked as deprecated. If that's the intention I can 
provide a patch to do so hoping [~stack] can still include it in 2.0.
{quote}
My bad. It is typo. The method should be removed in 3.0 is Cell#getTypeByte.
{quote}So we remove both #getTypeByte and #getType in 3.0?
{quote}
Only Cell#getTypeByte will be removed in 3.0


was (Author: chia7712):
{quote}In that case we'd need to deprecate `Cell#getType()` in 2.0 but that has 
not happened. It's not marked as deprecated. If that's the intention I can 
provide a patch to do so hoping [~stack] can still include it in 2.0.
{quote}
My bad. It is typo. The method should be removed in 3.0 is Cell#getTypeByte.

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai edited comment on HBASE-19746 at 4/22/18 8:25 AM:
-

hi [~lars_francke] Thanks for the nice question.
{quote}So for 3.0 we remove the default implementation again?
{quote}
Not really. The API which will be removed in 3.0 is -Cell#getType- (typo...It 
should be Cell#getTypeByte). We have deprecated the Cell#getTypeByte and 
suggested user to implement the Cell#getType also in 2.0. Hence, we can remove 
Cell#getTypeByte in 3.0.
{quote}And you do this to not break API compatibility between 1.x and 2.x?
{quote}
Yep. this issue is to keep the bc of Public class (Cell).
{quote}As far as I understand the compatibility rules in the book (which I 
still have on my todo list to clarify) we don't guarantee any compatibility 
between Major releases. 
{quote}
IIRC, our rules to Public class is we must deprecate the API in a whole major 
release before we really remove them in next major release.  Also, we should 
introduce the replacement for deprecated APIs.
{quote}Otherwise how would we ever add new methods to interfaces for which we 
cannot provide a default implementation?
{quote}
Ya, we have discussed this issue before - how we keep the bc for the 
inheritance. see HBASE-19535. If we can introduce an annotation to say the bc 
of inheritance to specified Public class isn't guaranteed, our life will be 
more easier.  BTW, the BC is fine if the impl is from hbase.
{quote}If this is the case I'm -0 to include this. Doesn't this just shift the 
problem to the next version? 
{quote}
Not really. We create a room to remove the Cell#getType in 3.0.
{quote} There's nothing notifying implementors of the Cell interface of this 
new default method (unlike with @deprecated things)
{quote}
I expect that hbase user should check the doc of deprecated API to find out the 
replacement. The comment is shown below.
{code:java}
/**
 * @return The byte representation of the KeyValue.TYPE of this cell: one of 
Put, Delete, etc
 * @deprecated As of HBase-2.0. Will be removed in HBase-3.0. Use {@link 
#getType()}.
 */{code}
Of course, it would be better to have a more readable way to reminder user to 
use new APIs.
{quote}There's also nothing in the release notes and the Javadoc for getType 
also doesn't notify users about what's going to happen.
{quote}
You are right.  We make a considerable change to Cell APIs (RawCell, 
ExtendedCell, CelBuilder, and so on) but no fat docs are added. I can file a 
Jira to write the use case to hbase doc for the new usage of Cell.


was (Author: chia7712):
hi [~lars_francke] Thanks for the nice question.
{quote}So for 3.0 we remove the default implementation again?
{quote}
Not really. The API which will be removed in 3.0 is Cell#getType. We have 
deprecated the Cell#getTypeByte and suggested user to implement the 
Cell#getType also in 2.0. Hence, we can remove Cell#getTypeByte in 3.0.
{quote}And you do this to not break API compatibility between 1.x and 2.x?
{quote}
Yep. this issue is to keep the bc of Public class (Cell).
{quote}As far as I understand the compatibility rules in the book (which I 
still have on my todo list to clarify) we don't guarantee any compatibility 
between Major releases. 
{quote}
IIRC, our rules to Public class is we must deprecate the API in a whole major 
release before we really remove them in next major release.  Also, we should 
introduce the replacement for deprecated APIs.
{quote}Otherwise how would we ever add new methods to interfaces for which we 
cannot provide a default implementation?
{quote}
Ya, we have discussed this issue before - how we keep the bc for the 
inheritance. see HBASE-19535. If we can introduce an annotation to say the bc 
of inheritance to specified Public class isn't guaranteed, our life will be 
more easier.  BTW, the BC is fine if the impl is from hbase.
{quote}If this is the case I'm -0 to include this. Doesn't this just shift the 
problem to the next version? 
{quote}
Not really. We create a room to remove the Cell#getType in 3.0.
{quote} There's nothing notifying implementors of the Cell interface of this 
new default method (unlike with @deprecated things)
{quote}
I expect that hbase user should check the doc of deprecated API to find out the 
replacement. The comment is shown below.
{code:java}
/**
 * @return The byte representation of the KeyValue.TYPE of this cell: one of 
Put, Delete, etc
 * @deprecated As of HBase-2.0. Will be removed in HBase-3.0. Use {@link 
#getType()}.
 */{code}
Of course, it would be better to have a more readable way to reminder user to 
use new APIs.
{quote}There's also nothing in the release notes and the Javadoc for getType 
also doesn't notify users about what's going to happen.
{quote}
You are right.  We make a considerable change to Cell APIs (RawCell, 
ExtendedCell, 

[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-19746:


{quote}In that case we'd need to deprecate `Cell#getType()` in 2.0 but that has 
not happened. It's not marked as deprecated. If that's the intention I can 
provide a patch to do so hoping [~stack] can still include it in 2.0.
{quote}
My bad. It is typo. The method should be removed in 3.0 is Cell#getTypeByte.

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Lars Francke (JIRA)

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

Lars Francke commented on HBASE-19746:
--

Thanks for the quick reply. Unfortunately I still don't get it.

{quote}Not really. The API which will be removed in 3.0 is Cell#getType. We 
have deprecated the Cell#getTypeByte and suggested user to implement the 
Cell#getType also in 2.0. Hence, we can remove Cell#getTypeByte in 3.0.{quote}

A few things:
In that case we'd need to deprecate `Cell#getType()` in 2.0 but that has not 
happened. It's not marked as deprecated. If that's the intention I can provide 
a patch to do so hoping [~stack] can still include it in 2.0.

So we remove both #getTypeByte and #getType in 3.0?

And I don't see a suggestion to implement getType anywhere tbh.

{quote}Yep. this issue is to keep the bc of Public class (Cell).{quote}

But we _won't_ keep it, no? With your plan we'll break BC with 3.0 anyway?

{quote}IIRC, our rules to Public class is we must deprecate the API in a whole 
major release before we really remove them in next major release.  Also, we 
should introduce the replacement for deprecated APIs.{quote}

We discussed this at length last time I did a round of deprecation removals 
(see HBASE-13462 and ) and we found out that the rules are ambiguous and that 
everyone reads them differently. So we have both options.

{quote}I expect that hbase user should check the doc of deprecated API to find 
out the replacement. The comment is shown below.{quote}

True! For getCellByte there's a deprecation tag but there's nothing in there 
noting that the default implementation - or indeed the whole method - of 
getType will go away.

Reading all of this I'm still at -0 on this. If I read you correctly the 
_least_ we need to do is add a @deprecated tag to getType and an explanatory 
note. But to be honest...why remove one method in favor of another just to 
immediately deprecate that other method. I don't see how breaking BC in 3.0 for 
a single method (removal of getTypeByte) is better than for two (getTypeByte + 
getType), granted it's also not much worth but if we're going to take it away 
anyway I'd rather not expose a new method that people then might rely on.

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20312) CCSMap: A faster, GC-friendly, less memory Concurrent Map for memstore

2018-04-22 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-20312:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
19s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color: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 21 new or modified test 
files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
21s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
 9s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
58s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
31s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
14s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
19s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
43s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
14s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
10s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
56s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m 
56s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
22s{color} | {color:green} The patch hbase-common passed checkstyle {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
10s{color} | {color:green} hbase-server: The patch generated 0 new + 470 
unchanged - 2 fixed = 470 total (was 472) {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 
18s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
13m  2s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.5 2.7.4 or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
32s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
44s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}  2m 
26s{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red}162m 30s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
39s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}210m 29s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.client.TestFromClientSide3 |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f |
| JIRA Issue | HBASE-20312 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12920186/HBASE-20312-master.v9.patch
 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  shadedjars  
hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux 07f81b3d617b 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 
12:16:42 UTC 2017 x86_64 GNU/Linux |
| Build tool | 

[jira] [Commented] (HBASE-19746) Add default impl to Cell#getType

2018-04-22 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai commented on HBASE-19746:


hi [~lars_francke] Thanks for the nice question.
{quote}So for 3.0 we remove the default implementation again?
{quote}
Not really. The API which will be removed in 3.0 is Cell#getType. We have 
deprecated the Cell#getTypeByte and suggested user to implement the 
Cell#getType also in 2.0. Hence, we can remove Cell#getTypeByte in 3.0.
{quote}And you do this to not break API compatibility between 1.x and 2.x?
{quote}
Yep. this issue is to keep the bc of Public class (Cell).
{quote}As far as I understand the compatibility rules in the book (which I 
still have on my todo list to clarify) we don't guarantee any compatibility 
between Major releases. 
{quote}
IIRC, our rules to Public class is we must deprecate the API in a whole major 
release before we really remove them in next major release.  Also, we should 
introduce the replacement for deprecated APIs.
{quote}Otherwise how would we ever add new methods to interfaces for which we 
cannot provide a default implementation?
{quote}
Ya, we have discussed this issue before - how we keep the bc for the 
inheritance. see HBASE-19535. If we can introduce an annotation to say the bc 
of inheritance to specified Public class isn't guaranteed, our life will be 
more easier.  BTW, the BC is fine if the impl is from hbase.
{quote}If this is the case I'm -0 to include this. Doesn't this just shift the 
problem to the next version? 
{quote}
Not really. We create a room to remove the Cell#getType in 3.0.
{quote} There's nothing notifying implementors of the Cell interface of this 
new default method (unlike with @deprecated things)
{quote}
I expect that hbase user should check the doc of deprecated API to find out the 
replacement. The comment is shown below.
{code:java}
/**
 * @return The byte representation of the KeyValue.TYPE of this cell: one of 
Put, Delete, etc
 * @deprecated As of HBase-2.0. Will be removed in HBase-3.0. Use {@link 
#getType()}.
 */{code}
Of course, it would be better to have a more readable way to reminder user to 
use new APIs.
{quote}There's also nothing in the release notes and the Javadoc for getType 
also doesn't notify users about what's going to happen.
{quote}
You are right.  We make a considerable change to Cell APIs (RawCell, 
ExtendedCell, CelBuilder, and so on) but no fat docs are added. I can file a 
Jira to write the use case to hbase doc for the new usage of Cell.

> Add default impl to Cell#getType
> 
>
> Key: HBASE-19746
> URL: https://issues.apache.org/jira/browse/HBASE-19746
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-19746.v0.patch, HBASE-19746.v1.patch, 
> HBASE-19746.v1.qa.patch
>
>
> Noticed this issue when migrating the app to branch-2.
> {{Cell}} is IA.Public so it should obey our compatibility rules. Not sure 
> whether any related discussion had be in HBASE-19112. It worthwhile, however, 
> to raise this issue again.
> FYI [~anoopsamjohn] [~ram_krish] [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20335) nightly jobs no longer contain machine information

2018-04-22 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20335:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-20335/12//General_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/HBASE-20335/12//JDK8_Nightly_Build_Report_(Hadoop2)/]


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


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


> nightly jobs no longer contain machine information
> --
>
> Key: HBASE-20335
> URL: https://issues.apache.org/jira/browse/HBASE-20335
> Project: HBase
>  Issue Type: Bug
>  Components: test
>Reporter: Sean Busbey
>Assignee: Sean Busbey
>Priority: Critical
> Fix For: 3.0.0, 2.1.0, 1.5.0, 1.2.7, 1.3.3, 1.4.4, 2.0.1
>
> Attachments: HBASE-20335.0.patch, HBASE-20335.1.patch
>
>
> something is up with nightly jobs. they no longer have the machine 
> information from HBASE-19228.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20470) [2.0.0RC1] has broken unit tests...

2018-04-22 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-20470:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
18s{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 1 new or modified test 
files. {color} |
|| || || || {color:brown} branch-2.0 Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
25s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  2m  
6s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
22s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
42s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
30s{color} | {color:green} branch-2.0 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
37s{color} | {color:green} branch-2.0 passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
 2s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
59s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m 
59s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red}  1m 
13s{color} | {color:red} hbase-server: The patch generated 1 new + 26 unchanged 
- 0 fixed = 27 total (was 26) {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 
43s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
13m  7s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.5 2.7.4 or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  2m 
30s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
35s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}120m 35s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
19s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}165m 34s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:369877d |
| JIRA Issue | HBASE-20470 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12920185/HBASE-20470.branch-2.0.003.patch
 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  shadedjars  
hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux b1a5cf64beee 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 
14:43:09 UTC 2018 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | branch-2.0 / 9d0a2e850e |
| maven | version: Apache Maven 3.5.3 
(3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) |
| Default Java | 1.8.0_162 |
| findbugs | v3.1.0-RC3 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-HBASE-Build/12590/artifact/patchprocess/diff-checkstyle-hbase-server.txt
 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/12590/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 

[jira] [Commented] (HBASE-17958) Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP

2018-04-22 Thread Vikas Vishwakarma (JIRA)

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

Vikas Vishwakarma commented on HBASE-17958:
---

sure [~lhofhansl] [~Apache9] I will look into it. let's see if this helps 
narrow down the issue, then we can try the suggested solutions.

> Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP
> 
>
> Key: HBASE-17958
> URL: https://issues.apache.org/jira/browse/HBASE-17958
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 1.4.0, 2.0.0
>
> Attachments: 0001-add-one-ut-testWithColumnCountGetFilter.patch, 
> 17958-add.txt, HBASE-17958-branch-1.patch, HBASE-17958-branch-1.patch, 
> HBASE-17958-branch-1.patch, HBASE-17958-branch-1.patch, HBASE-17958-v1.patch, 
> HBASE-17958-v2.patch, HBASE-17958-v3.patch, HBASE-17958-v4.patch, 
> HBASE-17958-v5.patch, HBASE-17958-v6.patch, HBASE-17958-v7.patch, 
> HBASE-17958-v7.patch
>
>
> {code}
> ScanQueryMatcher.MatchCode qcode = matcher.match(cell);
> qcode = optimize(qcode, cell);
> {code}
> The optimize method may change the MatchCode from SEEK_NEXT_COL/SEEK_NEXT_ROW 
> to SKIP. But it still pass the next cell to ScanQueryMatcher. It will get 
> wrong result when use some filter, etc. ColumnCountGetFilter. It just count 
> the  columns's number. If pass a same column to this filter, the count result 
> will be wrong. So we should avoid passing cell to ScanQueryMatcher when 
> optimize SEEK to SKIP.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)