[ https://issues.apache.org/jira/browse/PHOENIX-3612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas D'Silva updated PHOENIX-3612: ------------------------------------ Attachment: PHOENIX-3612.patch [~jamestaylor] Can you please review? I set the default max mutation size to 100MB. I also modified MutationState.getMutationBatchList to use KeyValueUtil.calculateMutationDiskSize() instead of heapSize() {code} for (Mutation mutation : allMutationList) { - long mutationSizeBytes = mutation.heapSize(); + long mutationSizeBytes = KeyValueUtil.calculateMutationDiskSize(mutation); if (currentList.size() == batchSize || currentBatchSizeBytes + mutationSizeBytes > batchSizeBytes) { {code} > 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 > > Attachments: PHOENIX-3612.patch > > > 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)