Add author, date, and JIRA you are referring to.
Tags are going to be handled by cps and not be native? Or is thought that we do them as CP first and then pull them native?
Why does hfile care about tags? It is not doing interpretation of the Cells it has?
You don't want to add addTags to Mutation so you can do Put#addTags? We can do this later I suppose.
If tags as attribute, maybe have a special key, something like, tags.visibility... so know which attributes are for inclusion in tags.
Should you make a TaggedKeyValueCodec or you think it fine just making KeyValueCodec handle tags if present?
So, pass a cellblock to hfile and then add codec metadata to hfile metadata? Hmm... I suppose using a codec breaks when you get to hfile because you have to do a kv at a time, unless you can do append(Codec). Besides, hfile is broke at the moment in that it only knows one kind of kv serialization and it is baked in everwhere. How you propose we fix this? Can we move hfile to be Cell based?
Is it good adding tags at end of kv? I suppose it is fine for now getting them in. We can do an alternate serialization later, one that keeps tags close so we can spin through them fast w/o having to read value data.
"With KeyValuecodecs in place now we would issue two reads to read the total KV size and then read the entire byte array and then form the KVs." – it has to be two reads? COuld we not write the block as a KeyValueCodec? And then in hfile metadata say what Codec class writing blocks was?
We need to change hfile so it does Cells. HFileBlockEncoders also are broke in that they presume the KV serialization format. HFileBlockEncoders should be like the new Cell Codecs.
You say "All the encoders will need to understand the tags." Would be best for all if hfiles understood Cells. When you say additional 'read', do you mean a new seek?
"...but we would not be able to use the KeyValueCodec.decoder() on the HFileBlocks." can we not make this happen? HFileBlockEncoders are broke.
"This would involve changes to the HFileBlockHeader." Could hfile blocks be cellblocks? And in meta data for hfile say what decoder to use?