[ https://issues.apache.org/jira/browse/HBASE-7233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13528196#comment-13528196 ]
Matt Corgan commented on HBASE-7233: ------------------------------------ Yeah - inverse of CellOutputStream is CellScanner, though now thinking it should not even have the resetToBeforeFirstEntryMethod() for cases where you can no longer access the beginning of the stream, like when scanning chunks of cells coming across the wire. CellScanner is basically taking the sequential access methods of KeyValueScanner, while CellSearcher has the random access methods. I was thinking they should be separate because you can't always do random access, like when streaming server->client. I was leaving them in the prefix-tree module in case we wanted to adapt KeyValueScanner rather than replacing it. But it looks like you need something to work with in the mean time, so I'd say using the CellScanner is a good solution. I'm not sure about the IOException on CellOutputStream.write() given that the interface also has the flush() method. Like what does flush do if write is doing IO? All of my use cases use it more like a buffer/append method where you are writing it only to memory structures. That being said, looks like java.io.OutputStream.write() throws it, so i suppose we should follow suit. > Serializing KeyValues > --------------------- > > Key: HBASE-7233 > URL: https://issues.apache.org/jira/browse/HBASE-7233 > Project: HBase > Issue Type: Bug > Reporter: stack > Assignee: stack > Priority: Blocker > Fix For: 0.96.0 > > Attachments: 7233sketch.txt, 7233.txt, 7233-v2.txt > > > Undo KeyValue being a Writable. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira