[ 
https://issues.apache.org/jira/browse/CASSANDRA-17655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brad Schoening updated CASSANDRA-17655:
---------------------------------------
    Description: 
Several articles on Cassandra note that certain workloads, especially large 
partitions, can cause humongous allocations in Java, which can be reduced, but 
not always eliminated by increasing RegionSize.  RegionSize max is 32MB.  
Humongous allocations are an undesirable performance issue because new objects 
get directly allocated in old space.

Below is a sample message seen in the gc.log

2022-05-23T18:46:58.743+0800: 3758624.170: [GC pause (G1 Humongous Allocation) 
(young) (initial-mark) 3758624.171: [G1Ergonomics (CSet Construction) start 
choosing CSet, _pending_cards: 56725, predicted base time: 39.83 ms, remaining 
time: 160.17 ms, target pause time: 200.00 ms]

Instead of Cassandra users tuning RegionSize manually, a better solution would 
be for Cassandra to limit the size of allocations, or consider moving humongous 
allocations off heap.

 

References

[https://docs.oracle.com/en/java/javase/11/gctuning/garbage-first-g1-garbage-collector1.html#GUID-D74F3CC7-CC9F-45B5-B03D-510AEEAC2DAC]

[https://stevenlacerda.medium.com/identifying-and-fixing-humongous-allocations-in-cassandra-bf46444cec41]

https://krzysztofslusarski.github.io/2020/11/10/humongous.html

  was:
Several articles on Cassandra note that certain workloads, especially large 
partitions, can cause humongous allocations in Java, which can be reduced, but 
not always eliminated by increasing RegionSize.  RegionSize max is 32MB.  
Humongous allocations are an undesirable performance issue because new objects 
get directly allocated in old space.

Below is a sample message seen in the gc.log

2022-05-23T18:46:58.743+0800: 3758624.170: [GC pause (G1 Humongous Allocation) 
(young) (initial-mark) 3758624.171: [G1Ergonomics (CSet Construction) start 
choosing CSet, _pending_cards: 56725, predicted base time: 39.83 ms, remaining 
time: 160.17 ms, target pause time: 200.00 ms]

Instead of users tweaking RegionSize, a better solution would be for Cassandra 
to limit the size of allocations, or consider moving humongous allocations off 
heap.

 

References

[https://docs.oracle.com/en/java/javase/11/gctuning/garbage-first-g1-garbage-collector1.html#GUID-D74F3CC7-CC9F-45B5-B03D-510AEEAC2DAC]

[https://stevenlacerda.medium.com/identifying-and-fixing-humongous-allocations-in-cassandra-bf46444cec41]


> Prevent JVM Humongous allocations
> ---------------------------------
>
>                 Key: CASSANDRA-17655
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17655
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Brad Schoening
>            Priority: Normal
>
> Several articles on Cassandra note that certain workloads, especially large 
> partitions, can cause humongous allocations in Java, which can be reduced, 
> but not always eliminated by increasing RegionSize.  RegionSize max is 32MB.  
> Humongous allocations are an undesirable performance issue because new 
> objects get directly allocated in old space.
> Below is a sample message seen in the gc.log
> 2022-05-23T18:46:58.743+0800: 3758624.170: [GC pause (G1 Humongous 
> Allocation) (young) (initial-mark) 3758624.171: [G1Ergonomics (CSet 
> Construction) start choosing CSet, _pending_cards: 56725, predicted base 
> time: 39.83 ms, remaining time: 160.17 ms, target pause time: 200.00 ms]
> Instead of Cassandra users tuning RegionSize manually, a better solution 
> would be for Cassandra to limit the size of allocations, or consider moving 
> humongous allocations off heap.
>  
> References
> [https://docs.oracle.com/en/java/javase/11/gctuning/garbage-first-g1-garbage-collector1.html#GUID-D74F3CC7-CC9F-45B5-B03D-510AEEAC2DAC]
> [https://stevenlacerda.medium.com/identifying-and-fixing-humongous-allocations-in-cassandra-bf46444cec41]
> https://krzysztofslusarski.github.io/2020/11/10/humongous.html



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to