[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-24 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Resolution: Fixed
Status: Resolved  (was: Patch Available)

Pushed to master and branch-2. Thanks all for reviewing.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Affects Versions: 3.0.0, 2.0.0-alpha-3
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 3.0.0, 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch, 
> HBASE-18825-v4.patch, HBASE-18825-v5.patch, HBASE-18825-v6.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-24 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Release Note: 
Cleanup the StoreFile interface.

The metadata keys are moved to HStoreFile.

These methods are removed:
CacheConfig getCacheConf();
byte[] getMetadataValue(byte[] key);
boolean isCompactedAway();
boolean isReferencedInReads();
void initReader() throws IOException;
StoreFileScanner getPreadScanner(boolean cacheBlocks, long readPt, long 
scannerOrder, boolean canOptimizeForNonNullColumn);
StoreFileScanner getStreamScanner(boolean canUseDropBehind, boolean 
cacheBlocks, boolean isCompaction, long readPt, long scannerOrder, boolean 
canOptimizeForNonNullColumn) throws IOException;
StoreFileReader getReader();
void closeReader(boolean evictOnClose) throws IOException;
void markCompactedAway();
void deleteReader() throws IOException;

Notice that these methods are still available in HStoreFile. 

And the return value of getFirstKey and getLastKey are changed from Cell to 
Optional to better indicate that they may not be available.


  was:
Cleanup the StoreFile interface.

The metadata keys are moved to HStoreFile.

These methods are removed:
CacheConfig getCacheConf();
byte[] getMetadataValue(byte[] key);
boolean isCompactedAway();
boolean isReferencedInReads();
void initReader() throws IOException;
StoreFileScanner getPreadScanner(boolean cacheBlocks, long readPt, long 
scannerOrder, boolean canOptimizeForNonNullColumn);
StoreFileScanner getStreamScanner(boolean canUseDropBehind, boolean 
cacheBlocks, boolean isCompaction, long readPt, long scannerOrder, boolean 
canOptimizeForNonNullColumn) throws IOException;
StoreFileReader getReader();
void closeReader(boolean evictOnClose) throws IOException;
void markCompactedAway();
void deleteReader() throws IOException;

Notice that they are still available in HStoreFile. And the return value of 
getFirstKey and getLastKey are changed from Cell to Optional to better 
indicate that they may not be available.



> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Affects Versions: 3.0.0, 2.0.0-alpha-3
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 3.0.0, 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch, 
> HBASE-18825-v4.patch, HBASE-18825-v5.patch, HBASE-18825-v6.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-24 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Release Note: 
Cleanup the StoreFile interface.

The metadata keys are moved to HStoreFile.

These methods are removed:
CacheConfig getCacheConf();
byte[] getMetadataValue(byte[] key);
boolean isCompactedAway();
boolean isReferencedInReads();
void initReader() throws IOException;
StoreFileScanner getPreadScanner(boolean cacheBlocks, long readPt, long 
scannerOrder, boolean canOptimizeForNonNullColumn);
StoreFileScanner getStreamScanner(boolean canUseDropBehind, boolean 
cacheBlocks, boolean isCompaction, long readPt, long scannerOrder, boolean 
canOptimizeForNonNullColumn) throws IOException;
StoreFileReader getReader();
void closeReader(boolean evictOnClose) throws IOException;
void markCompactedAway();
void deleteReader() throws IOException;

Notice that they are still available in HStoreFile. And the return value of 
getFirstKey and getLastKey are changed from Cell to Optional to better 
indicate that they may not be available.


> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Affects Versions: 3.0.0, 2.0.0-alpha-3
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 3.0.0, 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch, 
> HBASE-18825-v4.patch, HBASE-18825-v5.patch, HBASE-18825-v6.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-24 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Attachment: HBASE-18825-v6.patch

Fix compile error.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Affects Versions: 3.0.0, 2.0.0-alpha-3
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 3.0.0, 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch, 
> HBASE-18825-v4.patch, HBASE-18825-v5.patch, HBASE-18825-v6.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-24 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Affects Version/s: 3.0.0
   2.0.0-alpha-3
 Hadoop Flags: Incompatible change,Reviewed
Fix Version/s: 3.0.0

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Affects Versions: 3.0.0, 2.0.0-alpha-3
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 3.0.0, 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch, 
> HBASE-18825-v4.patch, HBASE-18825-v5.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-24 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Attachment: HBASE-18825-v5.patch

More cleanups.

Add comment to StoreFile interface to tell developers that you should not use 
this interface if you are implementation something inside HBase, use HStoreFile 
directly.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch, 
> HBASE-18825-v4.patch, HBASE-18825-v5.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-23 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Attachment: HBASE-18825-v4.patch

Address several comments on RB.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch, 
> HBASE-18825-v4.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-19 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Attachment: HBASE-18825-v3.patch

Retry.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch, HBASE-18825-v3.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-18 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Attachment: HBASE-18825-v3.patch

Fix failed UTs and javadoc warnings.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch, HBASE-18825-v3.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-18 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Attachment: HBASE-18825-v2.patch

Fix findbugs warnings and some failed UTs.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch, 
> HBASE-18825-v2.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-18 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Attachment: HBASE-18825-v1.patch

Purge all unnecessary usage of StoreFile. Remove several methods in StoreFile 
interface. The rule is that the method uses IA.Private types as return value or 
parameters. And also change some of the nullable return values to Optional. Fix 
the compile error.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch, HBASE-18825-v1.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-18 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Attachment: HBASE-18825.patch

An initial version. Let's see the pre commit result first. Will do more cleanup 
later.

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch
>
>
> Use generic types to avoid too many casts.



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


[jira] [Updated] (HBASE-18825) Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface

2017-09-18 Thread Duo Zhang (JIRA)

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

Duo Zhang updated HBASE-18825:
--
Status: Patch Available  (was: Open)

> Use HStoreFile instead of StoreFile in our own code base and remove 
> unnecessary methods in StoreFile interface
> --
>
> Key: HBASE-18825
> URL: https://issues.apache.org/jira/browse/HBASE-18825
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18825.patch
>
>
> Use generic types to avoid too many casts.



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