[ 
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<Cell> 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<Cell> 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)

Reply via email to