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

Thomas D'Silva commented on PHOENIX-3612:
-----------------------------------------

[~jamestaylor]


We currently check the size of the {{Map<TableRef, 
Map<ImmutableBytesPtr,RowMutationState>> mutations}} map in the MutationState 
constructor and throw an exception if it exceeds the  
{{QueryServices.MAX_MUTATION_SIZE_ATTRIB}}  limit, so we don't have the 
{{List<Mutation>}} at this point, should we estimate the size based on 
{{RowMutationState}} which has the column values ? 

Should I keep the existing config and add a new one to maintain b/w 
compatibility? (and use the lower of the byte based and row count limit)





> Make tracking of max allowed number of mutations bytes based instead of row 
> based
> ---------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3612
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3612
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Thomas D'Silva
>             Fix For: 4.11.0
>
>
> Some remaining work related to PHOENIX-541 to track the byte-size of all 
> mutations being buffered instead of the number of rows:
> - Make similar changes QueryServices.MAX_MUTATION_SIZE_ATTRIB - making it 
> byte-based instead of row-count-based. Usage of this config parameter would 
> be isolated to MutationState, I believe. We should be able to come up with an 
> accurate size based on the underlying Mutation and/or Delete info we store in 
> PRowImpl.
> - Have a reasonable (smaller) default for the new 
> QueryServices.MAX_MUTATION_SIZE_BYTES_ATTRIB
> This is essentially a guard on the memory usage. It could potentially 
> leverage our MemoryManager.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to