[jira] [Created] (HBASE-17815) Remove the unused field in PrefixTreeSeeker

2017-03-21 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17815:
--

 Summary: Remove the unused field in PrefixTreeSeeker
 Key: HBASE-17815
 URL: https://issues.apache.org/jira/browse/HBASE-17815
 Project: HBase
  Issue Type: Improvement
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Trivial


The "block" is never used due to HBASE-12298. We should remove it to stop the 
noise from FindBugs. (see HBASE-17664 and HBASE-17809)



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


[jira] [Created] (HBASE-17836) CellUtil#estimatedSerializedSizeOf is slow when input is ByteBufferCell

2017-03-25 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17836:
--

 Summary: CellUtil#estimatedSerializedSizeOf is slow when input is 
ByteBufferCell
 Key: HBASE-17836
 URL: https://issues.apache.org/jira/browse/HBASE-17836
 Project: HBase
  Issue Type: Improvement
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
Priority: Minor
 Fix For: 2.0.0


We call CellUtil#estimatedSerializedSize to calculate the size of rows when 
scanning. If the input is ByteBufferCell, the 
CellUtil#estimatedSerializedSizeOf parses many length components to get the 
qualifierLength stored in the backing buffer.
We should consider using the KeyValueUtil#getSerializedSize.




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


[jira] [Created] (HBASE-17859) ByteBufferUtils#compareTo is wrong

2017-03-31 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17859:
--

 Summary: ByteBufferUtils#compareTo is wrong
 Key: HBASE-17859
 URL: https://issues.apache.org/jira/browse/HBASE-17859
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 2.0.0


buf2.get( i ) & 0xFF; -> buf2.get(j) & 0xFF;
{noformat}
  public static int compareTo(byte [] buf1, int o1, int l1, ByteBuffer buf2, 
int o2, int l2) {
   // 
int end1 = o1 + l1;
int end2 = o2 + l2;
for (int i = o1, j = o2; i < end1 && j < end2; i++, j++) {
  int a = buf1[i] & 0xFF;
  int b = buf2.get(i) & 0xFF;
  if (a != b) {
return a - b;
  }
}
return l1 - l2;
  }
{noformat}



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


[jira] [Created] (HBASE-17821) The CompoundConfiguration#toString is wrong

2017-03-22 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17821:
--

 Summary: The CompoundConfiguration#toString is wrong
 Key: HBASE-17821
 URL: https://issues.apache.org/jira/browse/HBASE-17821
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Priority: Trivial


Find this bug when reading code. We dont use the API, so it is a trivial bug.
sb.append(this.configs); -> sb.append(m);
{noformat}
  @Override
  public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("CompoundConfiguration: " + this.configs.size() + " configs");
for (ImmutableConfigMap m : this.configs) {
  sb.append(this.configs);
}
return sb.toString();
  }
{noformat}



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


[jira] [Created] (HBASE-17803) PE always re-creates table when we specify the split policy

2017-03-17 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17803:
--

 Summary: PE always re-creates table when we specify the split 
policy
 Key: HBASE-17803
 URL: https://issues.apache.org/jira/browse/HBASE-17803
 Project: HBase
  Issue Type: Bug
Affects Versions: 2.0.0, 1.4.0
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Minor
 Fix For: 2.0.0, 1.4.0


I find this bug when i run the tests for HBASE-17623
The critical code is shown below.

{noformat}
if ((exists && opts.presplitRegions != DEFAULT_OPTS.presplitRegions)
  || (!isReadCmd && desc != null && desc.getRegionSplitPolicyClassName() != 
opts.splitPolicy)
  || (!isReadCmd && desc != null && desc.getRegionReplication() != 
opts.replicas)) {
{noformat}



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


[jira] [Created] (HBASE-17805) We should remove BoundedByteBufferPool because it is replaced by ByteBufferPool

2017-03-19 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17805:
--

 Summary: We should remove BoundedByteBufferPool because it is 
replaced by ByteBufferPool
 Key: HBASE-17805
 URL: https://issues.apache.org/jira/browse/HBASE-17805
 Project: HBase
  Issue Type: Sub-task
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
Priority: Minor
 Fix For: 2.0.0


Follow the discussion in HBASE-15525.





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


[jira] [Created] (HBASE-17809) cleanup unused class

2017-03-20 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17809:
--

 Summary: cleanup unused class
 Key: HBASE-17809
 URL: https://issues.apache.org/jira/browse/HBASE-17809
 Project: HBase
  Issue Type: Sub-task
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 2.0.0


inspired by HBASE-17805. We had left a lot of orphan class due to a bunch of 
commits. We shall remove them.

||class||last meeting||why||line count|
|LruHashMap|HBASE-1822|get rid of|1100|
|ScannerTimeoutException|HBASE-16266|get rid of|45|
|SortedCopyOnWriteSet|HBASE-12748|get rid of|178|
|TestSortedCopyOnWriteSet|HBASE-12748|get rid of|107|
|DelegatingRetryingCallable|HBASE-9049|create but never used|65|
|LockTimeoutException|HBASE-16786|get rid of|44|
|OperationConflictException|HBASE-9899|get rid of|50|
|InvalidQuotaSettingsException|HBASE-11598|create but never used|33|
|ShareableMemory|HBASE-15735|get rid of|40|
|BoundedArrayQueue|HBASE-14860|get rid of|82|
|TestBoundedArrayQueue|HBASE-14860|get rid of|61|
|ChecksumFactory|HBASE-11927|get rid of|100|
|TokenDepthComparator|HBASE-4676|create but never used|65|
|RegionMergeTransaction|HBASE-17470|get rid of|249|
|MetaUtils|HBASE-1822|get rid of|156|



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


[jira] [Reopened] (HBASE-17758) [RSGROUP] Add shell command to move servers and tables at the same time

2017-03-17 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai reopened HBASE-17758:


move_servers_tables_rsgroup.rb disappeared
[~apurtell] Would you please check it? Thanks.

> [RSGROUP] Add shell command to move servers and tables at the same time
> ---
>
> Key: HBASE-17758
> URL: https://issues.apache.org/jira/browse/HBASE-17758
> Project: HBase
>  Issue Type: New Feature
>  Components: rsgroup
>Affects Versions: 2.0.0
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17758-v1.patch, HBASE-17758-v2.patch, 
> HBASE-17758-v3.patch, HBASE-17758-v4.patch, HBASE-17758-v5.patch
>
>
> Currently add a new group perform the following steps:
> {code:javascript}
> hbase(main):001:0> add_rsgroup 'mygroup'
> Took 0.3840 seconds
> hbase(main):002:0> move_servers_rsgroup 
> 'mygroup',['hbase-rs-01:16030','hbase-rs-02:16030']
> Took 3.5040 seconds
> hbase(main):003:0> move_tables_rsgroup 'mygroup',['example']
> Took 0.2710 seconds
> {code}
> 1. move_servers_rsgroup will unassign all regions on hbase-rs-01 and 
> hbase-rs-02
> 2. move_tables_rsgroup will also reassign all the regions of the table 
> example.
> This will lead to a large number of regions to migrate and affect the data 
> locality.
> However, some regions of the table that are distributed on hbase-rs-01 and 
> hbase-rs-02, do not need to be moved.
> So,we need a new shell command *move_servers_tables_rsgroup* which minimizes 
> the number of regions needed to move.



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


[jira] [Created] (HBASE-17896) The FIXED_OVERHEAD of Segment is incorrect

2017-04-09 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17896:
--

 Summary: The FIXED_OVERHEAD of Segment is incorrect
 Key: HBASE-17896
 URL: https://issues.apache.org/jira/browse/HBASE-17896
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Minor


{noformat}
5 * ClassSize.REFERENCE // cellSet, comparator, memStoreLAB, size, 
timeRangeTracker
{noformat}

In fact, the Segment has 6 references.
# cellSet
# comparator
# memStoreLAB
# dataSize
# heapSize
# timeRangeTracker



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


[jira] [Created] (HBASE-17895) TestAsyncProcess#testAction fails if unsafe support is false

2017-04-09 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17895:
--

 Summary: TestAsyncProcess#testAction fails if unsafe support is 
false
 Key: HBASE-17895
 URL: https://issues.apache.org/jira/browse/HBASE-17895
 Project: HBase
  Issue Type: Sub-task
  Components: test
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 2.0.0


{noformat}
assertEquals(-1, action_0.compareTo(action_1));
assertEquals(1, action_1.compareTo(action_0));
{noformat}

The correction is shown below.

{noformat}
assertTrue(action_0.compareTo(action_1) < 0);
assertTrue(action_1.compareTo(action_0) > 0);
{noformat}



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


[jira] [Resolved] (HBASE-7292) HTablePool class description javadoc is unclear

2017-04-11 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-7292.
---
Resolution: Won't Fix

HTablePool had been removed in 0.98.1, so this jira should be closed.

> HTablePool class description javadoc is unclear
> ---
>
> Key: HBASE-7292
> URL: https://issues.apache.org/jira/browse/HBASE-7292
> Project: HBase
>  Issue Type: Improvement
>Reporter: Gabriel Reid
>Priority: Minor
> Attachments: HBASE-7292.patch
>
>
> The class description javadoc for HTablePool contains a sentence that makes 
> no sense in the context (it appears to be part of an incorrectly-applied 
> patch from the past). The sentence references the correct way of returning 
> HTables to the pool, but it actually makes it more difficult to understand 
> what the correct way of returning tables to the pool actually is.



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


[jira] [Created] (HBASE-17903) The alias for the link of HBASE-6580 is incorrect

2017-04-11 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17903:
--

 Summary: The alias for the link of HBASE-6580 is incorrect
 Key: HBASE-17903
 URL: https://issues.apache.org/jira/browse/HBASE-17903
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Priority: Trivial


{noformat}
Previous versions of this guide discussed `HTablePool`, which was deprecated in 
HBase 0.94, 0.95, and 0.96, and removed in 0.98.1, by 
link:https://issues.apache.org/jira/browse/HBASE-6580[HBASE-6500], or 
`HConnection`, which is deprecated in HBase 1.0 by `Connection`.
Please use 
link:http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Connection.html[Connection]
 instead.
{noformat}

6500 -> 6580 



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


[jira] [Created] (HBASE-17872) Make ByteBufferUtils thread-safe

2017-04-04 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17872:
--

 Summary: Make ByteBufferUtils thread-safe
 Key: HBASE-17872
 URL: https://issues.apache.org/jira/browse/HBASE-17872
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Critical


A case is shown below.
We will get the wrong position of buffer in multithreaded environment, so the 
method makes the invalid cell in MSLAB.
{noformat}
  public static int copyFromBufferToBuffer(ByteBuffer in, ByteBuffer out, int 
sourceOffset,
  int destinationOffset, int length) {
if (in.hasArray() && out.hasArray()) {
  // ...
} else if (UNSAFE_AVAIL) {
  // ...
} else {
  int outOldPos = out.position();
  out.position(destinationOffset);
  ByteBuffer inDup = in.duplicate();
  inDup.position(sourceOffset).limit(sourceOffset + length);
  out.put(inDup);
  out.position(outOldPos);
}
return destinationOffset + length;
  }
{noformat}



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


[jira] [Resolved] (HBASE-7326) SortedCopyOnWriteSet is not thread safe due to leaked TreeSet implementations

2017-04-01 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-7326.
---
Resolution: Duplicate

> SortedCopyOnWriteSet is not thread safe due to leaked TreeSet implementations
> -
>
> Key: HBASE-7326
> URL: https://issues.apache.org/jira/browse/HBASE-7326
> Project: HBase
>  Issue Type: Bug
>  Components: util
>Reporter: Gary Helmling
> Fix For: 2.0.0
>
>
> The SortedCopyOnWriteSet implementation uses an internal TreeSet that is 
> copied and replaced on mutation operations.  However, in a few areas, 
> SortedCopyOnWriteSet leaks references to the underlying TreeSet 
> implementations, allowing for unsafe usage:
> * iterator()
> * subSet()
> * headSet()
> * tailSet()
> For Iterator.remove(), we can wrap in an implementation that throws 
> UnsupportedOperationException.  For the sub set methods, we could return new 
> SortedCopyOnWriteSet instances (which would not modify the parent set), or 
> wrap with a new sub set implementation that safely allows modification of the 
> parent set.
> To be clear, the current usage of SortedCopyOnWriteSet does not make use of 
> any of these non-thread-safe methods, but the implementation should be fixed 
> to be completely thread safe and prevent any new issues.



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


[jira] [Resolved] (HBASE-8220) can we record the count opened HTable for HTablePool

2017-04-11 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-8220.
---
Resolution: Won't Fix

> can we record the count opened HTable for HTablePool
> 
>
> Key: HBASE-8220
> URL: https://issues.apache.org/jira/browse/HBASE-8220
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Jianwei Cui
> Attachments: 8220-trunk-v1.txt, 8220-trunk-v2.txt, 
> 8220-trunk-v3-reattached.txt, 8220-trunk-v3.txt, 8220-trunk-v4.txt, 
> HBASE-8220-0.94.3.txt, HBASE-8220-0.94.3.txt, HBASE-8220-0.94.3.txt-v2, 
> HBASE-8220-0.94.3-v2.txt, HBASE-8220-0.94.3-v3.txt, HBASE-8220-0.94.3-v4.txt, 
> HBASE-8220-0.94.3-v5.txt
>
>
> In HTablePool, we have a method getCurrentPoolSize(...) to get how many 
> opened HTable has been pooled. However, we don't know ConcurrentOpenedHTable 
> which means the count of HTable get from HTablePool.getTable(...) and don't 
> return to HTablePool by PooledTable.close(). The ConcurrentOpenedHTable may 
> be meaningful because it indicates how many HTables should be opened for the 
> application which may help us set the appropriate MaxSize of HTablePool. 
> Therefore, we can and a ConcurrentOpenedHTable as a counter in HTablePool.



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


[jira] [Resolved] (HBASE-10396) The constructor of HBaseAdmin may close the shared HConnection

2017-04-11 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-10396.

Resolution: Won't Fix

0.94 is EOL. Reopen it if objection on mailing list.

> The constructor of HBaseAdmin may close the shared HConnection 
> ---
>
> Key: HBASE-10396
> URL: https://issues.apache.org/jira/browse/HBASE-10396
> Project: HBase
>  Issue Type: Bug
>  Components: Admin, Client
>Affects Versions: 0.94.16
>Reporter: Jianwei Cui
> Attachments: HBASE-10396-0.94-v1.patch, HBASE-10396-0.94-v2.patch
>
>
> HBaseAdmin has the constructor:
> {code}
>   public HBaseAdmin(Configuration c)
>   throws MasterNotRunningException, ZooKeeperConnectionException {
> this.conf = HBaseConfiguration.create(c);
> this.connection = HConnectionManager.getConnection(this.conf);
> ...
> {code}
> As shown in above code, HBaseAdmin will get a cached HConnection or create a 
> new HConnection and use this HConnection to connect to Master. Then, 
> HBaseAdmin will delete the HConnection when connecting to master fail as 
> follows:
> {code}
> while ( true ){
>   try {
> this.connection.getMaster();
> return;
>   } catch (MasterNotRunningException mnre) {
> HConnectionManager.deleteStaleConnection(this.connection);
> this.connection = HConnectionManager.getConnection(this.conf);
>   }
> {code} 
> The above code will invoke HConnectionManager#deleteStaleConnection to delete 
> the HConnection from global HConnection cache. The risk is that the deleted 
> HConnection might be sharing by other threads, such as HTable or HTablePool. 
> Then, these threads which sharing the deleted HConnection will get closed 
> HConnection exception:
> {code}
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@61bc59aa
>  closed
> {code}
> If users use HTablePool, the situation will become worse because closing 
> HTable will only return HTable to HTablePool which won't reduce the reference 
> count of the closed HConnection. Then, the closed HConnection will always be 
> used before clearing HTablePool. In 0.94, some modules such as Rest server 
> are using HTablePool, therefore may suffer from this problem. 



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


[jira] [Created] (HBASE-17882) Why do the WalEdit implement the Writable interface

2017-04-05 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17882:
--

 Summary: Why do the WalEdit implement the Writable interface
 Key: HBASE-17882
 URL: https://issues.apache.org/jira/browse/HBASE-17882
 Project: HBase
  Issue Type: Brainstorming
Reporter: Chia-Ping Tsai
Priority: Minor


Do we have any use cases? (serialize/deserialize the WalEdit between mapper and 
reducer?) If not, we should make WalEdit not implement the Writable interface.



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


[jira] [Created] (HBASE-17881) Remove the ByteBufferCellImpl

2017-04-05 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17881:
--

 Summary: Remove the ByteBufferCellImpl
 Key: HBASE-17881
 URL: https://issues.apache.org/jira/browse/HBASE-17881
 Project: HBase
  Issue Type: Sub-task
  Components: test
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Minor
 Fix For: 2.0.0


We should substitute ByteBufferKeyValue for ByteBufferCellImpl



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


[jira] [Resolved] (HBASE-17882) Why do the WalEdit implement the Writable interface

2017-04-06 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-17882.

Resolution: Duplicate

> Why do the WalEdit implement the Writable interface
> ---
>
> Key: HBASE-17882
> URL: https://issues.apache.org/jira/browse/HBASE-17882
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Chia-Ping Tsai
>Priority: Minor
>
> Do we have any use cases? (serialize/deserialize the WalEdit between mapper 
> and reducer?) If not, we should make WalEdit not implement the Writable 
> interface.



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


[jira] [Created] (HBASE-17897) StripeStoreFileManager#nonOpenRowCompare use the wrong comparison function.

2017-04-09 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17897:
--

 Summary: StripeStoreFileManager#nonOpenRowCompare use the wrong 
comparison function.
 Key: HBASE-17897
 URL: https://issues.apache.org/jira/browse/HBASE-17897
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai


{noformat}
  private final int nonOpenRowCompare(byte[] k1, byte[] k2) {
assert !isOpen(k1) && !isOpen(k2);
return cellComparator.compareRows(new KeyOnlyKeyValue(k1), k2, 0, 
k2.length);
  }
{noformat}
The inputs aren't KeyValue format, so it is wrong to use KeyOnlyKeyValue to 
parse the row.



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


[jira] [Reopened] (HBASE-17895) TestAsyncProcess#testAction fails if unsafe support is false

2017-04-10 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai reopened HBASE-17895:


After attaching the patch, you should click the "submit patch" to trigger QA

> TestAsyncProcess#testAction fails if unsafe support is false
> 
>
> Key: HBASE-17895
> URL: https://issues.apache.org/jira/browse/HBASE-17895
> Project: HBase
>  Issue Type: Sub-task
>  Components: test
>Reporter: Chia-Ping Tsai
>Assignee: Wen-Hsiu,Chang
>Priority: Trivial
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17895-v0.patch
>
>
> {noformat}
> assertEquals(-1, action_0.compareTo(action_1));
> assertEquals(1, action_1.compareTo(action_0));
> {noformat}
> The correction is shown below.
> {noformat}
> assertTrue(action_0.compareTo(action_1) < 0);
> assertTrue(action_1.compareTo(action_0) > 0);
> {noformat}



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


[jira] [Resolved] (HBASE-17843) JUnit test timed out in TestRegionReplicaFailover.java

2017-04-11 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-17843.

Resolution: Not A Problem

> JUnit test timed out in TestRegionReplicaFailover.java
> --
>
> Key: HBASE-17843
> URL: https://issues.apache.org/jira/browse/HBASE-17843
> Project: HBase
>  Issue Type: Improvement
>Reporter: Qilin Cao
>Priority: Trivial
> Attachments: HBASE-17843-v1.patch
>
>
> Junit test sometimes failed in TestRegionReplicaFailover.java, so I changed 
> the testPrimaryRegionKill method  test timeout  to 24ms, and add sleep 
> 5000ms for verify result. 
> error logs:
> Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 285.221 sec 
> <<< FAILURE! - in 
> org.apache.hadoop.hbase.regionserver.TestRegionReplicaFailover
> testPrimaryRegionKill[0](org.apache.hadoop.hbase.regionserver.TestRegionReplicaFailover)
>   Time elapsed: 125.963 sec  <<< ERROR!
> org.junit.runners.model.TestTimedOutException: test timed out after 12 
> milliseconds
> at java.lang.Object.wait(Native Method)
>   at java.lang.Object.wait(Object.java:460)
>   at java.util.concurrent.TimeUnit.timedWait(TimeUnit.java:348)
>   at 
> org.apache.hadoop.hbase.client.ResultBoundedCompletionService.pollForSpecificCompletedTask(ResultBoundedCompletionService.java:258)
>   at 
> org.apache.hadoop.hbase.client.ResultBoundedCompletionService.pollForFirstSuccessfullyCompletedTask(ResultBoundedCompletionService.java:214)
>   at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.call(RpcRetryingCallerWithReadReplicas.java:209)
>   at org.apache.hadoop.hbase.client.HTable.get(HTable.java:428)
>   at org.apache.hadoop.hbase.client.HTable.get(HTable.java:392)
>   at 
> org.apache.hadoop.hbase.HBaseTestingUtility.verifyNumericRows(HBaseTestingUtility.java:2197)
>   at 
> org.apache.hadoop.hbase.regionserver.TestRegionReplicaFailover.verifyNumericRowsWithTimeout(TestRegionReplicaFailover.java:227)
>   at 
> org.apache.hadoop.hbase.regionserver.TestRegionReplicaFailover.testPrimaryRegionKill(TestRegionReplicaFailover.java:200)



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


[jira] [Reopened] (HBASE-17943) The in-memory flush size is different for each CompactingMemStore located in the same region

2017-04-21 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai reopened HBASE-17943:


There is a test failure after I commit it.
{noformat}
testSelectiveFlushWithBasicAndMerge(org.apache.hadoop.hbase.regionserver.TestWalAndCompactingMemStoreFlush)
  Time elapsed: 0.902 sec  <<< FAILURE!
java.lang.AssertionError: expected:<13536> but was:<13472>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at 
org.apache.hadoop.hbase.regionserver.TestWalAndCompactingMemStoreFlush.testSelectiveFlushWithBasicAndMerge(TestWalAndCompactingMemStoreFlush.java:879)
{noformat}
I will check it asap. Thanks for the reminder. [~yuzhih...@gmail.com] 

> The in-memory flush size is different for each CompactingMemStore located in 
> the same region 
> -
>
> Key: HBASE-17943
> URL: https://issues.apache.org/jira/browse/HBASE-17943
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
> Fix For: 2.0.0
>
> Attachments: HBASE-17943.v0.patch
>
>
> {noformat}
>   private void initInmemoryFlushSize(Configuration conf) {
> long memstoreFlushSize = getRegionServices().getMemstoreFlushSize();
> int numStores = getRegionServices().getNumStores();
> if (numStores <= 1) {
>   // Family number might also be zero in some of our unit test case
>   numStores = 1;
> }
> inmemoryFlushSize = memstoreFlushSize / numStores;
> {noformat}
> We initialize each store in parallel, so the return value from getNumStores() 
> may be different for each CompactingMemStore.



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


[jira] [Created] (HBASE-17941) CellArrayMap#getCell may throw IndexOutOfBoundsException

2017-04-19 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17941:
--

 Summary: CellArrayMap#getCell may throw IndexOutOfBoundsException
 Key: HBASE-17941
 URL: https://issues.apache.org/jira/browse/HBASE-17941
 Project: HBase
  Issue Type: Bug
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
Priority: Minor
 Fix For: 2.0.0


{noformat}
  @Override
  protected Cell getCell(int i) {
if( (i < minCellIdx) && (i >= maxCellIdx) ) return null;
return block[i];
  }
{noformat}
&& -> ||
We have checked the index of bound before calling this method, so the exception 
doesn't happen at current trunk.



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


[jira] [Created] (HBASE-17943) The in-memory flush size is different for each CompactingMemStore located in the same region

2017-04-19 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17943:
--

 Summary: The in-memory flush size is different for each 
CompactingMemStore located in the same region 
 Key: HBASE-17943
 URL: https://issues.apache.org/jira/browse/HBASE-17943
 Project: HBase
  Issue Type: Bug
  Components: regionserver
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 2.0.0


{noformat}
  private void initInmemoryFlushSize(Configuration conf) {
long memstoreFlushSize = getRegionServices().getMemstoreFlushSize();
int numStores = getRegionServices().getNumStores();
if (numStores <= 1) {
  // Family number might also be zero in some of our unit test case
  numStores = 1;
}
inmemoryFlushSize = memstoreFlushSize / numStores;
{noformat}
We initialize each store in parallel, so the return value from getNumStores() 
may be different for each CompactingMemStore.




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


[jira] [Created] (HBASE-17778) Remove the testing code in the AsyncRequestFutureImpl

2017-03-13 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17778:
--

 Summary: Remove the testing code in the AsyncRequestFutureImpl
 Key: HBASE-17778
 URL: https://issues.apache.org/jira/browse/HBASE-17778
 Project: HBase
  Issue Type: Improvement
Affects Versions: 2.0.0, 1.4.0
Reporter: Chia-Ping Tsai
Priority: Trivial


HBASE-16224 left some testing code in the AsyncRequestFutureImpl. It iterates 
all mutations in order to get the data size. The cost is directly proportional 
to the size of batch. We should remove it. 



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


[jira] [Created] (HBASE-17735) The usage of getTable() is different between AsyncConnection and Connection

2017-03-04 Thread CHIA-PING TSAI (JIRA)
CHIA-PING TSAI created HBASE-17735:
--

 Summary: The usage of getTable() is different between 
AsyncConnection and Connection
 Key: HBASE-17735
 URL: https://issues.apache.org/jira/browse/HBASE-17735
 Project: HBase
  Issue Type: Wish
Reporter: CHIA-PING TSAI
Priority: Minor


I'm employing the AsyncConnection to rewrite our application. I find the 
AsyncConnection#getTable() and Connection#getTable() have some "slightly" 
differences.
# Connection#getTable() throws IOException;
# AsyncConnection#getTable() requires the pool;
# AsyncTable doesn't need to be closed

It may confuse the developers if they have no time to trace the source code 
(smile). May be we can unify them?

Any suggestion is welcomed



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


[jira] [Created] (HBASE-17734) guard against possibly coping the qualifier in the ScanDeleteTracker

2017-03-04 Thread CHIA-PING TSAI (JIRA)
CHIA-PING TSAI created HBASE-17734:
--

 Summary: guard against possibly coping the qualifier in the 
ScanDeleteTracker
 Key: HBASE-17734
 URL: https://issues.apache.org/jira/browse/HBASE-17734
 Project: HBase
  Issue Type: Improvement
Reporter: CHIA-PING TSAI
Priority: Minor


If the input cell is ByteBufferKeyValue, the 
ByteBufferKeyValue#getQualifierArray will copy the qualifier bytes.
ScanDeleteTracker should keep the cell rather than qualifier array.
{noformat}
  public void add(Cell cell) {
  long timestamp = cell.getTimestamp();
  byte type = cell.getTypeByte();
  if (!hasFamilyStamp || timestamp > familyStamp) {
  if (type == KeyValue.Type.DeleteFamily.getCode()) {
  hasFamilyStamp = true;
  familyStamp = timestamp;
  return;
  } else if (type == KeyValue.Type.DeleteFamilyVersion.getCode()) {
  familyVersionStamps.add(timestamp);
  return;
  }

  if (deleteBuffer != null && type < deleteType) {
  // same column, so ignore less specific delete
  if (CellUtil.matchingQualifier(cell, deleteBuffer, deleteOffset, 
deleteLength)) {
  return;
  }
  }
  // new column, or more general delete type
  deleteBuffer = cell.getQualifierArray();
  deleteOffset = cell.getQualifierOffset();
  deleteLength = cell.getQualifierLength();
  deleteType = type;
  deleteTimestamp = timestamp;
  }
  // missing else is never called.
  }
{noformat}



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


[jira] [Created] (HBASE-17736) Some options can't be configured by the shell

2017-03-05 Thread CHIA-PING TSAI (JIRA)
CHIA-PING TSAI created HBASE-17736:
--

 Summary: Some options can't be configured by the shell
 Key: HBASE-17736
 URL: https://issues.apache.org/jira/browse/HBASE-17736
 Project: HBase
  Issue Type: Bug
Affects Versions: 2.0.0
Reporter: CHIA-PING TSAI
Priority: Minor
 Fix For: 2.0.0


The lost options for table are shown below.
# setFlushPolicyClassName
# setPriority
# setRegionMemstoreReplication
# setRegionSplitPolicyClassName

The lost options for column are shown below.
# setCacheBloomsOnWrite
# setCacheDataInL1
# setCacheIndexesOnWrite
# setCompactionCompressionType
# setEvictBlocksOnClose



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


[jira] [Resolved] (HBASE-16575) unify the semantic of RRCI#callWithRetries and RRCI#callWithoutRetries when the maxAttempts is configured to one

2017-04-06 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-16575.

Resolution: Not A Problem

> unify the semantic of RRCI#callWithRetries and RRCI#callWithoutRetries when 
> the maxAttempts is configured to one
> 
>
> Key: HBASE-16575
> URL: https://issues.apache.org/jira/browse/HBASE-16575
> Project: HBase
>  Issue Type: Improvement
>Reporter: Chia-Ping Tsai
>Priority: Minor
>
> It seems to me that RRCI#callWithRetries and RRCI#callWithoutRetries should 
> have the same logic if the maxAttempts is configured to one. But there are 
> some difference are shown below:
> 1) timeout
> 2) failure handle
> The quick solution is that we always call the RRCI#callWithRetries in the 
> RRCI#callWithoutRetries when the maxAttempts is configured to one.
> Any comment? Thanks.



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


[jira] [Created] (HBASE-17894) make sure all tests without unsafe pass

2017-04-08 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17894:
--

 Summary: make sure all tests without unsafe pass 
 Key: HBASE-17894
 URL: https://issues.apache.org/jira/browse/HBASE-17894
 Project: HBase
  Issue Type: Umbrella
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai


The HBASE-17890, HBASE-17882, and HBASE-17859 expose the bugs happening when 
the unsafe support is false.
This jira keeps submitting the patch to run all tests without unsafe until they 
pass.



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


[jira] [Resolved] (HBASE-18259) HBase book link to "beginner" issues includes resolved issues

2017-07-31 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-18259.

  Resolution: Fixed
Hadoop Flags: Reviewed

[~psomogyi] Thanks for the patch.

> HBase book link to "beginner" issues includes resolved issues
> -
>
> Key: HBASE-18259
> URL: https://issues.apache.org/jira/browse/HBASE-18259
> Project: HBase
>  Issue Type: Bug
>  Components: documentation
>Reporter: Mike Drob
>Assignee: Peter Somogyi
>  Labels: beginner
> Fix For: 3.0.0
>
> Attachments: HBASE-18259.master.001.patch, 
> HBASE-18259.master.ADDENDUM.patch
>
>
> The link at http://hbase.apache.org/book.html#getting.involved for beginner 
> issues is 
> https://issues.apache.org/jira/issues/?jql=project%20%3D%20HBASE%20AND%20labels%20in%20(beginner)
> but this includes resolved issues as well, which is not useful to folks 
> looking for new issues to cut their teeth on.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18488) Backport HBASE-15710(Include issue servers information in RetriesExhaustedWithDetailsException message) to branch-1.2

2017-07-31 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18488:
--

 Summary: Backport HBASE-15710(Include issue servers information in 
RetriesExhaustedWithDetailsException message) to branch-1.2
 Key: HBASE-18488
 URL: https://issues.apache.org/jira/browse/HBASE-18488
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Priority: Minor






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18480) The cost of BaseLoadBalancer.cluster is changed even if the rollback is done

2017-07-30 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18480:
--

 Summary: The cost of BaseLoadBalancer.cluster is changed even if 
the rollback is done
 Key: HBASE-18480
 URL: https://issues.apache.org/jira/browse/HBASE-18480
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai


If the cost of cluster isn't restored after the undo action, 
StochasticLoadBalancer will be hard to generate the "good" action to balance 
the cluster.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-18476) HTable#put should call RS#mutate rather than RS#multi

2017-08-02 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-18476.

Resolution: Duplicate

see HBASE-18500

> HTable#put should call RS#mutate rather than RS#multi
> -
>
> Key: HBASE-18476
> URL: https://issues.apache.org/jira/browse/HBASE-18476
> Project: HBase
>  Issue Type: Bug
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
> Fix For: 3.0.0, 1.4.0, 1.5.0, 2.0.0-alpha-2
>
>
> The HBASE-18374 separates the metric for a single put and batched puts so the 
> HTable#put shouldn't use the RS#mulit. It messes up the metrics.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18502) Change MasterObserver to use TableDescriptor

2017-08-02 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18502:
--

 Summary: Change MasterObserver to use TableDescriptor
 Key: HBASE-18502
 URL: https://issues.apache.org/jira/browse/HBASE-18502
 Project: HBase
  Issue Type: Umbrella
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Critical


MasterObserver is IA.Private so we can make some Incompatible change for 3.0 
and 2.0



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18503) Change ***Util to use TableDescriptor and ColumnFamilyDescriptor

2017-08-02 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18503:
--

 Summary: Change ***Util to use TableDescriptor and 
ColumnFamilyDescriptor
 Key: HBASE-18503
 URL: https://issues.apache.org/jira/browse/HBASE-18503
 Project: HBase
  Issue Type: Umbrella
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai


These helper classes accept the HTD and HCD as argument. We need to make some 
changes for them, otherwise we will be forced to use HTD and HCD.
# SecureTestUtil
# MobSnapshotTestingUtils



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18501) Use TableDescriptor and ColumnFamilyDescriptor as far as possible

2017-08-02 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18501:
--

 Summary: Use TableDescriptor and ColumnFamilyDescriptor as far as 
possible
 Key: HBASE-18501
 URL: https://issues.apache.org/jira/browse/HBASE-18501
 Project: HBase
  Issue Type: Umbrella
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai


We need to do some cleanup for the *public* class as much as possible. 
Otherwise, the HTD and HCD may linger in the code base for a long time.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18515) Introduce Delete.add as a replacement for Delete#addDeleteMarker

2017-08-03 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18515:
--

 Summary:  Introduce Delete.add as a replacement for 
Delete#addDeleteMarker
 Key: HBASE-18515
 URL: https://issues.apache.org/jira/browse/HBASE-18515
 Project: HBase
  Issue Type: Task
Reporter: Chia-Ping Tsai
 Fix For: 3.0.0, 2.0.0-alpha-2


{quote}
  public Delete addDeleteMarker(Cell kv) throws IOException {
// TODO: Deprecate and rename 'add' so it matches how we add KVs to Puts.
{quote}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18609) Apply HBASE-15511 in code base

2017-08-16 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18609:
--

 Summary: Apply HBASE-15511 in code base
 Key: HBASE-18609
 URL: https://issues.apache.org/jira/browse/HBASE-18609
 Project: HBase
  Issue Type: Improvement
Reporter: Chia-Ping Tsai


HBASE-15511 enable us to get the cluster status by scope. We should apply it in 
code base so as to prevent the useless information.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18554) Append#add doesn't check the row of passed cell

2017-08-10 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18554:
--

 Summary: Append#add doesn't check the row of passed cell
 Key: HBASE-18554
 URL: https://issues.apache.org/jira/browse/HBASE-18554
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai


{code}
  @SuppressWarnings("unchecked")
  public Append add(final Cell cell) {
// Presume it is KeyValue for now.
byte [] family = CellUtil.cloneFamily(cell);
List list = this.familyMap.get(family);
if (list == null) {
  list  = new ArrayList<>(1);
}
// find where the new entry should be placed in the List
list.add(cell);
this.familyMap.put(family, list);
return this;
  }
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18572) Delete#addColumn can't remove the cell which has no visibility label

2017-08-11 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18572:
--

 Summary: Delete#addColumn can't remove the cell which has no 
visibility label
 Key: HBASE-18572
 URL: https://issues.apache.org/jira/browse/HBASE-18572
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai


{code:title=DefaultVisibilityLabelServiceImpl.java}
  @Override
  public boolean matchVisibility(List putVisTags, Byte putTagsFormat, 
List deleteVisTags,
  Byte deleteTagsFormat) throws IOException {
if ((deleteTagsFormat != null && deleteTagsFormat == 
SORTED_ORDINAL_SERIALIZATION_FORMAT)
&& (putTagsFormat == null || putTagsFormat == 
SORTED_ORDINAL_SERIALIZATION_FORMAT)) {
  if (putVisTags.isEmpty()) {
// Early out if there are no tags in the cell
return false;
  }
  if (putTagsFormat == null) {
return matchUnSortedVisibilityTags(putVisTags, deleteVisTags);
  } else {
return matchOrdinalSortedVisibilityTags(putVisTags, deleteVisTags);
  }
}
throw new IOException("Unexpected tag format passed for comparison, 
deleteTagsFormat : "
+ deleteTagsFormat + ", putTagsFormat : " + putTagsFormat);
  }
{code}
If the putVisTags is empty, it will return the false directly. Hence, the 
Delete#addColumn can't "see" the cell as well as deleting it. The 
Delete#addColumns, by contrast, doesn't invoke the 
cp#prePrepareTimeStampForDeleteVersion so it can remove the cell.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-18558) clean up duplicate dependency management entries for hbase-shaded-miscellaneous

2017-08-11 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-18558.

  Resolution: Fixed
Hadoop Flags: Reviewed

Thanks all contributors!

> clean up duplicate dependency management entries for 
> hbase-shaded-miscellaneous
> ---
>
> Key: HBASE-18558
> URL: https://issues.apache.org/jira/browse/HBASE-18558
> Project: HBase
>  Issue Type: Task
>  Components: dependencies, pom
>Affects Versions: 3.0.0
>Reporter: Sean Busbey
>Assignee: ChunHao
>Priority: Minor
>  Labels: beginner
> Fix For: 3.0.0
>
>
> our root pom's dependency management section has two entries like:
> {code}
> 
> org.apache.hbase.thirdparty
> hbase-shaded-miscellaneous
> ${hbase-thirdparty.version}
>   
> {code}
> which causes a bunch of warnings at build time. remove one.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18582) Correct the docs for Mutation#setCellVisibility

2017-08-12 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18582:
--

 Summary: Correct the docs for Mutation#setCellVisibility
 Key: HBASE-18582
 URL: https://issues.apache.org/jira/browse/HBASE-18582
 Project: HBase
  Issue Type: Task
Reporter: Chia-Ping Tsai
Priority: Minor


{code}
  /**
   * Sets the visibility expression associated with cells in this Mutation.
   * It is illegal to set CellVisibility on Delete 
mutation.
   * @param expression
   */
{code}
HBASE-10885 enable Delete to be specified with Cell Visibility, so we should 
remove the comment " It is illegal to set..."



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-17803) PE always re-creates table when we specify the split policy

2017-08-14 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-17803.

   Resolution: Fixed
Fix Version/s: 1.2.7
   1.3.2

> PE always re-creates table when we specify the split policy
> ---
>
> Key: HBASE-17803
> URL: https://issues.apache.org/jira/browse/HBASE-17803
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.4.0
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Minor
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.2.7
>
> Attachments: HBASE-17803.branch-1.3.v0.patch, 
> HBASE-17803.branch-1.v0.patch, HBASE-17803.v0.patch
>
>
> I find this bug when i run the tests for HBASE-17623
> The critical code is shown below.
> {noformat}
> if ((exists && opts.presplitRegions != DEFAULT_OPTS.presplitRegions)
>   || (!isReadCmd && desc != null && desc.getRegionSplitPolicyClassName() 
> != opts.splitPolicy)
>   || (!isReadCmd && desc != null && desc.getRegionReplication() != 
> opts.replicas)) {
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18365) Eliminate the findbugs warnings for hbase-common

2017-07-11 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18365:
--

 Summary: Eliminate the findbugs warnings for hbase-common
 Key: HBASE-18365
 URL: https://issues.apache.org/jira/browse/HBASE-18365
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18344) Replace Append#add(byte[], byte[], byte[]) by Append#addColumn

2017-07-08 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18344:
--

 Summary: Replace Append#add(byte[], byte[], byte[]) by 
Append#addColumn
 Key: HBASE-18344
 URL: https://issues.apache.org/jira/browse/HBASE-18344
 Project: HBase
  Issue Type: Task
Reporter: Chia-Ping Tsai
Priority: Trivial
 Fix For: 3.0.0, 2.0.0-alpha-2


We have Put#addColumn and Increment#addColumn but there is no Append#addColumn. 
We should add Append#addColumn for consistency.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-13287) Append is missing methods, such as addColumn()

2017-07-12 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-13287.

Resolution: Duplicate

> Append is missing methods, such as addColumn()
> --
>
> Key: HBASE-13287
> URL: https://issues.apache.org/jira/browse/HBASE-13287
> Project: HBase
>  Issue Type: Bug
>  Components: API
>Affects Versions: 1.0.0
>Reporter: Lars George
>Assignee: Jan Hentschel
>
> Analog to Put, Delete, Get, etc. Append should have the same common method 
> signature, namely {{addColumn()}} as opposed to the older {{add()}}. Also 
> consider adding the other variant that Put has, including the _immutable_ 
> versions.
> Question related: should those methods not better be in the Mutation class? 
> All derived classes implement them. {{setTTL()}} is in Mutation, and throws 
> an exception when used with {{Delete}}. So why not moved those down too? (cc 
> [~saint@gmail.com])



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18391) List the stuffs which are using the patent grant license (PATENTS file) of Facebook; And then discuss and remove them.

2017-07-17 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18391:
--

 Summary: List the stuffs which are using the patent grant license 
(PATENTS file) of Facebook; And then discuss and remove them.
 Key: HBASE-18391
 URL: https://issues.apache.org/jira/browse/HBASE-18391
 Project: HBase
  Issue Type: Task
Reporter: Chia-Ping Tsai


See ["Apache Foundation disallows use of the Facebook “BSD+Patent” 
license"|https://news.ycombinator.com/item?id=14779881]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Reopened] (HBASE-18390) Sleep too long when finding region location failed

2017-07-19 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai reopened HBASE-18390:


We don't get response from QA for branch-1...TestClientScannerRPCTimeout fails 
in branch-1 on my machine. Would you please take a look? Thanks.

> Sleep too long when finding region location failed
> --
>
> Key: HBASE-18390
> URL: https://issues.apache.org/jira/browse/HBASE-18390
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>Reporter: Phil Yang
>Assignee: Phil Yang
> Fix For: 3.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7, 2.0.0-alpha-2, 1.1.12
>
> Attachments: HBASE-18390.v01.patch, HBASE-18390.v02.patch, 
> HBASE-18390.v03.patch
>
>
> If RegionServerCallable#prepare failed when getRegionLocation, the location 
> in this callable object is null. And before we retry we will sleep. However, 
> when location is null we will sleep at least 10 seconds. And the request will 
> be failed directly if operation timeout is less than 10 seconds. I think it 
> is no need to keep MIN_WAIT_DEAD_SERVER logic. Use backoff sleeping logic is 
> ok for most cases.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18449) Fix client.locking.TestEntityLocks

2017-07-25 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18449:
--

 Summary: Fix client.locking.TestEntityLocks
 Key: HBASE-18449
 URL: https://issues.apache.org/jira/browse/HBASE-18449
 Project: HBase
  Issue Type: Bug
  Components: test
Affects Versions: 2.0.0-alpha-1, 3.0.0
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Minor
 Fix For: 3.0.0, 2.0.0-alpha-2


{noformat}
Wanted but not invoked:
abortable.abort(
,
isA(org.apache.hadoop.hbase.HBaseIOException)
);
-> at 
org.apache.hadoop.hbase.client.locking.TestEntityLocks.testHeartbeatException(TestEntityLocks.java:195)
Actually, there were zero interactions with this mock.
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Reopened] (HBASE-17131) Avoid livelock caused by HRegion#processRowsWithLocks

2017-07-27 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai reopened HBASE-17131:


> Avoid livelock caused by HRegion#processRowsWithLocks
> -
>
> Key: HBASE-17131
> URL: https://issues.apache.org/jira/browse/HBASE-17131
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 2.0.0, 1.4.0, 1.3.1
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.2.7
>
> Attachments: HBASE-17131.branch-1.v0.patch, HBASE-17131.v0.patch
>
>
> {code:title=HRegion.java|borderStyle=solid}
> try {
>   // STEP 2. Acquire the row lock(s)
>   acquiredRowLocks = new ArrayList(rowsToLock.size());
>   for (byte[] row : rowsToLock) {
> // Attempt to lock all involved rows, throw if any lock times out
> // use a writer lock for mixed reads and writes
> acquiredRowLocks.add(getRowLockInternal(row, false));
>   }
>   // STEP 3. Region lock
>   lock(this.updatesLock.readLock(), acquiredRowLocks.size() == 0 ? 1 : 
> acquiredRowLocks.size());
>   locked = true;
>   boolean success = false;
>   long now = EnvironmentEdgeManager.currentTime();
>   try {
> {code}
> We should lock all involved rows in the second try-finally. Otherwise, we 
> won’t release the previous locks if any subsequent lock times out.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-18464) Backport HBASE-17131 (Avoid livelock caused by HRegion#processRowsWithLocks) into branch-1.3 and branch-1.2

2017-07-27 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-18464.

Resolution: Duplicate

> Backport HBASE-17131 (Avoid livelock caused by HRegion#processRowsWithLocks) 
> into branch-1.3 and branch-1.2
> ---
>
> Key: HBASE-18464
> URL: https://issues.apache.org/jira/browse/HBASE-18464
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1, 1.2.6
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
> Fix For: 1.3.2, 1.2.7
>
>
> see HBASE-17131



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18464) Backport HBASE-17131 (Avoid livelock caused by HRegion#processRowsWithLocks) into branch-1.3 and branch-1.2

2017-07-27 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18464:
--

 Summary: Backport HBASE-17131 (Avoid livelock caused by 
HRegion#processRowsWithLocks) into branch-1.3 and branch-1.2
 Key: HBASE-18464
 URL: https://issues.apache.org/jira/browse/HBASE-18464
 Project: HBase
  Issue Type: Bug
Affects Versions: 1.2.6, 1.3.1
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 1.3.2, 1.2.7


see HBASE-17131



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-18390) Sleep too long when finding region location failed

2017-07-19 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-18390.

Resolution: Fixed

> Sleep too long when finding region location failed
> --
>
> Key: HBASE-18390
> URL: https://issues.apache.org/jira/browse/HBASE-18390
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>Reporter: Phil Yang
>Assignee: Phil Yang
> Fix For: 3.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7, 2.0.0-alpha-2, 1.1.12
>
> Attachments: HBASE-18390.v01.patch, HBASE-18390.v02.patch, 
> HBASE-18390.v03.patch
>
>
> If RegionServerCallable#prepare failed when getRegionLocation, the location 
> in this callable object is null. And before we retry we will sleep. However, 
> when location is null we will sleep at least 10 seconds. And the request will 
> be failed directly if operation timeout is less than 10 seconds. I think it 
> is no need to keep MIN_WAIT_DEAD_SERVER logic. Use backoff sleeping logic is 
> ok for most cases.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18415) Fix client.TestClientScannerRPCTimeout

2017-07-19 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18415:
--

 Summary: Fix client.TestClientScannerRPCTimeout
 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: Minor


{quote}
Running org.apache.hadoop.hbase.client.TestClientScannerRPCTimeout
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 10.046 sec <<< 
FAILURE! - in org.apache.hadoop.hbase.client.TestClientScannerRPCTimeout
testScannerNextRPCTimesout(org.apache.hadoop.hbase.client.TestClientScannerRPCTimeout)
  Time elapsed: 4.186 sec  <<< ERROR!
org.apache.hadoop.hbase.TableExistsException: testScannerNextRPCTimesout
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at 
org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
at 
org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
at 
org.apache.hadoop.hbase.util.ForeignExceptionUtil.toIOException(ForeignExceptionUtil.java:45)
at 
org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.convertResult(HBaseAdmin.java:4773)
at 
org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.waitProcedureResult(HBaseAdmin.java:4731)
at 
org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.get(HBaseAdmin.java:4664)
at 
org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:678)
at 
org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1500)
at 
org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1547)
at 
org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1438)
at 
org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1414)
at 
org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1370)
at 
org.apache.hadoop.hbase.client.TestClientScannerRPCTimeout.testScannerNextRPCTimesout(TestClientScannerRPCTimeout.java:92)
Caused by: org.apache.hadoop.ipc.RemoteException: testScannerNextRPCTimesout
at 
org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.prepareCreate(CreateTableProcedure.java:286)
at 
org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:107)
at 
org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:59)
at 
org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:139)
at 
org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:506)
at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1152)
at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:940)
at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:893)
at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$400(ProcedureExecutor.java:76)
at 
org.apache.hadoop.hbase.procedure2.ProcedureExecutor$2.run(ProcedureExecutor.java:478)
{quote}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18420) Some methods of Admin don't use ColumnFamilyDescriptor

2017-07-20 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18420:
--

 Summary: Some methods of Admin don't use ColumnFamilyDescriptor
 Key: HBASE-18420
 URL: https://issues.apache.org/jira/browse/HBASE-18420
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18293) Only add the spotbugs dependency when jdk8 is active

2017-06-28 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18293:
--

 Summary: Only add the spotbugs dependency when jdk8 is active
 Key: HBASE-18293
 URL: https://issues.apache.org/jira/browse/HBASE-18293
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 1.4.0, 1.3.2, 1.2.7, 1.1.12


The spotbugs requires the java 8 so we should only add the spotbugs dependency 
when jdk8 is active.
{noformat}
[INFO] Fork Value is true
 [java] Exception in thread "main" java.lang.UnsupportedClassVersionError: 
edu/umd/cs/findbugs/FindBugs2 : Unsupported major.minor version 52.0
 [java] at java.lang.ClassLoader.defineClass1(Native Method)
 [java] at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
 [java] at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 [java] at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
 [java] at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
 [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
 [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
 [java] at java.security.AccessController.doPrivileged(Native Method)
 [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
 [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
 [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:312)
 [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
 [java] at 
sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-18157) TestLockProcedure is flaky in master branch

2017-06-28 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-18157.

Resolution: Duplicate

see HBASE-18292

> TestLockProcedure is flaky in master branch
> ---
>
> Key: HBASE-18157
> URL: https://issues.apache.org/jira/browse/HBASE-18157
> Project: HBase
>  Issue Type: Test
>Reporter: Ted Yu
>
> From 
> https://builds.apache.org/job/PreCommit-HBASE-Build/7060/artifact/patchprocess/patch-unit-hbase-server.txt
>  :
> {code}
> testLocalMasterLockRecovery(org.apache.hadoop.hbase.master.locking.TestLockProcedure)
>   Time elapsed: 30.049 sec  <<< ERROR!
> java.lang.Exception: Appears to be stuck in thread ResponseProcessor for 
> block BP-387952765-172.17.0.2-1496577331729:blk_1073741842_1018
>   at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
>   at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
>   at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
>   at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
>   at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
>   at 
> org.apache.hadoop.net.SocketIOWithTimeout$SelectorPool.select(SocketIOWithTimeout.java:335)
>   at 
> org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:157)
>   at 
> org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:161)
>   at 
> org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:131)
>   at 
> org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:118)
> {code}
> TestLockProcedure is a small test. Its failure would prevent medium / large 
> tests from running.
> According to 
> https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html
>  , its flaky rate is 33%.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18295) TestAcidGuarantees fails again

2017-06-29 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18295:
--

 Summary: TestAcidGuarantees fails again
 Key: HBASE-18295
 URL: https://issues.apache.org/jira/browse/HBASE-18295
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Blocker
 Fix For: 2.0.0, 3.0.0


>From the [flaky 
>dashboard|https://builds.apache.org/job/HBASE-Find-Flaky-Tests/lastSuccessfulBuild/artifact/dashboard.html]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18306) Get rid of TableDescriptor#getConfiguration

2017-07-01 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18306:
--

 Summary: Get rid of TableDescriptor#getConfiguration
 Key: HBASE-18306
 URL: https://issues.apache.org/jira/browse/HBASE-18306
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
 Fix For: 3.0.0, 2.0.0-alpha-2


We should substitute TD#Value for the TD#Configuration. The TD#Configuration is 
rarely used in code base.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18315) Eliminate the findbugs warnings for hbase-rest

2017-07-04 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18315:
--

 Summary: Eliminate the findbugs warnings for hbase-rest
 Key: HBASE-18315
 URL: https://issues.apache.org/jira/browse/HBASE-18315
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 3.0.0, 2.0.0-alpha-2






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18314) Eliminate the findbugs warnings for hbase-examples

2017-07-04 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18314:
--

 Summary: Eliminate the findbugs warnings for hbase-examples
 Key: HBASE-18314
 URL: https://issues.apache.org/jira/browse/HBASE-18314
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 3.0.0, 2.0.0-alpha-2






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18308) Eliminate the findbugs warnings for hbase-server

2017-07-02 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18308:
--

 Summary: Eliminate the findbugs warnings for hbase-server
 Key: HBASE-18308
 URL: https://issues.apache.org/jira/browse/HBASE-18308
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-15583) Any HTableDescriptor we give out should be immutable

2017-04-26 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-15583.

Resolution: Fixed

The "rebased" code is some hunks. Thanks for the reviewing. 
[~yuzhih...@gmail.com], [~stack]

> Any HTableDescriptor we give out should be immutable
> 
>
> Key: HBASE-15583
> URL: https://issues.apache.org/jira/browse/HBASE-15583
> Project: HBase
>  Issue Type: Sub-task
>Affects Versions: 2.0.0
>Reporter: Gabor Liptak
>Assignee: Chia-Ping Tsai
>Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-15583.v0.patch, HBASE-15583.v1.patch, 
> HBASE-15583.v2.patch, HBASE-15583.v3.patch, HBASE-15583.v4.patch, 
> HBASE-15583.v5.patch, HBASE-15583.v6.patch, HBASE-15583.v7.patch
>
>
> From [~enis] in https://issues.apache.org/jira/browse/HBASE-15505:
> PS Should UnmodifyableHTableDescriptor be renamed to 
> UnmodifiableHTableDescriptor?
> It should be named ImmutableHTableDescriptor to be consistent with 
> collections naming. Let's do this as a subtask of the parent jira, not here. 
> Thinking about it though, why would we return an Immutable HTD in 
> HTable.getTableDescriptor() versus a mutable HTD in 
> Admin.getTableDescriptor(). It does not make sense. Should we just get rid of 
> the Immutable ones?
> We also have UnmodifyableHRegionInfo which is not used at the moment it 
> seems. 



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


[jira] [Resolved] (HBASE-10540) HBaseAdmin.createTable(HTableDescriptor, splitKeys) doesn't need to call isLegalTableName.

2017-04-28 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-10540.

Resolution: Won't Fix

The isLegalTableName has removed by HBASE-8408. 0.94 is EOL.

> HBaseAdmin.createTable(HTableDescriptor, splitKeys) doesn't need to call 
> isLegalTableName.
> --
>
> Key: HBASE-10540
> URL: https://issues.apache.org/jira/browse/HBASE-10540
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 0.94.16
>Reporter: Jean-Marc Spaggiari
>Assignee: Jean-Marc Spaggiari
>Priority: Minor
> Attachments: HBASE-10540-v0-0.94.patch
>
>
> {code}
> public void createTable(final HTableDescriptor desc, byte [][] splitKeys)
>   throws IOException {
> HTableDescriptor.isLegalTableName(desc.getName());
> try {
>   createTableAsync(desc, splitKeys);
> } catch (SocketTimeoutException ste) {
>   LOG.warn("Creating " + desc.getNameAsString() + " took too long", ste);
> }
> {code}
> crateTable calls isLegalTableName and few lines after, createTableAsync. 
> However, createTableAsync also calls isLegalTableName which results to a 
> double call.
> Therefor, we can remove the call to isLegalTableName from crateTable.
> Trunk does'nt call isLegalTableName (Should it?).  Nor is 0.96.



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


[jira] [Resolved] (HBASE-15626) RetriesExhaustedWithDetailsException#getDesc won't return the full message

2017-04-28 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-15626.

Resolution: Duplicate

. 

> RetriesExhaustedWithDetailsException#getDesc won't return the full message
> --
>
> Key: HBASE-15626
> URL: https://issues.apache.org/jira/browse/HBASE-15626
> Project: HBase
>  Issue Type: Bug
>  Components: Client
>Affects Versions: 2.0.0
>Reporter: Jianwei Cui
>Priority: Minor
> Attachments: HBASE-15626-v1.patch
>
>
> The RetriesExhaustedWithDetailsException#getDesc will include server 
> addresses as:
> {code}
>   public static String getDesc(List exceptions,
>List actions,
>List hostnamePort) {
> String s = getDesc(classifyExs(exceptions));
> StringBuilder addrs = new StringBuilder(s);
> addrs.append("servers with issues: ");
> Set uniqAddr = new HashSet();
> uniqAddr.addAll(hostnamePort);
> for(String addr : uniqAddr) {
>   addrs.append(addr).append(", ");
> }
> return s;  // ==> should be addrs.toString()
>   }
> {code}
> However, the returned value is {{s}}, only includes the exceptions. To 
> include the server addresses, the returned value should be 
> {{addrs.toString()}}.



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


[jira] [Resolved] (HBASE-15208) AsyncProcess seems to rely on regionId() to be unique which is not

2017-04-28 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-15208.

Resolution: Duplicate

It is fixed. see HBASE-15479

> AsyncProcess seems to rely on regionId() to be unique which is not
> --
>
> Key: HBASE-15208
> URL: https://issues.apache.org/jira/browse/HBASE-15208
> Project: HBase
>  Issue Type: Bug
>  Components: Client
>Affects Versions: 2.0.0, 1.2.0, 1.3.0, 1.0.3, 1.1.3, 0.98.16.1
>Reporter: Matteo Bertozzi
>
> AsyncProcess is using getRegionId() to identify a region. It looks like the 
> original implementation was using encodedName which is unique, but then we 
> switched to regionIds with HBASE-9988.
> {code}
> protected boolean canTakeOperation(HRegionLocation loc,
>  Map regionsIncluded,
>  Map 
> serversIncluded) {
> long regionId = loc.getRegionInfo().getRegionId();
> Boolean regionPrevious = regionsIncluded.get(regionId);
> if (regionPrevious != null) {
>   // We already know what to do with this region.
>   return regionPrevious;
> }
> {code}
> The RegionId is not unique, since it is a timestamp. and specifically in case 
> we create a table with splits each region get the same regionId. (from the 
> doc of HRegionInfo about regionId, looks like that field should be named 
> creationTimestamp or something like that for a more expressive name).
> I'm unsure on what are the consequences. from a couple of tests and the code 
> looks like it may just allow more tasks than the one configured by the max 
> task allowed conf. but I'd let someone else familiar with this code look into 
> it.
> Also TestAsyncProcess has the HRegionInfo hr1, hr2, hr3 with different 
> regionIds, if we switch them to be the same id we have a 
> testSubmitBusyRegionServer() failing



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


[jira] [Resolved] (HBASE-7278) Some bugs of HTableDesciptor

2017-04-28 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-7278.
---
Resolution: Duplicate

The setMetaFlags and isLegalTableName are fixed by HBASE-8408.

> Some bugs of HTableDesciptor
> 
>
> Key: HBASE-7278
> URL: https://issues.apache.org/jira/browse/HBASE-7278
> Project: HBase
>  Issue Type: Bug
>Reporter: Hiroshi Ikeda
>Priority: Minor
>
> There are some bugs of the class HTableDescriptor.
> {code}
>   public HTableDescriptor(final byte [] name) {
> super();
> setMetaFlags(this.name);
> this.name = this.isMetaRegion()? name: isLegalTableName(name);
> this.nameAsString = Bytes.toString(this.name);
>   }
> {code}
> I think "setMetaFlags(this.name)" should be "setMetaFlags(name)".
> {code}
>   /**
>* Check passed byte buffer, "tableName", is legal user-space table name.
>* @return Returns passed tableName param
>* @throws NullPointerException If passed tableName is null
>* @throws IllegalArgumentException if passed a tableName
>* that is made of other than 'word' characters or underscores: i.e.
>* [a-zA-Z_0-9].
>*/
>   public static byte [] isLegalTableName(final byte [] tableName) {
> if (tableName == null || tableName.length <= 0) {
>   throw new IllegalArgumentException("Name is null or empty");
> }
> {code}
> The implementation is against the contract of throwing NullPointerException.
> I'm not sure the contract is wrong or the implementation is wrong.
> Also the contract of throwing IllegalArgumentException is a little different 
> from the actual implementation, and in general we must actually call this 
> method and catch IllegalArgumentException in order to know whether the given 
> name can be used as a table name.
> I feel HTableDescriptor allows itself to be in invalid states, and I cannot 
> fix the class well.
> I think we should start to remove implementing WritableComparable, but it 
> might greatly break the compatibility.



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


[jira] [Reopened] (HBASE-18259) HBase book link to "beginner" issues includes resolved issues

2017-07-30 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai reopened HBASE-18259:


> HBase book link to "beginner" issues includes resolved issues
> -
>
> Key: HBASE-18259
> URL: https://issues.apache.org/jira/browse/HBASE-18259
> Project: HBase
>  Issue Type: Bug
>  Components: documentation
>Reporter: Mike Drob
>Assignee: Peter Somogyi
>  Labels: beginner
> Fix For: 3.0.0
>
> Attachments: HBASE-18259.master.001.patch
>
>
> The link at http://hbase.apache.org/book.html#getting.involved for beginner 
> issues is 
> https://issues.apache.org/jira/issues/?jql=project%20%3D%20HBASE%20AND%20labels%20in%20(beginner)
> but this includes resolved issues as well, which is not useful to folks 
> looking for new issues to cut their teeth on.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18476) HTable#put should call RS#mutate rather than RS#multi

2017-07-28 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18476:
--

 Summary: HTable#put should call RS#mutate rather than RS#multi
 Key: HBASE-18476
 URL: https://issues.apache.org/jira/browse/HBASE-18476
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 3.0.0, 1.4.0, 1.5.0, 2.0.0-alpha-2


The HBASE-18374 separates the metric for a single put and batched puts so the 
HTable#put shouldn't use the RS#mulit. It messes up the metrics.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-18266) Eliminate the warnings from the spotbugs

2017-08-07 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-18266.

Resolution: Fixed

All sub-tasks are resolved.

> Eliminate the warnings from the spotbugs
> 
>
> Key: HBASE-18266
> URL: https://issues.apache.org/jira/browse/HBASE-18266
> Project: HBase
>  Issue Type: Umbrella
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
> Fix For: 3.0.0, 1.4.0, 1.3.2, 1.2.7, 2.0.0-alpha-2
>
>
> It is hard to get +1 from QA currently because spotbugs is always unhappy...



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18544) Move the HRegion#addRegionToMETA to TestDefaultMemStore

2017-08-09 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18544:
--

 Summary: Move the HRegion#addRegionToMETA to TestDefaultMemStore
 Key: HBASE-18544
 URL: https://issues.apache.org/jira/browse/HBASE-18544
 Project: HBase
  Issue Type: Task
  Components: regionserver
Affects Versions: 2.0.0-alpha-1, 3.0.0
Reporter: Chia-Ping Tsai
Priority: Minor
 Fix For: 3.0.0, 2.0.0-alpha-2


The usages of addRegionToMETA  are almost removed by HBASE-17470. 
HRegion#addRegionToMETA is used only by TestDefaultMemStore now. Let us reduce 
the file size of HRegion.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18483) The RpcRetryingCaller#translateException doesn't handle RemoteException

2017-07-31 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18483:
--

 Summary: The RpcRetryingCaller#translateException doesn't handle 
RemoteException
 Key: HBASE-18483
 URL: https://issues.apache.org/jira/browse/HBASE-18483
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Priority: Minor


{code}
if (t instanceof ServiceException) {
  ServiceException se = (ServiceException)t;
  Throwable cause = se.getCause();
  if (cause != null) {
if (cause instanceof DoNotRetryIOException) {
  throw (DoNotRetryIOException)cause;
} else if (cause instanceof NeedUnmanagedConnectionException) {
  throw new DoNotRetryIOException(cause);
}
  }
  // Don't let ServiceException out; its rpc specific.
  t = cause;
  // t could be a RemoteException so go aaround again.
  translateException(t);
} else if (t instanceof DoNotRetryIOException) {
  throw (DoNotRetryIOException)t;
} else if (t instanceof NeedUnmanagedConnectionException) {
  throw new DoNotRetryIOException(t);
}
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18546) Append/Increment a cell with custom timestamp

2017-08-09 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18546:
--

 Summary: Append/Increment a cell with custom timestamp
 Key: HBASE-18546
 URL: https://issues.apache.org/jira/browse/HBASE-18546
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai


We don't pass the custom timestamp for Increment, and the increment's timestamp 
always be rewrite. Hence, user can't increment a cell with custom timestamp.
{code:title=ProtobufUtil.java}
  if (values != null && values.size() > 0) {
for (Cell cell: values) {
  valueBuilder.clear();
  valueBuilder.setQualifier(UnsafeByteOperations.unsafeWrap(
  cell.getQualifierArray(), cell.getQualifierOffset(), 
cell.getQualifierLength()));
  valueBuilder.setValue(UnsafeByteOperations.unsafeWrap(
  cell.getValueArray(), cell.getValueOffset(), 
cell.getValueLength()));
  if (cell.getTagsLength() > 0) {

valueBuilder.setTags(UnsafeByteOperations.unsafeWrap(cell.getTagsArray(),
cell.getTagsOffset(), cell.getTagsLength()));
  }
  columnBuilder.addQualifierValue(valueBuilder.build());
}
  }
{code}
In contrast to Increment, user can append the cell with custom timestamp. It 
would be better that make their behavior consistent. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18519) Use zero-copy strategy to optimize CellUtil.createCell

2017-08-04 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18519:
--

 Summary: Use zero-copy strategy to optimize CellUtil.createCell
 Key: HBASE-18519
 URL: https://issues.apache.org/jira/browse/HBASE-18519
 Project: HBase
  Issue Type: Improvement
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai


The IndividualBytesFieldCell, which is introduced by HBASE-14882, carries the 
input arguments without copying.  We can substitute IndividualBytesFieldCell 
for KeyValue used by CellUtil.createCell.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18528) Support to modify TableDescriptor/ColumnFamilyDescriptor through MasterObserver; Or disable that.

2017-08-06 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18528:
--

 Summary: Support to modify TableDescriptor/ColumnFamilyDescriptor 
through MasterObserver; Or disable that.
 Key: HBASE-18528
 URL: https://issues.apache.org/jira/browse/HBASE-18528
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Critical
 Fix For: 3.0.0, 2.0.0-alpha-2


We are replacing the HTableDescriptor by TableDescriptor from code base. The 
TableDescriptor is designed to be a read-only object so user can't modifiy it 
through MasterObserver. HBASE-18502 change many methods of MasterObserver to 
use TableDescriptor but some deprecated methods still accept the 
HTableDescriptor. User may be confused by why some methods can't modify the 
table descriptor.

In short, Should we allow user to modify the passed table descriptor?
# if yes, we should introduce a mechanism that user can return a modified table 
descripror
# if no, we should pass ImmutableHTableDescriptor to user. Or we just remove 
all methods accepting the HTableDescriptor

Ditto for HColumnDescriptor.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18611) Copy all tests from o.a.h.h.p.TestProtobufUtil to o.a.h.h.s.p.TestProtobufUtil

2017-08-16 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18611:
--

 Summary: Copy all tests from o.a.h.h.p.TestProtobufUtil to 
o.a.h.h.s.p.TestProtobufUtil
 Key: HBASE-18611
 URL: https://issues.apache.org/jira/browse/HBASE-18611
 Project: HBase
  Issue Type: Task
  Components: Protobufs
Affects Versions: 2.0.0-alpha-1, 3.0.0
Reporter: Chia-Ping Tsai
Priority: Minor
 Fix For: 2.0.0


We copied all codes from o.a.h.h.p.TestProtobufUtil to 
o.a.h.h.s.p.ProtobufUtil, but we ignored the test codes. Let us increase the 
code coverage.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18634) Fix client.TestClientClusterStatus

2017-08-19 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18634:
--

 Summary: Fix client.TestClientClusterStatus
 Key: HBASE-18634
 URL: https://issues.apache.org/jira/browse/HBASE-18634
 Project: HBase
  Issue Type: Bug
  Components: test
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 2.0.0


After HBASE-18511, the master doesn't carry any regions by default. Hence, The 
active master doesn't report its load because the report thread is sleeping in 
waitForMasterActive().
{code}
  protected void waitForMasterActive(){
boolean tablesOnMaster = LoadBalancer.isTablesOnMaster(conf);
while (!(tablesOnMaster && activeMaster) && !isStopped() && !isAborted()) {
  sleeper.sleep();
}
  }
{code}
In conclusion, the ClusterStatue#getServers won't contain the master name.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18637) Update the link of "Bending time in HBase"

2017-08-20 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18637:
--

 Summary: Update the link of "Bending time in HBase"
 Key: HBASE-18637
 URL: https://issues.apache.org/jira/browse/HBASE-18637
 Project: HBase
  Issue Type: Bug
  Components: documentation
Reporter: Chia-Ping Tsai
 Fix For: 2.0.0


{code:title=datamodel.adoc}
link:http://outerthought.org/blog/417-ot.html[Bending time in HBase] 
{code}
The link is changed to "https://www.ngdata.com/bending-time-in-hbase/;




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18638) The old cells will return to client if the new cells are deleted

2017-08-20 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18638:
--

 Summary: The old cells will return to client if the new cells are 
deleted
 Key: HBASE-18638
 URL: https://issues.apache.org/jira/browse/HBASE-18638
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Priority: Critical


|put_0(t0)|
|put_1(t1)|  <-- the latest cell
If we call get, the put_1 will return. That is good.
If we call get after a delete, the put_0 will return. That is weird. The put_0 
is old data, and it should be dropped in flush. For client, put_0 should not 
exist after the put_1 happen.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18627) Fix TestRegionServerReadRequestMetrics

2017-08-18 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18627:
--

 Summary: Fix TestRegionServerReadRequestMetrics
 Key: HBASE-18627
 URL: https://issues.apache.org/jira/browse/HBASE-18627
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 2.0.0






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Resolved] (HBASE-15804) Some links in documentation are 404

2017-05-01 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-15804.

Resolution: Duplicate

see HBASE-15461

> Some links in documentation are 404
> ---
>
> Key: HBASE-15804
> URL: https://issues.apache.org/jira/browse/HBASE-15804
> Project: HBase
>  Issue Type: Bug
>  Components: documentation
>Reporter: Heng Chen
> Attachments: HBASE-15804.patch
>
>
> http://hbase.apache.org/book.html#security
> The link to {{Understanding User Authentication and Authorization in Apache 
> HBase}} return 404



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


[jira] [Resolved] (HBASE-16075) TestAcidGuarantees is flaky

2017-05-12 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-16075.

Resolution: Duplicate

see HBASE-17887

> TestAcidGuarantees is flaky
> ---
>
> Key: HBASE-16075
> URL: https://issues.apache.org/jira/browse/HBASE-16075
> Project: HBase
>  Issue Type: Bug
>  Components: test
>Affects Versions: 1.3.0
>Reporter: Mikhail Antonov
>
> https://builds.apache.org/job/HBase-1.3/744/jdk=latest1.7,label=yahoo-not-h2/testReport/junit/TEST-org.apache.hadoop.hbase.TestAcidGuarantees/xml/_init_/



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


[jira] [Created] (HBASE-18019) Clear redundant memstore scanner

2017-05-09 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18019:
--

 Summary: Clear redundant memstore scanner
 Key: HBASE-18019
 URL: https://issues.apache.org/jira/browse/HBASE-18019
 Project: HBase
  Issue Type: Improvement
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
 Fix For: 2.0.0


The HBASE-17655 remove the MemStoreScanner and it causes that the 
MemStore#getScanner(readpt) returns multi KeyValueScanner which consist of 
active, snapshot and pipeline. But StoreScanner only remove one mem scanner 
when refreshing current scanners.
{code}
for (int i = 0; i < currentScanners.size(); i++) {
  if (!currentScanners.get(i).isFileScanner()) {
currentScanners.remove(i);
break;
  }
}
{code}
The older scanners kept in the StoreScanner will hinder GC from releasing 
memory and lead to multiple scans on the same data.
 



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


[jira] [Created] (HBASE-18193) Master web UI presents the incorrect number of regions

2017-06-08 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18193:
--

 Summary: Master web UI presents the incorrect number of regions
 Key: HBASE-18193
 URL: https://issues.apache.org/jira/browse/HBASE-18193
 Project: HBase
  Issue Type: Bug
Affects Versions: 2.0.0, 3.0.0
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
Priority: Minor


{code:title=RegionStates.java}
  public Map 
getRegionByStateOfTable(TableName tableName) {
final State[] states = State.values();
final Map tableRegions =
new HashMap(states.length);
for (int i = 0; i < states.length; ++i) {
  tableRegions.put(states[i], new ArrayList());
}

for (RegionStateNode node: regionsMap.values()) {
  tableRegions.get(node.getState()).add(node.getRegionInfo());
}
return tableRegions;
  }
{code}
It always returns all regions...



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


[jira] [Created] (HBASE-18268) Eliminate the findbugs warnings for hbase-client

2017-06-26 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18268:
--

 Summary: Eliminate the findbugs warnings for hbase-client
 Key: HBASE-18268
 URL: https://issues.apache.org/jira/browse/HBASE-18268
 Project: HBase
  Issue Type: Sub-task
Reporter: Chia-Ping Tsai






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18266) suppress the warning from the spotbugs

2017-06-26 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18266:
--

 Summary: suppress the warning from the spotbugs
 Key: HBASE-18266
 URL: https://issues.apache.org/jira/browse/HBASE-18266
 Project: HBase
  Issue Type: Task
Reporter: Chia-Ping Tsai
 Fix For: 3.0.0, 1.4.0, 1.3.2, 1.2.7, 2.0.0-alpha-2, 1.1.12


It is hard to get +1 from QA currently because spotbugs is always unhappy...



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18267) The result from the postAppend is ignored

2017-06-26 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18267:
--

 Summary: The result from the postAppend is ignored
 Key: HBASE-18267
 URL: https://issues.apache.org/jira/browse/HBASE-18267
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai


{code:title=RegionCoprocessorHost.java|borderStyle=solid}
  /**
   * @param append Append object
   * @param result the result returned by the append
   * @throws IOException if an error occurred on the coprocessor
   */
  public void postAppend(final Append append, final Result result) throws 
IOException {
execOperation(coprocessors.isEmpty() ? null : new RegionOperation() {
  @Override
  public void call(RegionObserver oserver, 
ObserverContext ctx)
  throws IOException {
oserver.postAppend(ctx, append, result);
  }
});
  }

  /**
   * @param increment increment object
   * @param result the result returned by postIncrement
   * @throws IOException if an error occurred on the coprocessor
   */
  public Result postIncrement(final Increment increment, Result result) throws 
IOException {
return execOperationWithResult(result,
coprocessors.isEmpty() ? null : new RegionOperationWithResult() 
{
  @Override
  public void call(RegionObserver oserver, 
ObserverContext ctx)
  throws IOException {
setResult(oserver.postIncrement(ctx, increment, getResult()));
  }
});
  }
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (HBASE-18088) The version of scala plugin in the reporting section is missing

2017-05-20 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18088:
--

 Summary: The version of scala plugin in the reporting section is 
missing
 Key: HBASE-18088
 URL: https://issues.apache.org/jira/browse/HBASE-18088
 Project: HBase
  Issue Type: Bug
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
Priority: Trivial
 Fix For: 2.0.0


I just noticed the following warns.
{code}
[WARNING] Some problems were encountered while building the effective model for 
org.apache.hbase:hbase-resource-bundle:jar:2.0.0-SNAPSHOT
[WARNING] 'reporting.plugins.plugin.version' for 
org.scala-tools:maven-scala-plugin is missing. @ 
org.apache.hbase:hbase:2.0.0-SNAPSHOT, /home/chia7712/apache/hbase/pom.xml, 
line 3212, column 15
[WARNING]
[WARNING] Some problems were encountered while building the effective model for 
org.apache.hbase:hbase-server:jar:2.0.0-SNAPSHOT
[WARNING] 'reporting.plugins.plugin.version' for 
org.scala-tools:maven-scala-plugin is missing. @ 
org.apache.hbase:hbase:2.0.0-SNAPSHOT, /home/chia7712/apache/hbase/pom.xml, 
line 3212, column 15
[WARNING]
[WARNING] Some problems were encountered while building the effective model for 
org.apache.hbase:hbase-thrift:jar:2.0.0-SNAPSHOT
[WARNING] 'reporting.plugins.plugin.version' for 
org.scala-tools:maven-scala-plugin is missing. @ 
org.apache.hbase:hbase:2.0.0-SNAPSHOT, /home/chia7712/apache/hbase/pom.xml, 
line 3212, column 15
[WARNING]
[WARNING] Some problems were encountered while building the effective model for 
org.apache.hbase:hbase-shell:jar:2.0.0-SNAPSHOT
[WARNING] 'reporting.plugins.plugin.version' for 
org.scala-tools:maven-scala-plugin is missing. @ 
org.apache.hbase:hbase:2.0.0-SNAPSHOT, /home/chia7712/apache/hbase/pom.xml, 
line 3212, column 15
[WARNING]
[WARNING] Some problems were encountered while building the effective model for 
org.apache.hbase:hbase-protocol-shaded:jar:2.0.0-SNAPSHOT
[WARNING] 'reporting.plugins.plugin.version' for 
org.scala-tools:maven-scala-plugin is missing. @ 
org.apache.hbase:hbase:2.0.0-SNAPSHOT, /home/chia7712/apache/hbase/pom.xml, 
line 3212, column 15
{code}
We should add the version of the plugin to eliminate the warning.
{code:title=pom.xml#3212|borderStyle=solid}
  
org.scala-tools
maven-scala-plugin
  
{code}




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


[jira] [Created] (HBASE-18069) Fix flaky test TestReplicationAdminWithClusters#testDisableAndEnableReplication

2017-05-18 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18069:
--

 Summary: Fix flaky test 
TestReplicationAdminWithClusters#testDisableAndEnableReplication
 Key: HBASE-18069
 URL: https://issues.apache.org/jira/browse/HBASE-18069
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Priority: Trivial
 Fix For: 2.0.0, 1.4.0


If we run testDisableAndEnableReplication, we will get the following error 
message.
{code}
testDisableAndEnableReplication(org.apache.hadoop.hbase.client.replication.TestReplicationAdminWithClusters)
  Time elapsed: 2.046 sec  <<< FAILURE!
java.lang.AssertionError: expected:<1> but was:<0>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at 
org.apache.hadoop.hbase.client.replication.TestReplicationAdminWithClusters.testDisableAndEnableReplication(TestReplicationAdminWithClusters.java:160)
{code}
The critical code is shown below.
{code}
admin1.disableTableReplication(tableName);
HTableDescriptor table = admin1.getTableDescriptor(tableName);
for (HColumnDescriptor fam : table.getColumnFamilies()) {
  assertEquals(fam.getScope(), HConstants.REPLICATION_SCOPE_LOCAL);
}
table = admin2.getTableDescriptor(tableName);
for (HColumnDescriptor fam : table.getColumnFamilies()) {
  assertEquals(fam.getScope(), HConstants.REPLICATION_SCOPE_LOCAL);
}
{code}
Is HTD got from admin2 affected by admin1? I don't think so. We should remove 
the related assertion.



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


[jira] [Created] (HBASE-18158) Two running in-memory compaction threads may lose data

2017-06-04 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18158:
--

 Summary: Two running in-memory compaction threads may lose data
 Key: HBASE-18158
 URL: https://issues.apache.org/jira/browse/HBASE-18158
 Project: HBase
  Issue Type: Bug
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
 Fix For: 2.0.0


{code:title=CompactingMemStore.java|borderStyle=solid}
  private void stopCompaction() {
if (inMemoryFlushInProgress.get()) {
  compactor.stop();
  inMemoryFlushInProgress.set(false);
}
  }
{code}
The stopCompaction() set inMemoryFlushInProgress to false so there may be two 
in-memory compaction thread are executed simultaneously. If there are two 
running InMemoryFlushRunnable, the later InMemoryFlushRunnable may change the 
versionedList. 
{code:title=MemStoreCompactor.java|borderStyle=solid}
  public boolean start() throws IOException {
if (!compactingMemStore.hasImmutableSegments()) { // no compaction on empty 
pipeline
  return false;
}

// get a snapshot of the list of the segments from the pipeline,
// this local copy of the list is marked with specific version
versionedList = compactingMemStore.getImmutableSegments();
{code}
And the first InMemoryFlushRunnable will use the chagned versionedList to 
remove the corresponding segments.
{code:title=MemStoreCompactor#doCompaction|borderStyle=solid}
  if (!isInterrupted.get()) {
if (resultSwapped = compactingMemStore.swapCompactedSegments(
versionedList, result, (action==Action.MERGE))) {
  // update the wal so it can be truncated and not get too long
  compactingMemStore.updateLowestUnflushedSequenceIdInWAL(true); // 
only if greater
}
  }
{code}
In conclusion, first InMemoryFlushRunnable will remove the worng segment. And 
the later InMemoryFlushRunnable will introduce NPE because first 
InMemoryFlushRunnable set versionedList to null after compaction.
{code}
Exception in thread 
"RpcServer.default.FPBQ.Fifo.handler=3,queue=0,port=45712-inmemoryCompactions-1496563908038"
 java.lang.NullPointerException
        at 
org.apache.hadoop.hbase.regionserver.CompactionPipeline.swap(CompactionPipeline.java:119)
        at 
org.apache.hadoop.hbase.regionserver.CompactingMemStore.swapCompactedSegments(CompactingMemStore.java:283)
        at 
org.apache.hadoop.hbase.regionserver.MemStoreCompactor.doCompaction(MemStoreCompactor.java:212)
        at 
org.apache.hadoop.hbase.regionserver.MemStoreCompactor.start(MemStoreCompactor.java:122)
        at 
org.apache.hadoop.hbase.regionserver.CompactingMemStore.flushInMemory(CompactingMemStore.java:388)
        at 
org.apache.hadoop.hbase.regionserver.CompactingMemStore$InMemoryFlushRunnable.run(CompactingMemStore.java:500)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
{code}



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


[jira] [Created] (HBASE-18159) Oracle JDK 7 is now only available for those with an Oracle Support account

2017-06-04 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18159:
--

 Summary: Oracle JDK 7 is now only available for those with an 
Oracle Support account
 Key: HBASE-18159
 URL: https://issues.apache.org/jira/browse/HBASE-18159
 Project: HBase
  Issue Type: Bug
Reporter: Chia-Ping Tsai
Priority: Critical


Context: https://builds.apache.org/job/PreCommit-HBASE-Build/7064/console
Ref: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html

I make this as critical because it is hard to get a +1 from HadoopQA for 
branch-1.



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


[jira] [Resolved] (HBASE-9764) htable AutoFlush is hardcoded as false in PerformanceEvaluation

2017-06-05 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-9764.
---
Resolution: Won't Fix

PE don't use the AutoFlush flag because the HTable is deprecated

> htable AutoFlush is hardcoded as false in PerformanceEvaluation
> ---
>
> Key: HBASE-9764
> URL: https://issues.apache.org/jira/browse/HBASE-9764
> Project: HBase
>  Issue Type: Bug
>  Components: Performance, test
>Reporter: Liu Shaohui
>Assignee: Liu Shaohui
>Priority: Minor
> Attachments: HBASE-9764-0.94-v1.patch
>
>
> In PerformanceEvaluation, htable AutoFlush option is hardcoded as false
> {code:title=PerformanceEvaluation.java|borderStyle=solid}
> void testSetup() throws IOException {
>   this.admin = new HBaseAdmin(conf);
>   this.table = new HTable(conf, tableName);
>   this.table.setAutoFlush(false);
>   this.table.setScannerCaching(30);
> }
> {code}
> This makes the write performace unreal. 
> Should we add an autoflush option in PerformanceEvaluation?



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


[jira] [Resolved] (HBASE-11223) Limit the actions number of a call in the batch

2017-06-05 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-11223.

Resolution: Duplicate

We had implemented the limit in the client (see HBASE-17408) and server (see 
HBASE-14946)

> Limit the actions number of a call in the batch 
> 
>
> Key: HBASE-11223
> URL: https://issues.apache.org/jira/browse/HBASE-11223
> Project: HBase
>  Issue Type: Bug
>  Components: Client
>Affects Versions: 0.99.0
>Reporter: Liu Shaohui
>Assignee: Liu Shaohui
>
> Huge batch operation will make regionserver crash for GC.
> The extreme code like this:
> {code}
> final List deletes = new ArrayList();
> final long rows = 400;
> for (long i = 0; i < rows; ++i) {
>   deletes.add(new Delete(Bytes.toBytes(i)));
> }
> table.delete(deletes);
> {code}
> We should limit the actions number of a call in the batch. 



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


[jira] [Created] (HBASE-18201) add UT and docs for DataBlockEncodingTool

2017-06-09 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-18201:
--

 Summary: add UT and docs for DataBlockEncodingTool
 Key: HBASE-18201
 URL: https://issues.apache.org/jira/browse/HBASE-18201
 Project: HBase
  Issue Type: Task
Reporter: Chia-Ping Tsai
Priority: Minor


There is no example, documents, or tests for DataBlockEncodingTool. We should 
have it friendly if any use case exists. Otherwise, we should just get rid of 
it because DataBlockEncodingTool presumes that the implementation of cell 
returned from DataBlockEncoder is KeyValue. The presume may obstruct the 
cleanup of KeyValue references in the code base of read/write path.



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


[jira] [Resolved] (HBASE-17948) RegionServer: Unable to fetch region information. java.net.UnknownHostException: cilm063-thinkcentre-a58

2017-05-08 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-17948.

Resolution: Not A Problem

Please ask question in HBase user mailing list 

> RegionServer: Unable to fetch region information. 
> java.net.UnknownHostException: cilm063-thinkcentre-a58
> 
>
> Key: HBASE-17948
> URL: https://issues.apache.org/jira/browse/HBASE-17948
> Project: HBase
>  Issue Type: Bug
>  Components: hbase
>Affects Versions: 1.2.4
> Environment: Ubuntu 14.04 Linux
>Reporter: Hemant Jain
> Fix For: 1.2.4
>
>
> I have installed HBase (1.2.4) Hadoop(2.7.3) on Master slave multi cluster 
> combination.
> Master
> /etc/hosts/
> 127.0.0.1 developer4
> 192.168.1.149  master 
> 192.168.1.161  slave
> Slave
> 127.0.0.1  cilm063-ThinkCentre-A58
> 192.168.1.149   master
> 192.168.1.161   slave
> I have properly installed Hbase and working fine.
> When I run the below command then getting following error.
> hbase hbck details
> ERROR: RegionServer: cilm063-thinkcentre-a58,16020,1492865892520 Unable to 
> fetch region information. java.net.UnknownHostException: 
> cilm063-thinkcentre-a58
> Please help me  where I am doing wrong.



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


[jira] [Resolved] (HBASE-17636) Fix speling [sic] error in enable replication script output

2017-05-01 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-17636.

Resolution: Duplicate

duplicate, as [~Jan Hentschel] said.

> Fix speling [sic] error in enable replication script output
> ---
>
> Key: HBASE-17636
> URL: https://issues.apache.org/jira/browse/HBASE-17636
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 1.3.1
>Reporter: Lars George
>
> When enabling the replication for a table:
> {noformat}
> hbase(main):012:0> enable_table_replication 'repltest'
> 0 row(s) in 7.6080 seconds
> The replication swith of table 'repltest' successfully enabled
> {noformat}
> See {{swith}} as opposed to {{switch}}. Also, that sentence is somewhat too 
> complicated. Better is maybe {{Replication for table  successfully 
> enabled.}}?



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


[jira] [Created] (HBASE-17980) Any HRegionInfo we give out should be immutable

2017-05-01 Thread Chia-Ping Tsai (JIRA)
Chia-Ping Tsai created HBASE-17980:
--

 Summary: Any HRegionInfo we give out should be immutable
 Key: HBASE-17980
 URL: https://issues.apache.org/jira/browse/HBASE-17980
 Project: HBase
  Issue Type: Sub-task
Affects Versions: 2.0.0
Reporter: Chia-Ping Tsai
 Fix For: 2.0.0


This is similar to HBASE-15583.
# Introduce RegionInfo class. HRegionInfo will extend RegionInfo.
# Deprecate HRegionInfo to be removed in 3.0
# RegionInfo contain all of the read-only methods of HRegionInfo
# Add "RegionInfo Builder"



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


[jira] [Resolved] (HBASE-8028) Append, Increment: Adding rollback support

2017-04-30 Thread Chia-Ping Tsai (JIRA)

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

Chia-Ping Tsai resolved HBASE-8028.
---
Resolution: Won't Fix

We don't need the rollback in 2.0.0 after committing the HBASE-15158. The 
rollback for Append/Increment in 1.x has been fixed by HBASE-17519. 

> Append, Increment: Adding rollback support
> --
>
> Key: HBASE-8028
> URL: https://issues.apache.org/jira/browse/HBASE-8028
> Project: HBase
>  Issue Type: Bug
>  Components: regionserver
>Affects Versions: 0.94.5
>Reporter: Himanshu Vashishtha
>Assignee: Himanshu Vashishtha
> Fix For: 2.0.0
>
> Attachments: HBase-8028-v1.patch, HBase-8028-v2.patch, 
> HBase-8028-with-Increments-v1.patch, HBase-8028-with-Increments-v2.patch
>
>
> In case there is an exception while doing the log-sync, the memstore is not 
> rollbacked, while the mvcc is _always_ forwarded to the writeentry created at 
> the beginning of the operation. This may lead to scanners seeing results 
> which are not synched to the fs.



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


  1   2   3   >