| forgerock-parent @ 837b92 | ●●●●● patch | view | raw | blame | history | |
| opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/DefaultTCPNIOTransport.java | ●●●●● patch | view | raw | blame | history | |
| opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/ServerTCPNIOTransport.java | ●●●●● 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();