[
https://issues.apache.org/jira/browse/HBASE-2361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848404#action_12848404
]
stack commented on HBASE-2361:
------------------------------
Patch looks good. Option #3 seems fine in above.
+ Would it be worthwhile making the "optimization" that if no replication
config, do not create a scopes List? Or would this make things a little
involved?
+ REPLICATION_SCOPE_LOCAL should be in HLog rather than in HConstants? Is it
ever used outside of HLog?
+ For usual case, are we making two kvs arrays everytime we do a readFields?
Once when the WALEdit is constructed as part of construction and then again
inside inside the if/elses? We should make it once only? Before this patch
inside in readFields, we were doing a new ArrayList() when perhaps it should
have been if (!this.kvs.empty()) this.kvs.clear() or new ArrayList(). Same for
scopes List.
+ Is this right: + kvs = new ArrayList<KeyValue>(0);? Should be '1'?
> WALEdit broke replication scope
> -------------------------------
>
> Key: HBASE-2361
> URL: https://issues.apache.org/jira/browse/HBASE-2361
> Project: Hadoop HBase
> Issue Type: Bug
> Reporter: Jean-Daniel Cryans
> Assignee: Jean-Daniel Cryans
> Fix For: 0.21.0
>
> Attachments: HBASE-2361.patch
>
>
> Before HBASE-2283, each KV had a HLogKey with a replication scope. Now a key
> applies to a list of KVs that spans multiple families so a single scope
> doesn't work anymore. Multiple possible solutions:
> - Each KV have their own scope. We already ruled that out in a previous jira
> since that means the scope would end up in the HFiles.
> - Store pairs of scope/KV in WALEdit instead of straight KVs.
> - Have 2 parallel lists in WALEdit, one for KVs and the other for scopes.
> - Subclass KV and add the scope there, those would be created when inserted
> in the WAL and would contain the KV stored in the HFiles.
> I'm sure there are other solutions, discuss.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.