[
https://issues.apache.org/jira/browse/IGNITE-6866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Belyak reassigned IGNITE-6866:
----------------------------------------
Assignee: Alexander Belyak
> Allocate offheap on client
> --------------------------
>
> Key: IGNITE-6866
> URL: https://issues.apache.org/jira/browse/IGNITE-6866
> Project: Ignite
> Issue Type: Bug
> Security Level: Public(Viewable by anyone)
> Components: general
> Affects Versions: 2.1
> Reporter: Alexander Belyak
> Assignee: Alexander Belyak
>
> Often client use the same config file as a server and ignite start offheap
> memory for client too... but never use it. How it happens:
> 1) Default memory configuration for server is creating in
> IgnitionEx.initializeConfiguration() method:
> if (!myCfg.isClientMode() && myCfg.getMemoryConfiguration() == null)
> so if ignite configuration already contains memoryConfiguration - it stay
> there
> 2) In IgniteCacheDatabaseSharedManager.anActivate method do nothing only:
> if (cctx.kernalContext().clientNode() &&
> cctx.kernalContext().config().getMemoryConfiguration() == null)
> return;
> So if ignite configuration contains memory configuration - it will be
> allocated. Why its not good:
> 1) Memory allocation spend virtual memory (OS didn't really allocate memory
> before first access to it) and if overcommit_memory strategy is set to
> OVERCOMMIT_NEVER - it can block start client node (maybe first or second one)
> in same host (see: /proc/sys/vm/overcommit_memory and
> /proc/sys/vm/overcommit_ratio)
> 2) In IgniteKernal.checkPhysicalRam() we use maxSize of offheap memory and
> log warning about memory overusage
> Good news only one - often in memory configuration really big only maxSize,
> but initialSize is just about 256Mb so each client really allocate not so
> many RAM.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)