[
https://issues.apache.org/jira/browse/PHOENIX-5435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17246900#comment-17246900
]
ASF GitHub Bot commented on PHOENIX-5435:
-----------------------------------------
ChinmaySKulkarni commented on a change in pull request #913:
URL: https://github.com/apache/phoenix/pull/913#discussion_r539718201
##########
File path: phoenix-core/src/main/java/org/apache/phoenix/util/ScanUtil.java
##########
@@ -1239,4 +1239,21 @@ public static boolean isDummy(List<Cell> result) {
Cell cell = result.get(0);
return CellUtil.matchingColumn(cell, EMPTY_BYTE_ARRAY,
EMPTY_BYTE_ARRAY);
}
+
+ public static void setWALAnnotationAttributes(PTable table, Scan scan) {
Review comment:
@gjacoby126 Here is my understanding overall, please correct me if I'm
wrong. There are 2 basic paths:
1. (Client-side delete and upsert-values) Client issues Puts/Deletes
directly: This is handled in `MutationState. annotateMutationsWithMetadata()`
2. (Server-side delete and upsert-selects) Client issues scans, the server
intercepts this and issues Put/Delete mutations based on the results read: This
is what this method handles right? My understanding is we set the scan
attributes in UpsertCompiler and DeleteCompiler and this is intercepted in
`UngroupedAggregateRegionScanner` where we read the scan attribute and set it
on the mutations.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Annotate HBase WALs with Phoenix Metadata
> -----------------------------------------
>
> Key: PHOENIX-5435
> URL: https://issues.apache.org/jira/browse/PHOENIX-5435
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: Geoffrey Jacoby
> Assignee: Geoffrey Jacoby
> Priority: Major
> Attachments: PHOENIX-5435-4.x.patch
>
>
> HBase write-ahead-logs (WALs) drive not only failure recovery, but HBase
> replication and some HBase backup frameworks. The WALs contain HBase-level
> metadata such as table and region, but lack Phoenix-level metadata. That
> means that it's quite difficult to build correct logic that needs to know
> about Phoenix-level constructs such as multi-tenancy, views, or indexes.
> HBASE-22622 and HBASE-22623 add the capacity for coprocessors to annotate
> extra key/value pairs of metadata into the HBase WAL. We should have the
> option to annotate the tuple <tenant_id, table-or-view-name, timestamp>, or
> some hashed way to reconstruct that tuple into the WAL. It should have a
> feature toggle so operators who don't need it don't bear the slight extra
> storage cost.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)