mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

vharseko
26.00.2018 6aa68c7825ea2602bfb37c83115e04c70aa3a5af
Merge pull request #26 from vharseko/master

Fix Windows 7 client reset
3 files modified
27 ■■■■ changed files
forgerock-parent @ 837b92 2 ●●● patch | view | raw | blame | history
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/DefaultTCPNIOTransport.java 6 ●●●● patch | view | raw | blame | history
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ServerTCPNIOTransport.java 19 ●●●●● patch | view | raw | blame | history
forgerock-parent
@@ -1 +1 @@
Subproject commit 877532cd02d579e83b30386d8fe35c6b385fc560
Subproject commit 837b927afd15f2463ac850f75c350261f4d69815
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/DefaultTCPNIOTransport.java
@@ -20,7 +20,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.glassfish.grizzly.memory.HeapMemoryManager;
import org.glassfish.grizzly.memory.PooledMemoryManager;
import org.glassfish.grizzly.nio.transport.TCPNIOTransport;
import org.glassfish.grizzly.nio.transport.TCPNIOTransportBuilder;
import org.glassfish.grizzly.strategies.SameThreadIOStrategy;
@@ -135,8 +135,8 @@
            // Enabled by default.
            builder.setReuseAddress(Boolean.parseBoolean(reuseAddressStr));
        }
        // Default heap manager has changed in grizzly 2.3.27 to the more memory consuming PooledMemoryManager
        builder.setMemoryManager(new HeapMemoryManager());
        builder.setMemoryManager(new PooledMemoryManager(true));
        final TCPNIOTransport transport = builder.build();
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ServerTCPNIOTransport.java
@@ -37,7 +37,6 @@
    private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
    static final ServerTCPNIOTransport SERVER_TRANSPORT = new ServerTCPNIOTransport();
    private static final long MB = 1024 * 1024;
    private ServerTCPNIOTransport() {
        // Prevent instantiation.
@@ -98,24 +97,8 @@
            // Enabled by default.
            builder.setReuseAddress(Boolean.parseBoolean(reuseAddressStr));
        }
        float heapPercent;
        if (Runtime.getRuntime().maxMemory() < 1024 * MB) {
            // Low heap
            heapPercent = 0.01f;
        } else {
            // Compute a percentage to try to reach roughly 64Mb (big enough (tm))
            heapPercent = 64f * MB / Runtime.getRuntime().maxMemory();
        }
        // Force usage of PooledMemoryManager which allows to use grizzly's buffers across threads.
        builder.setMemoryManager(new PooledMemoryManager(
                1024,  // Initial buffer size
                3,     // Number of pools (with growing factor below this give us pools of 1K, 4K, 16k buffers)
                4,     // Growing factor to apply on the size of the buffer polled by the next pool
                selectorThreadCount,    // Number of pool slices that every pool will stripe allocation requests across
                heapPercent, // The percentage of the heap that this manager will use when populating the pools (5%)
                1f,    // The percentage of buffers to be pre-allocated during MemoryManager initialization (100%)
                true   // true to use direct buffers or false to use heap buffers
        ));
        builder.setMemoryManager(new PooledMemoryManager(true));
        final TCPNIOTransport transport = builder.build();