Edouard Chevalier created IGNITE-2419: -----------------------------------------
Summary: Ignite on YARN do not handle memory overhead Key: IGNITE-2419 URL: https://issues.apache.org/jira/browse/IGNITE-2419 Project: Ignite Issue Type: Bug Components: hadoop Environment: hadoop cluster with YARN Reporter: Edouard Chevalier Priority: Critical When deploying ignite nodes with YARN, JVM are launched with a defined amount of memory (property IGNITE_MEMORY_PER_NODE transposed to the "-Xmx" jvm property) and YARN is told to provide container that would require exactly that amount of memory. But YARN monitors the memory of the overall process, not the heap: JVM can easily requires more memory than the heap (VM and/or native overheads, threads overhead, and in the case of ignite, possibly offheap data structures). If tasks require all of the heap, the process memory would be more far more than the heap memory. The YARN then would consider that node should be killed (and kills it !) and create another one. I have a scenario where tasks requires all of JVM memory and YARN is continously allocating/deallocating containers. Global task never finishes. My proposal is to implement a property IGNITE_OVERHEADMEMORY_PER_NODE like property spark.yarn.executor.memoryOverhead in spark (see : https://spark.apache.org/docs/latest/running-on-yarn.html#configuration ) . I can implement it and create a pull request in github. -- This message was sent by Atlassian JIRA (v6.3.4#6332)