phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-1674) Snapshot isolation transaction support through Tephra
Date Sat, 21 Nov 2015 01:44:11 GMT

    [ https://issues.apache.org/jira/browse/PHOENIX-1674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15019271#comment-15019271
] 

ASF GitHub Bot commented on PHOENIX-1674:
-----------------------------------------

Github user samarthjain commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/131#discussion_r45538874
  
    --- Diff: phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java ---
    @@ -301,28 +476,80 @@ public void remove() {
                 
             };
         }
    +
    +	private void generateMutations(final TableRef tableRef, long timestamp,
    +			final Map<ImmutableBytesPtr, RowMutationState> values,
    +			final List<Mutation> mutationList,
    +			final List<Mutation> mutationsPertainingToIndex) {
    +		final PTable table = tableRef.getTable();
    +        boolean tableWithRowTimestampCol = table.getRowTimestampColPos() != -1;
    +		Iterator<Map.Entry<ImmutableBytesPtr,RowMutationState>> iterator = values.entrySet().iterator();
    +		long timestampToUse = timestamp;
    +        while (iterator.hasNext()) {
    +        	Map.Entry<ImmutableBytesPtr, RowMutationState> rowEntry = iterator.next();
    +            ImmutableBytesPtr key = rowEntry.getKey();
    +            RowMutationState state = rowEntry.getValue();
    +            if (tableWithRowTimestampCol) {
    +                RowTimestampColInfo rowTsColInfo = state.getRowTimestampColInfo();
    +                if (rowTsColInfo.useServerTimestamp()) {
    +                    // regenerate the key with this timestamp.
    +                    key = getNewRowKeyWithRowTimestamp(key, timestampToUse, table);
    +                } else {
    +                    if (rowTsColInfo.getTimestamp() != null) {
    +                        timestampToUse = rowTsColInfo.getTimestamp();
    +                    }
    +                }
    +            }
    +			PRow row = tableRef.getTable().newRow(connection.getKeyValueBuilder(), timestampToUse,
key);
    --- End diff --
    
    Very minor: indentation seems a bit off here.


> Snapshot isolation transaction support through Tephra
> -----------------------------------------------------
>
>                 Key: PHOENIX-1674
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1674
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: James Taylor
>              Labels: SFDC
>
> Tephra (http://tephra.io/ and https://github.com/caskdata/tephra) is one option for getting
transaction support in Phoenix. Let's use this JIRA to discuss the way in which this could
be integrated along with the pros and cons.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message