You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Semen Boikov (JIRA)" <ji...@apache.org> on 2017/04/05 12:49:41 UTC
[jira] [Assigned] (IGNITE-2466) OutOfMemory when PRIMARY_SYNC mode
is used
[ https://issues.apache.org/jira/browse/IGNITE-2466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Semen Boikov reassigned IGNITE-2466:
------------------------------------
Assignee: Dmitry Karachentsev (was: Semen Boikov)
Hi,
I reviewed your changes, have some comments:
- I think new interface BackPressureTracker is not needed, just use existing GridNioMessageTracker everywhere. Also you can not change CommunicationListener, this is public API, so use class cast where needed.
- I don't like you added one more thread local in GridNioBackPressureControl. I think single thread local is enough, (threadProcessingMessage is true is there is non-null tracker)
- this changes in GridDhtAtomicCache:
{noformat}
if (node.isClient() && !dhtFut.isDone()) {
final BackPressureTracker tracker = GridNioBackPressureControl.threadTracker();
if (tracker != null) {
tracker.registerMessage();
dhtFut.listen(new IgniteInClosure<IgniteInternalFuture<Void>>() {
@Override public void apply(IgniteInternalFuture<Void> fut) {
tracker.deregisterMessage();
}
});
}
}
{noformat}
I think check 'node.isClient()' is not needed, it should not matter if update was initiated by client or server, instead you need add check taht writeSynchronizationMode = PRIMARY_SYNC
Thanks
> OutOfMemory when PRIMARY_SYNC mode is used
> ------------------------------------------
>
> Key: IGNITE-2466
> URL: https://issues.apache.org/jira/browse/IGNITE-2466
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 1.5.0.final
> Reporter: Denis Magda
> Assignee: Dmitry Karachentsev
> Fix For: 2.0
>
> Attachments: example-ignite.xml, MemTest.java
>
>
> To reproduce, run two server nodes with 2g of heap each and then MemTest. Servers will fail with OOME. If backups are disabled or there is only one server node, it works.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)