[jira] [Commented] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-09 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-21012:
---

{quote}+1 on patch. +1 for branch-2.0. Copy the doc changes and paste as RN for 
this issue. Thanks.
{quote}
Done. Thanks for your comment.

 

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch, 
> HBASE-21012.master.003.patch, HBASE-21012.master.004.patch, 
> HBASE-21012.master.005.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-09 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Release Note: HFiles generated by 2.0.0, 2.0.1, 2.1.0 are not forward 
compatible to 1.4.6-, 1.3.2.1-, 1.2.6.1-, and other inactive releases. Why 
HFile lose compatability is hbase in new versions (2.0.0, 2.0.1, 2.1.0) use 
protobuf to serialize/deserialize TimeRangeTracker (TRT) while old versions use 
DataInput/DataOutput. To solve this, We have to put HBASE-21012 to 2.x and put 
HBASE-21013 in 1.x. For more information, please check HBASE-21008.

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch, 
> HBASE-21012.master.003.patch, HBASE-21012.master.004.patch, 
> HBASE-21012.master.005.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


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

2018-08-09 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~reidchan] OK, I will find a day to backport this to branch-1, thanks everyone.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Fix For: 3.0.0, 2.2.0, 2.1.1
>
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.006.patch, 
> HBASE-18201.master.006.patch
>
>
> 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
(v7.6.3#76005)


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Attachment: HBASE-21012.master.005.patch

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch, 
> HBASE-21012.master.003.patch, HBASE-21012.master.004.patch, 
> HBASE-21012.master.005.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


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

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~reidchan] No problem.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Fix For: 3.0.0, 2.2.0
>
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.006.patch, 
> HBASE-18201.master.006.patch
>
>
> 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
(v7.6.3#76005)


[jira] [Commented] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-21012:
---

[~chia7712] Sorry, I didn't notice the wrong term either.  The next patch will 
correct that.

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch, 
> HBASE-21012.master.003.patch, HBASE-21012.master.004.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Commented] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-21012:
---

Josh Elser Thanks for your comments. 
{quote}I'd suggest just including an HFile with the old serialization and 
including it in src/test/resources. Then, you just write a test to make sure it 
can read that old HFile version. 
{quote}
HBase in 2.x are capable of reading HFile from old version, the problem is old 
HBase version can't read HFile generated by new HBase version. So we have to 
revert the way of serializing TRT. (This situation might not be called as 
"backward compatability", sorry about that.)

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch, 
> HBASE-21012.master.003.patch, HBASE-21012.master.004.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Attachment: HBASE-21012.master.004.patch

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch, 
> HBASE-21012.master.003.patch, HBASE-21012.master.004.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Commented] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-21012:
---

[~chia7712] I have already test the patch locally, but I have no idea about how 
to write the test since it cross two different hbase branches... 

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch, 
> HBASE-21012.master.003.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Attachment: HBASE-21012.master.003.patch
Status: Patch Available  (was: Open)

resubmit patch.

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch, 
> HBASE-21012.master.003.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Commented] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-21012:
---

All done.

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Attachment: HBASE-21012.master.003.patch

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch, HBASE-21012.master.003.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Attachment: HBASE-21012.master.002.patch

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> HBASE-21012.master.002.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-08 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Attachment: (was: image-2018-08-08-13-41-05-900.png)

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-07 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Attachment: image-2018-08-08-13-41-05-900.png

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch, 
> image-2018-08-08-13-41-05-900.png
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Commented] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-07 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-21012:
---

No problem, I will add docs in next patch. Thanks.

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Assigned] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-07 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng reassigned HBASE-21012:
-

Assignee: Kuan-Po Tseng

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Updated] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-07 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-21012:
--
Attachment: HBASE-21012.master.001.patch

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
> Attachments: HBASE-21012.master.001.patch
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


[jira] [Commented] (HBASE-21012) Revert the change of serializing TimeRangeTracker

2018-08-07 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-21012:
---

[~chia7712] May I take over this issue ?

> Revert the change of serializing TimeRangeTracker
> -
>
> Key: HBASE-21012
> URL: https://issues.apache.org/jira/browse/HBASE-21012
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Chia-Ping Tsai
>Priority: Critical
> Fix For: 3.0.0, 2.0.2, 2.1.1
>
>
> HBASE-18754 change the serialization of TimeRangeTracker from "manual way" to 
> protobuf. However, the change breaks the backward compatibility of hfile. We 
> should revert the change ASAP.



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


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

2018-08-07 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.006.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.006.patch, 
> HBASE-18201.master.006.patch
>
>
> 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
(v7.6.3#76005)


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

2018-08-06 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.006.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.006.patch
>
>
> 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
(v7.6.3#76005)


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

2018-08-06 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~reidchan] Thanks for your review. 
{quote} Is {{meta.getDataBlockEncoding()}} equals {{this.encoding}} (it looks 
so to me). If so, {{this.encoding = encoding}} can be removed IMO.
{quote}
Yes. meta.getDataBlockEncoding ==  encodingCtx.getDataBlockEncoding() == 
encoding.

But

 
{code:java}
meta.getDataBlockEncoding().equals(DataBlockEncoding.ROW_INDEX_V1){code}
 

is needed.

We can change the code to

 
{code:java}
encoding.equals(DataBlockEncoding.ROW_INDEX_V1) 
{code}
It seems more clear.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch, 
> HBASE-18201.master.005.patch
>
>
> 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
(v7.6.3#76005)


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

2018-08-05 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~reidchan] Could you take a look ?

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch, 
> HBASE-18201.master.005.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-16 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.005.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch, 
> HBASE-18201.master.005.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-16 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

It seems fail test isn't relate to this patch, resummit patch.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-16 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.005.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch, HBASE-18201.master.005.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-16 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

patch 005
- delete useless code.
- fix checkstyle issues.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-16 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.005.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch, 
> HBASE-18201.master.005.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-15 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

Patch 004

Bugs
 * When HFile includeTags is true, it does'nt mean all Cells in HFile contains 
tags, those don't contains tags will have a tagsLen((short) 0) part after the 
KeyValue structure. During the decoding process, decoder ROW_INDEX_V1  will not 
put tagsLen part back in cell if it is zero.

Tests
 * Add DataBlockEncodingTool testing for HFile with cells contasin tags or not.

Others
 * Fix some coding style problems.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-15 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.004.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch, HBASE-18201.master.004.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-01 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

No problem, I will add comments for every bug fixes, thanks for your patience.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-07-01 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

Sorry, I gave the wrong explain. The probolm is in
{code:java}
baosBytes = baos.toByteArray();
{code}
Encoder ROW_INDEX_V1 write integer in outputStream while the others write 
integer in byte array(baosBytes), we should change code like this
{code:java}
baos.flush();
baosBytes = baos.toByteArray();
this.dataBlockEncoder.endBlockEncoding(encodingCtx, out, baosBytes);
if(this.encodingCtx.getDataBlockEncoding().equals(DataBlockEncoding.ROW_INDEX_V1))
 {
  baosBytes = baos.toByteArray();
}{code}
Add baos.toByteArray() after endBlockEncoding again to make sure the integer 
writes in outputstream with Encoder ROW_INDEX_V1 dump to byte array (baosBytes).

The if branch is neccessary because Encoders excepts ROW_INDEX_V1 write integer 
in baosBytes directly, without if branch and do toByteArray() again, baosBytes 
won't contains the integer wrotten in endBlockEncoding.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-29 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

{quote}BufferedDataBlockEncoder should work as well? Those encoders don't write 
onDiskDataSize.{quote}
BufferedDataBlockEncoer#endBlockEncoding not writes onDiskDataSize but still 
writes integer called unencodedDataSizeWritten

{code:java}
  @Override
  public void endBlockEncoding(HFileBlockEncodingContext encodingCtx, 
DataOutputStream out,
  byte[] uncompressedBytesWithHeader) throws IOException {
BufferedDataBlockEncodingState state = (BufferedDataBlockEncodingState) 
encodingCtx
.getEncodingState();
// Write the unencodedDataSizeWritten (with header size)
Bytes.putInt(uncompressedBytesWithHeader,
  HConstants.HFILEBLOCK_HEADER_SIZE + DataBlockEncoding.ID_SIZE, 
state.unencodedDataSizeWritten
);
postEncoding(encodingCtx);
  }
{code}

{quote}That's what i meant, but i'm not sure if it should.{quote}
Yeah, DataBlockEncodingTool#checkStatistics iteratively called 
KeyValue#getBuffer and write it to unCompressedOutputStream. KeyValue#getBuffer 
return the backing array which should contains all elements in KV.
{code:java}
  uncompressedOutputStream.write(currentKV.getBuffer(),
  currentKV.getOffset(), currentKV.getLength());
{code}



> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-29 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

Thanks for reviewing, Reid Chan.
{quote}I think adjust the call order like following should works. No need to 
add another if branch, kind of confusing.
{code:java}
this.dataBlockEncoder.endBlockEncoding(encodingCtx, out, baosBytes);
baos.flush();
baosBytes = baos.toByteArray();
{code}
{quote}
The problem is ROW_INDEX_V1 extends different class, its #endBlockEncoding 
write (int) onDiskDataSize in OutputStream while other encoders write in byte 
array which is under 
 OutputStream. If we do #endBlockEncoding first and #flush, Encoder 
ROW_INDEX_V1 runs well, while byte array with other encoders is 
{(int)onDiskDataSize, byte, byte,byte} since they write (int)onDiskDataSize 
in byte array first and flush all data, but the right order is {byte, byte, 
, (int) onDiskDataSize}. (int)onDiskDataSize should be the last.

Could we add useTag = currentKV.getTagsLength() > 0 in while loop above? Once 
it is set true, the rest no needs to check.
{quote}
{code:java}
HStoreFile hsf = new HStoreFile(fs, path, conf, cacheConf, BloomType.NONE, 
true);
StoreFileReader reader = hsf.getReader();
boolean useTag = reader.getHFileReader().getFileContext().isIncludesTags();
{code}
Kinds of heavy to create a HStoreFile instance just to use its isIncludesTags 
method.
{quote}
Sorry, I didn't explain carefully. HStoreFile instance is already created in 
#testCodecs which happened before #checkStatistics , we could check if useTag 
is true in #testCodecs instead of creating a new one.
{quote}
{code:java}
DataBlockEncodingTool#checkStatistics
rawKVs = uncompressedOutputStream.toByteArray();
{code}
I doubt it a real rawKVs, since i see no about writing tags (if a kv has).
{quote}
Pardon me. Do you mean rawKVs may not be a real rawKVs because #checkStatistics 
doesn't write tags to rawKVs ?

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-28 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~chia7712] OK, will submit next patch soon, thanks for your patience.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-28 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

Yes, I think the way to check if hfile use tag by getting the 
HFileContext#isIncludesTags()  is a more simple way.  But I am not sure if 
there would be any bad consequence by doing this.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-28 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

Could we replace the way checking *_useTag_* with this code ? 
{code:java}
HStoreFile hsf = new HStoreFile(fs, path, conf, cacheConf, BloomType.NONE, 
true);
StoreFileReader reader = hsf.getReader();
boolean useTag = reader.getHFileReader().getFileContext().isIncludesTags();
{code}

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Sub-task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-28 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng edited comment on HBASE-18201 at 6/28/18 7:40 AM:


-Yeah, that would be wrong, > 0 should be >=0. Will fix in next patch.-

We need to go through all KVs and check if there is one or more KVs that 
tagLength > 0,then useTag is true.


was (Author: brandboat):
Yeah, that would be wrong, > 0 should be >=0. Will fix in next patch.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-28 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

Yeah, that would be wrong, > 0 should be >=0. Will fix in next patch.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-28 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~chia7712] The reason useTag only checks the last KV is because this tool load 
data from HFile directly, tags would be all or none. 
{code:java}
boolean useTag = (prevKV.getTagsLength() > 0);
{code}


> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-27 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~chia7712] patch003 is as follows,

Bugs(4)
- Encoder ROW_INDEX_V1 throw error, things go wrong in class EncodedDataBlock 
{code:java}
this.dataBlockEncoder.endBlockEncoding(encodingCtx, out, baosBytes);
{code}
the problem is ROW_INDEX_V1 write _onDiskDataSize_ in _out(DataOutputStream)_, 
the others write _onDisDataSize_ in _baosBytes(byte array)_ directly,
since _onDiskDataSize_ is neccessary in the next steps, we need to flush _out_ 
again after _endBlockEncoding_ to write _onDiskDataSize_.

- DataBlockEncodingTool _checkStatistics_ would let currentKV be null, fixed. 

- DataBlockEncodingTool _checkStatistics_ missing MemstoreTS.

- _compressedStream.reset()_ should happen before 
_compressingStream.resetState()_ since in GZ 
  _resetStatue()_ will write header in outputstream. If we let 
_compressedStream.reset()_ under _compressingStream.resetState()_, the header 
is gone.

Tests(1)
- Going through all the DataBlockEncodingTool with GZ compression algorithm to 
make sure it will run, not just compile correct.

Docs(1)
- Write down how to use DataBlockEncodingTool, which options is neccessary and 
all the options in detail, and the result after using this tool.

Others(1)
- Change options name OPT_ENCODING_ALGORITHM to OPT_COMPRESSION_ALGORITHM.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-27 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~chia7712] Me too, I will correct it in the next patch.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-26 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

[~chia7712] I wasn't change the logic of the code, what I modifed is to make 
sure the last kv isn't null. So yes, this only check the last kv, and I am also 
confusing about this segment...

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-25 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.003.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch, HBASE-18201.master.002.patch, 
> HBASE-18201.master.003.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-18 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

reattach patch to trigger testing.

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-18 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.002.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch, 
> HBASE-18201.master.002.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-15 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng commented on HBASE-18201:
---

Hi [~chia7712] !  I am not sure if I meet all the needs. Could you take a took ?

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch
>
>
> 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
(v7.6.3#76005)


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

2018-06-15 Thread Kuan-Po Tseng (JIRA)


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

Kuan-Po Tseng updated HBASE-18201:
--
Attachment: HBASE-18201.master.001.patch

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-18201.master.001.patch
>
>
> 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
(v7.6.3#76005)


[jira] [Updated] (HBASE-8518) Get rid of hbase.hstore.compaction.complete setting

2017-12-29 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-8518:
-
Attachment: HBASE-8518.master.v5.patch

Fixed that. Thanks for your advice.

> Get rid of hbase.hstore.compaction.complete setting
> ---
>
> Key: HBASE-8518
> URL: https://issues.apache.org/jira/browse/HBASE-8518
> Project: HBase
>  Issue Type: Improvement
>Reporter: Sergey Shelukhin
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Fix For: 2.0.0-beta-2
>
> Attachments: HBASE-8518-1.patch, HBASE-8518.master.v0.patch, 
> HBASE-8518.master.v1.patch, HBASE-8518.master.v2.patch, 
> HBASE-8518.master.v3.patch, HBASE-8518.master.v4.patch, 
> HBASE-8518.master.v5.patch, HBASE-8518.wip.patch
>
>
> hbase.hstore.compaction.complete is a strange setting that causes the 
> finished compaction to not complete (files are just left in tmp) in HStore. 
> It's used by one test.
> The setting with the same name is also used by CompactionTool, but that usage 
> is semi-unrelated and could probably be removed easily.



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


[jira] [Updated] (HBASE-8518) Get rid of hbase.hstore.compaction.complete setting

2017-12-29 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-8518:
-
Attachment: HBASE-8518.master.v4.patch

Modifying comments as below.
{code:java}
 /**
  * Create HStore instance.
  * @return If Mob is enabled, return HMobStore, otherwise return
  *  HStoreForTesting, a HStore for testing.
  */
{code}

Thanks for your review.

> Get rid of hbase.hstore.compaction.complete setting
> ---
>
> Key: HBASE-8518
> URL: https://issues.apache.org/jira/browse/HBASE-8518
> Project: HBase
>  Issue Type: Improvement
>Reporter: Sergey Shelukhin
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-8518-1.patch, HBASE-8518.master.v0.patch, 
> HBASE-8518.master.v1.patch, HBASE-8518.master.v2.patch, 
> HBASE-8518.master.v3.patch, HBASE-8518.master.v4.patch, HBASE-8518.wip.patch
>
>
> hbase.hstore.compaction.complete is a strange setting that causes the 
> finished compaction to not complete (files are just left in tmp) in HStore. 
> It's used by one test.
> The setting with the same name is also used by CompactionTool, but that usage 
> is semi-unrelated and could probably be removed easily.



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


[jira] [Updated] (HBASE-8518) Get rid of hbase.hstore.compaction.complete setting

2017-12-29 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-8518:
-
Attachment: HBASE-8518.master.v3.patch

All done. Thanks for your comments.

> Get rid of hbase.hstore.compaction.complete setting
> ---
>
> Key: HBASE-8518
> URL: https://issues.apache.org/jira/browse/HBASE-8518
> Project: HBase
>  Issue Type: Improvement
>Reporter: Sergey Shelukhin
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-8518-1.patch, HBASE-8518.master.v0.patch, 
> HBASE-8518.master.v1.patch, HBASE-8518.master.v2.patch, 
> HBASE-8518.master.v3.patch, HBASE-8518.wip.patch
>
>
> hbase.hstore.compaction.complete is a strange setting that causes the 
> finished compaction to not complete (files are just left in tmp) in HStore. 
> It's used by one test.
> The setting with the same name is also used by CompactionTool, but that usage 
> is semi-unrelated and could probably be removed easily.



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


[jira] [Updated] (HBASE-8518) Get rid of hbase.hstore.compaction.complete setting

2017-12-28 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-8518:
-
Attachment: HBASE-8518.master.v2.patch

Fix import errors

> Get rid of hbase.hstore.compaction.complete setting
> ---
>
> Key: HBASE-8518
> URL: https://issues.apache.org/jira/browse/HBASE-8518
> Project: HBase
>  Issue Type: Improvement
>Reporter: Sergey Shelukhin
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-8518-1.patch, HBASE-8518.master.v0.patch, 
> HBASE-8518.master.v1.patch, HBASE-8518.master.v2.patch, HBASE-8518.wip.patch
>
>
> hbase.hstore.compaction.complete is a strange setting that causes the 
> finished compaction to not complete (files are just left in tmp) in HStore. 
> It's used by one test.
> The setting with the same name is also used by CompactionTool, but that usage 
> is semi-unrelated and could probably be removed easily.



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


[jira] [Updated] (HBASE-8518) Get rid of hbase.hstore.compaction.complete setting

2017-12-28 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-8518:
-
Attachment: HBASE-8518.master.v1.patch

[~chia7712] Already done what you said, can you take a look ?

> Get rid of hbase.hstore.compaction.complete setting
> ---
>
> Key: HBASE-8518
> URL: https://issues.apache.org/jira/browse/HBASE-8518
> Project: HBase
>  Issue Type: Improvement
>Reporter: Sergey Shelukhin
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-8518-1.patch, HBASE-8518.master.v0.patch, 
> HBASE-8518.master.v1.patch, HBASE-8518.wip.patch
>
>
> hbase.hstore.compaction.complete is a strange setting that causes the 
> finished compaction to not complete (files are just left in tmp) in HStore. 
> It's used by one test.
> The setting with the same name is also used by CompactionTool, but that usage 
> is semi-unrelated and could probably be removed easily.



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


[jira] [Updated] (HBASE-8518) Get rid of hbase.hstore.compaction.complete setting

2017-12-27 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-8518:
-
Attachment: HBASE-8518.master.v0.patch

* delete "hbase.hstore.compaction.complete" settings in CompactionTool.java and 
HStore.java
* create another HStore (HStoreForTesting.java) which keep 
"hbase.hstore.compaction.complete" for Testing.

* HStoreForTesting.java contains the former compact method and its related 
method.
* HRegionForTesting.java is for creating different Stores : HStoreForTesting.

> Get rid of hbase.hstore.compaction.complete setting
> ---
>
> Key: HBASE-8518
> URL: https://issues.apache.org/jira/browse/HBASE-8518
> Project: HBase
>  Issue Type: Improvement
>Reporter: Sergey Shelukhin
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-8518-1.patch, HBASE-8518.master.v0.patch
>
>
> hbase.hstore.compaction.complete is a strange setting that causes the 
> finished compaction to not complete (files are just left in tmp) in HStore. 
> It's used by one test.
> The setting with the same name is also used by CompactionTool, but that usage 
> is semi-unrelated and could probably be removed easily.



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


[jira] [Commented] (HBASE-8518) Get rid of hbase.hstore.compaction.complete setting

2017-12-26 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-8518:
--

[~chia7712] Thanks for your comment. I will give it a try.

> Get rid of hbase.hstore.compaction.complete setting
> ---
>
> Key: HBASE-8518
> URL: https://issues.apache.org/jira/browse/HBASE-8518
> Project: HBase
>  Issue Type: Improvement
>Reporter: Sergey Shelukhin
>Assignee: Kuan-Po Tseng
>Priority: Minor
>  Labels: beginner
> Attachments: HBASE-8518-1.patch
>
>
> hbase.hstore.compaction.complete is a strange setting that causes the 
> finished compaction to not complete (files are just left in tmp) in HStore. 
> It's used by one test.
> The setting with the same name is also used by CompactionTool, but that usage 
> is semi-unrelated and could probably be removed easily.



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


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

2017-09-14 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-18201:
---

[~chia7712] May I take over this issue ?

> add UT and docs for DataBlockEncodingTool
> -
>
> Key: HBASE-18201
> URL: https://issues.apache.org/jira/browse/HBASE-18201
> Project: HBase
>  Issue Type: Task
>  Components: tooling
>Reporter: Chia-Ping Tsai
>Priority: Minor
>  Labels: beginner
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-17980:
--
Attachment: HBASE-17980.master.v6.patch

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0-alpha-3
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.002.patch, HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980.master.v3.patch, 
> HBASE-17980.master.v4.patch, HBASE-17980.master.v5.patch, 
> HBASE-17980.master.v6.patch
>
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-17980:
--
Attachment: HBASE-17980.master.v5.patch

[~chia7712] I try my best to replace almost static method impl inside HRI. And 
Fix all javadoc warnings. May u take a look ?

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0-alpha-3
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.002.patch, HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980.master.v3.patch, 
> HBASE-17980.master.v4.patch, HBASE-17980.master.v5.patch
>
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

[~stack] Almost done. My last question is could RegionInfoDisplay.java be 
placed in hbase-client module (in org.apache.hadoop.hbase.util) ? So we could 
replace all these deprecated methods below in HRegionInfo.

{code:java}
  public static String getDescriptiveNameFromRegionStateForDisplay(RegionState 
state, Configuration conf)
  public static byte[] getEndKeyForDisplay(RegionInfo ri, Configuration conf)
  public static byte[] getStartKeyForDisplay(RegionInfo ri, Configuration conf) 
  public static String getRegionNameAsStringForDisplay(RegionInfo ri, 
Configuration conf)
  public static byte[] getRegionNameForDisplay(RegionInfo ri, Configuration 
conf)
{code}

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0-alpha-3
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.002.patch, HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980.master.v3.patch, 
> HBASE-17980.master.v4.patch
>
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

[~stack] I am now working on it. Could you give me some time ? I will finish it 
as soon as possibile.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0-alpha-3
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.002.patch, HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980.master.v3.patch, 
> HBASE-17980.master.v4.patch
>
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-17980:
--
Attachment: HBASE-17980.master.v4.patch

remove accidentally uploaded netbeans settings.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0-alpha-3
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.002.patch, HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980.master.v3.patch, 
> HBASE-17980.master.v4.patch
>
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-17980:
--
Attachment: HBASE-17980.master.v3.patch

[~chia7712]] 
I already make those static IA.private and put them in RegionInfoUtil.java.
And put pb <-> RegionInfo to ProtobufUtil.java

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0-alpha-3
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.002.patch, HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980.master.v3.patch
>
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng edited comment on HBASE-17980 at 9/13/17 7:44 AM:


[~stack] Yeah, I have time to take it on. -But the file you recently attach is 
the same as I attached. Is it something wrong ?-

My mistake


was (Author: brandboat):
-[~stack] Yeah, I have time to take it on. But the file you recently attach is 
the same as I attached. Is it something wrong ?-

My mistake

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng edited comment on HBASE-17980 at 9/13/17 7:33 AM:


-[~stack] Yeah, I have time to take it on. But the file you recently attach is 
the same as I attached. Is it something wrong ?-

My mistake


was (Author: brandboat):
[~stack] Yeah, I have time to take it on. But the file you recently attach is 
the same as I attached. Is it something wrong ?

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-13 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

[~stack] Yeah, I have time to take it on. But the file you recently attach is 
the same as I attached. Is it something wrong ?

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.001.patch, 
> HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch, 
> HBASE-17980-master.v2.patch, HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

[~stack] Are you alreday doing this stuff ? There are just a few private static 
methods in RegionInfoBuilder. 
I think I can fix that today.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch, 
> HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

[~chia7712] [~stack] Here is the review board [link|http://example.com].

Yeah, those static methods makes RegionInfoBuilder looks too fat.
I will go check what problem cause these test stuck...

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch, 
> HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng edited comment on HBASE-17980 at 9/12/17 5:30 PM:


v2
- Rename UnmodifyableHRegionInfo.java to ImmutableHRegionInfo.java
- make ImmutableHRegionInfo IA.private
- make MutableRegionInfo private
- move all static methods inside MutableRI to RegionInfoBuilder
- move pb <-> RegionInfo to shaded ProtoBufUtil
- deprecated all static methods and toByteArray() and toDelimitedByteArray() in 
HRegionInfo, deprecated HRegionInfo.
- Deprecated Admin getOnlineRegions(ServerName) and getTableRegions(TableName), 
add getRegions(ServerName) getRegions(TableName)
- Add TestRegionInfoBuilder which copy all tests from HRegionInfo.
- purge useless method MetaMockingUtil#getMetaTableRowResultAsSplitRegion


was (Author: brandboat):
v2
- Rename UnmodifyableHRegionInfo.java to ImmutableHRegionInfo.java
- make ImmutableHRegionInfo IA.private
- make MutableRegionInfo private
- move all static methods inside MutableRI to RegionInfoBuilder
- move pb <-> RegionInfo to shaded ProtoBufUtil
- deprecated all static methods and toByteArray() and toDelimitedByteArray() in 
HRegionInfo, deprecated HRegionInfo.
- Deprecated Admin getOnlineRegions(ServerName) and getTableRegions(TableName), 
add getRegions(ServerName) getRegions(TableName)
- Add TestRegionInfoBuilder which copy all tests from HRegionInfo.


> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng edited comment on HBASE-17980 at 9/12/17 5:29 PM:


v2
- Rename UnmodifyableHRegionInfo.java to ImmutableHRegionInfo.java
- make ImmutableHRegionInfo IA.private
- make MutableRegionInfo private
- move all static methods inside MutableRI to RegionInfoBuilder
- move pb <-> RegionInfo to shaded ProtoBufUtil
- deprecated all static methods and toByteArray() and toDelimitedByteArray() in 
HRegionInfo, deprecated HRegionInfo.
- Deprecated Admin getOnlineRegions(ServerName) and getTableRegions(TableName), 
add getRegions(ServerName) getRegions(TableName)
- Add TestRegionInfoBuilder which copy all tests from HRegionInfo.



was (Author: brandboat):
v2
- Rename UnmodifyableHRegionInfo.java to ImmutableHRegionInfo.java
- make ImmutableHRegionInfo IA.private
- make MutableRegionInfo private
- move all static methods inside MutableRI to RegionInfoBuilder
- deprecated all static methods and toByteArray() and toDelimitedByteArray() in 
HRegionInfo, deprecated HRegionInfo.
- Deprecated Admin getOnlineRegions(ServerName) and getTableRegions(TableName), 
add getRegions(ServerName) getRegions(TableName)
- Add TestRegionInfoBuilder which copy all tests from HRegionInfo.


> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng edited comment on HBASE-17980 at 9/12/17 5:23 PM:


v2
- Rename UnmodifyableHRegionInfo.java to ImmutableHRegionInfo.java
- make ImmutableHRegionInfo IA.private
- make MutableRegionInfo private
- move all static methods inside MutableRI to RegionInfoBuilder
- deprecated all static methods and toByteArray() and toDelimitedByteArray() in 
HRegionInfo, deprecated HRegionInfo.
- Deprecated Admin getOnlineRegions(ServerName) and getTableRegions(TableName), 
add getRegions(ServerName) getRegions(TableName)
- Add TestRegionInfoBuilder which copy all tests from HRegionInfo.



was (Author: brandboat):
v2
- Rename UnmodifyableHRegionInfo.java to ImmutableHRegionInfo.java
- make ImmutableHRegionInfo IA.private
- make MutableRegionInfo private
- move all static methods inside MutableRI under RegionInfoBuilder
- deprecated all static methods and toByteArray() and toDelimitedByteArray() in 
HRegionInfo, deprecated HRegionInfo.
- Deprecated Admin getOnlineRegions(ServerName) and getTableRegions(TableName), 
add getRegions(ServerName) getRegions(TableName)
- Add TestRegionInfoBuilder which copy all tests from HRegionInfo.


> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

v2
- Rename UnmodifyableHRegionInfo.java to ImmutableHRegionInfo.java
- make ImmutableHRegionInfo IA.private
- make MutableRegionInfo private
- move all static methods inside MutableRI under RegionInfoBuilder
- deprecated all static methods and toByteArray() and toDelimitedByteArray() in 
HRegionInfo, deprecated HRegionInfo.
- Deprecated Admin getOnlineRegions(ServerName) and getTableRegions(TableName), 
add getRegions(ServerName) getRegions(TableName)
- Add TestRegionInfoBuilder which copy all tests from HRegionInfo.


> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-17980:
--
Attachment: HBASE-17980-master.v2.patch

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, 
> HBASE-17980.master.v1.patch, HBASE-17980-master.v2.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

[~stack] OK, I will leave closeRegion alone.
Then change both getOnlineRegions and getTableRegions to getRegions, thanks.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-12 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

Hello [~chia7712],
{code:java}
void closeRegion(final ServerName sn, final HRegionInfo ri) throws IOException; 
 
List getOnlineRegions(final ServerName sn) throws IOException;
List getTableRegions(final TableName tableName) throws IOException;
{code}

These are the three method need to be corrected, my question is if 
getOnlineRegions and getTableRegions is deprecated,
what name should we use to replace these new method ? 


> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-11 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

Sorry, I will submit another patch today or tomorrow.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-08 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

Copy that. Thanks for your advice~

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-08 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

Hello stack,

1. Yes, MutableRI is set to IA.Private. 
2. I will correct the ImmutableRI to be IA.Private. Sorry about this mistake.
3. MutableRI is public because HRI delegate all things to MutableRI in this 
patch, if not so, we have to let MutableRI be private.
Do you think let MutabableRI be private is better ???

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-08 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

Hello stack,

Now I make MutableRegionInfo public is because I make nearly all methods inside 
HRegionInfo delegate to MutableRegionInfo, so MutableRegion must be public in 
this patch.
My thought is let MutableRegionInfo be a private class only for 
RegionInfoBuilder to use after HRegionInfo is totally deleted.

Or make MutableRegionInfo private right now and let HRegionInfo remain it used 
to be ?

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-06 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng edited comment on HBASE-17980 at 9/6/17 6:29 AM:
---

Hello stack,
Now we have a Mutable(inside RegionInfoBuilder) and Immutable one, all 
HRegionInfo could be replaced with ImmutableHRegionInfo instead of 
{code:java}
public static Result getMetaTableRowResultAsSplitRegion(
  final HRegionInfo hri, final ServerName sn) throws IOException {
  hri.setOffline(true);
  hri.setSplit(true);
  return getMetaTableRowResult(hri, sn);
}
{code} in MetaMockingUtil.java. But I don't find any class is using this 
mehod...
I stiil keep MutableRegionInfo if anyone still need it can be modified.
And RegionInfoBuilder will build RegionInfo which isn't mutable. 

I didn't change Admin Interface API in this patch, should I replace all 
HRegionInfo to RegionInfo in this patch ???

I will modify getRegionInfoForReplica from 
{code:java}
public static MutableRegionInfo getRegionInfoForReplica(MutableRegionInfo 
regionInfo, int replicaId)
{code}
into this :
{code:java}
public static RegionInfo getRegionInfoForReplica(RegionInfo regionInfo, int 
replicaId)
{code}

Thanks for your review.


was (Author: brandboat):
Hello stack,
Now we have a Mutable(inside RegionInfoBuilder) and Immutable one, all 
HRegionInfo could be replaced with ImmutableHRegionInfo instead of 
{code:java}
public static Result getMetaTableRowResultAsSplitRegion(
  final HRegionInfo hri, final ServerName sn) throws IOException {
  hri.setOffline(true);
  hri.setSplit(true);
  return getMetaTableRowResult(hri, sn);
}
{code} in MetaMockingUtil.java. But I don't find any class is using this 
mehod...
I stiil keep MutableRegionInfo if anyone still need it can be modified.
And RegionInfoBuilder will build RegionInfo which isn't a mutable. 

I didn't change Admin Interface API in this patch, should I replace all 
HRegionInfo to RegionInfo in this patch ???

I will modify getRegionInfoForReplica from 
{code:java}
public static MutableRegionInfo getRegionInfoForReplica(MutableRegionInfo 
regionInfo, int replicaId)
{code}
into this :
{code:java}
public static RegionInfo getRegionInfoForReplica(RegionInfo regionInfo, int 
replicaId)
{code}

Thanks for your review.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-06 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

Hello stack,
Now we have a Mutable(inside RegionInfoBuilder) and Immutable one, all 
HRegionInfo could be replaced with ImmutableHRegionInfo instead of 
{code:java}
public static Result getMetaTableRowResultAsSplitRegion(
  final HRegionInfo hri, final ServerName sn) throws IOException {
  hri.setOffline(true);
  hri.setSplit(true);
  return getMetaTableRowResult(hri, sn);
}
{code} in MetaMockingUtil.java. But I don't find any class is using this 
mehod...
I stiil keep MutableRegionInfo if anyone still need it can be modified.
And RegionInfoBuilder will build RegionInfo which isn't a mutable. 

I didn't change Admin Interface API in this patch, should I replace all 
HRegionInfo to RegionInfo in this patch ???

I will modify getRegionInfoForReplica from 
{code:java}
public static MutableRegionInfo getRegionInfoForReplica(MutableRegionInfo 
regionInfo, int replicaId)
{code}
into this :
{code:java}
public static RegionInfo getRegionInfoForReplica(RegionInfo regionInfo, int 
replicaId)
{code}

Thanks for your review.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-04 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-17980:
--
Attachment: HBASE-17980.master.v1.patch

Add missing license and remove trailing space.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch, HBASE-17980.master.v1.patch
>
>
> 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.4.14#64029)


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

2017-09-04 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-17980:
--
Status: Patch Available  (was: Open)

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch
>
>
> 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.4.14#64029)


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

2017-09-04 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng updated HBASE-17980:
--
Attachment: HBASE-17980.master.v0.patch

1. Introduce RegionInfo class. HRegionInfo implements RegionInfo.
2. Deprecate HRegionInfo to be removed in 3.0
3. Interface RegionInfo contain all of the read-only methods of HRegionInfo
4. Add "RegionInfo Builder"
5. Rename UnmodifyableHRegionInfo.java to ImmutableHRegionInfo.java
6. Replace HRegionInfo in #getOnlineRegions and #getOfflineRegions in 
HBaseAdmin.java with ImmutableHRegionInfo

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> Fix For: 2.0.0
>
> Attachments: HBASE-17980.master.v0.patch
>
>
> 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.4.14#64029)


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

2017-09-01 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-17980:
---

Almost done. Now I am adding some tests. 
But I have a question, I am not quite sure which place should I replace 
HRegionInfo with ImmutableHRegionInfo. 
What I pretty sure is that in HBaseAdmin List 
getOnlineRegions(ServerName sn)
this methods should return ImmutableHRegionInfo.

> 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
>Assignee: Kuan-Po Tseng
>  Labels: beginner
> 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.4.14#64029)


[jira] [Commented] (HBASE-16014) Get and Put constructor argument lists are divergent

2016-07-09 Thread Kuan-Po Tseng (JIRA)

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

Kuan-Po Tseng commented on HBASE-16014:
---

[~ndimiduk] Are you going to take this issue ? I would like to solve this. May 
I ?

> Get and Put constructor argument lists are divergent
> 
>
> Key: HBASE-16014
> URL: https://issues.apache.org/jira/browse/HBASE-16014
> Project: HBase
>  Issue Type: Bug
>Reporter: Nick Dimiduk
>
> API for construing Get and Put objects for a specific rowkey is quite 
> different. 
> [Put|http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Put.html#constructor_summary]
>  supports many more variations for specifying the target rowkey and timestamp 
> compared to 
> [Get|http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Get.html#constructor_summary].
>  Notably lacking are {{Get(byte[], int, int)}} and {{Get(ByteBuffer)}} 
> variations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)