Hi Andrey.

You can find configuration files and basic structure in the attachment. App
servers connects cache server as client programmatically so no
configuration for that.


On Tue, Apr 4, 2017 at 6:15 PM, Andrey Mashenkov <andrey.mashen...@gmail.com
> wrote:

> Hi Alper,
>
> Still not enough clear. Would you please share a grid configuration?
>
> On Tue, Apr 4, 2017 at 4:45 PM, Alper Tekinalp <al...@evam.com> wrote:
>
>> Hi Andrey.
>>
>> The structure is a bit complicated. Let me try to explane: We have 2
>> types of applications: 1 is cache server which contains external caches, 1
>> is our application servers that runs the logic. Application servers also
>> creates and maintains caches. We have 2 application servers that connects
>> each other as servers. And these 2 application servers connects cache
>> server as clients. Application servers and cache server are 2 different
>> topologies.
>>
>> Sometime worker threads are stucked on:
>> at sun.misc.Unsafe.park(Native Method)
>>   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>>   at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAn
>> dCheckInterrupt(AbstractQueuedSynchronizer.java:834)
>>   at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcqu
>> ireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
>>   at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquir
>> eSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
>>   at org.apache.ignite.internal.util.future.GridFutureAdapter.get
>> 0(GridFutureAdapter.java:161)
>>   at org.apache.ignite.internal.util.future.GridFutureAdapter.get
>> (GridFutureAdapter.java:119)
>>
>> on put or get operations either caches on application servers or while
>> accessing caches on cache server.
>>
>> Our cached on application servers are affinity based so we only access
>> records on local server.
>>
>>
>>
>>
>> On Tue, Apr 4, 2017 at 4:09 PM, Andrey Mashenkov <
>> andrey.mashen...@gmail.com> wrote:
>>
>>> Hi Alper,
>>>
>>> Thread is waiting for result of remote get operation.
>>>
>>> Are you sure your server 1 is standalone and has its own topology? I
>>> can't understand, how 1 and 3 connects to 1 as client.
>>> Would you please clarify?
>>>
>>> On Tue, Apr 4, 2017 at 3:43 PM, Alper Tekinalp <al...@evam.com> wrote:
>>>
>>>> Hi.
>>>>
>>>> Can someone point me a direction that why a thread can stuck on the
>>>> trace above? Where should I look for? How can I investicate the issue?
>>>> Where should I look?
>>>>
>>>> On Mon, Mar 20, 2017 at 12:57 PM, Alper Tekinalp <al...@evam.com>
>>>> wrote:
>>>>
>>>>> Hi all.
>>>>>
>>>>>
>>>>> We have 3 ignite servers. Server 1 works as standalone. Server 2 and 3
>>>>> connects eachother as server but connects server 1 as client. In a point 
>>>>> of
>>>>> the time server 3 got stucked at:
>>>>>
>>>>>   at sun.misc.Unsafe.park(Native Method)
>>>>>   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>>>>>   at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAn
>>>>> dCheckInterrupt(AbstractQueuedSynchronizer.java:834)
>>>>>   at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcqu
>>>>> ireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
>>>>>   at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquir
>>>>> eSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
>>>>>   at org.apache.ignite.internal.util.future.GridFutureAdapter.get
>>>>> 0(GridFutureAdapter.java:161)
>>>>>   at org.apache.ignite.internal.util.future.GridFutureAdapter.get
>>>>> (GridFutureAdapter.java:119)
>>>>>   at org.apache.ignite.internal.processors.cache.distributed.dht.
>>>>> atomic.GridDhtAtomicCache.get0(GridDhtAtomicCache.java:488)
>>>>>   at org.apache.ignite.internal.processors.cache.GridCacheAdapter
>>>>> .get(GridCacheAdapter.java:4665)
>>>>>   at org.apache.ignite.internal.processors.cache.GridCacheAdapter
>>>>> .get(GridCacheAdapter.java:1388)
>>>>>   at org.apache.ignite.internal.processors.cache.IgniteCacheProxy
>>>>> .get(IgniteCacheProxy.java:1121)
>>>>>   at sun.reflect.GeneratedMethodAccessor634.invoke(Unknown Source)
>>>>>   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>>>>> thodAccessorImpl.java:43)
>>>>>   at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>   at com.evam.cache.client.CachePassthroughInvocationHandler.invo
>>>>> keInternal(CachePassthroughInvocationHandler.java:99)
>>>>>   at com.evam.cache.client.CachePassthroughInvocationHandler.invo
>>>>> ke(CachePassthroughInvocationHandler.java:78)
>>>>>   at com.sun.proxy.$Proxy56.get(Unknown Source)
>>>>>
>>>>> when getting record from server 1. Long after that server 2 also got
>>>>> stucked at the same trace and also server 2 and server 3 disconnects from
>>>>> each other.
>>>>>
>>>>> We investigated gc logs and there is not an unusual behaviour. One
>>>>> things is server 1 logs errors as follows when server 2 and server 3
>>>>> disconnects:
>>>>>
>>>>> [ERROR] 2017-03-18 22:01:21.881 [sys-stripe-82-#83%cache-server%] msg
>>>>> - Received message without registered handler (will ignore)
>>>>> [msg=GridNearSingleGetRequest [futId=1490866022968, key=BinaryObjectImpl
>>>>> [arr= true, ctx=false, start=0], partId=199, flags=1,
>>>>> topVer=AffinityTopologyVersion [topVer=33, minorTopVer=455],
>>>>> subjId=53293ebb-f01b-40b6-a060-bec4209e9c8a, taskNameHash=0,
>>>>> createTtl=0, accessTtl=-1], node=53293ebb-f01b-40b6-a060-bec4209e9c8a,
>>>>> locTopVer=AffinityTopologyVersion [topVer=33, minorTopVer=2937],
>>>>> msgTopVer=AffinityTopologyVersion [topVer=33, minorTopVer=455],
>>>>> cacheDesc=null]
>>>>> Registered listeners:
>>>>>
>>>>>
>>>>> Where should we look for the main cause of the problem? What can cause
>>>>> such a behaviour? There seems nothing wrong on server 1 logs etc.
>>>>>
>>>>> We use ignite 1.8.3.
>>>>>
>>>>> --
>>>>> Alper Tekinalp
>>>>>
>>>>> Software Developer
>>>>> Evam Streaming Analytics
>>>>>
>>>>> Atatürk Mah. Turgut Özal Bulv.
>>>>> Gardenya 5 Plaza K:6 Ataşehir
>>>>> 34758 İSTANBUL
>>>>>
>>>>> Tel:  +90 216 455 01 53 Fax: +90 216 455 01 54
>>>>> www.evam.com.tr
>>>>> <http://www.evam.com>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Alper Tekinalp
>>>>
>>>> Software Developer
>>>> Evam Streaming Analytics
>>>>
>>>> Atatürk Mah. Turgut Özal Bulv.
>>>> Gardenya 5 Plaza K:6 Ataşehir
>>>> 34758 İSTANBUL
>>>>
>>>> Tel:  +90 216 455 01 53 Fax: +90 216 455 01 54
>>>> www.evam.com.tr
>>>> <http://www.evam.com>
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Andrey V. Mashenkov
>>>
>>
>>
>>
>> --
>> Alper Tekinalp
>>
>> Software Developer
>> Evam Streaming Analytics
>>
>> Atatürk Mah. Turgut Özal Bulv.
>> Gardenya 5 Plaza K:6 Ataşehir
>> 34758 İSTANBUL
>>
>> Tel:  +90 216 455 01 53 Fax: +90 216 455 01 54
>> www.evam.com.tr
>> <http://www.evam.com>
>>
>
>
>
> --
> Best regards,
> Andrey V. Mashenkov
>



-- 
Alper Tekinalp

Software Developer
Evam Streaming Analytics

Atatürk Mah. Turgut Özal Bulv.
Gardenya 5 Plaza K:6 Ataşehir
34758 İSTANBUL

Tel:  +90 216 455 01 53 Fax: +90 216 455 01 54
www.evam.com.tr
<http://www.evam.com>
<beans xmlns="http://www.springframework.org/schema/beans";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xmlns:util="http://www.springframework.org/schema/util";
        xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/util
        http://www.springframework.org/schema/util/spring-util.xsd";>

    <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">

        <property name="gridName">
            <util:constant static-field="com.engine.properties.PropertyDefinitions.GRID_NAME"/>
        </property>
        <property name="segmentationPolicy">
            <util:constant static-field="org.apache.ignite.plugin.segmentation.SegmentationPolicy.NOOP"/>
        </property>
        <property name="failureDetectionTimeout" value="30000"/>
        <property name="metricsLogFrequency" value="0" />
        <property name="peerClassLoadingEnabled" value="false"/>
        <property name="includeEventTypes">
            <util:constant static-field="org.apache.ignite.events.EventType.EVTS_DISCOVERY"/>
        </property>

        <property name="binaryConfiguration">
            <bean class="org.apache.ignite.configuration.BinaryConfiguration">
                <property name="compactFooter" value="false"/>
            </bean>
        </property>

        <property name="discoverySpi">
            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                <property name="ipFinder">
                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                        <property name="addresses">
                            <bean class="org.springframework.util.StringUtils" factory-method="commaDelimitedListToSet">
                                <constructor-arg type="java.lang.String" value="127.0.0.1,127.0.0.2" />
                            </bean>
                        </property>
                    </bean>
                </property>
                <property name="localPort" value="47500" />
            </bean>
        </property>
    </bean>

</beans>
<beans xmlns="http://www.springframework.org/schema/beans";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd";>


    <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="clientMode" value="false"/>
        <property name="gridName" value="cache-server"/>
        <property name="peerClassLoadingEnabled" value="false"/>
        <property name="metricsLogFrequency" value="0"/>
        <property name="communicationSpi">
            <bean class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
                <!-- Override local port. -->
                <property name="localPort" value="16500"/>
                <property name="sharedMemoryPort" value="18100"/>
            </bean>
        </property>

        <property name="discoverySpi">
            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                <property name="localPort" value="17500"/>
                <property name="ipFinder">
                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                        <property name="addresses">
                            <list>
                                <value>127.0.0.1:17500..17506</value>

                                <!--
                                    IP Address and optional port range.
                                    You can also optionally specify an individual port.
                                -->
                            </list>
                        </property>
                    </bean>
                </property>
                <property name="ackTimeout" value="3000"/>
                <property name="socketTimeout" value="10000"/>
                <property name="networkTimeout" value="15000"/>
                <property name="reconnectCount" value="5"/>
            </bean>
        </property>
        <property name="failureDetectionTimeout" value="30000"/>

        <property name="cacheConfiguration">
            <array>
                <bean class="org.apache.ignite.configuration.CacheConfiguration">
                    <property name="name" value="system-cacheNames"/>
                    <property name="atomicityMode" value="ATOMIC"/>
                    <property name="cacheMode" value="REPLICATED"/>
                    <property name="memoryMode" value="ONHEAP_TIERED"/>
                    <property name="backups" value="1"/>
                    <property name="copyOnRead" value="false"/>
                    <property name="nearConfiguration">
                        <bean class="org.apache.ignite.configuration.NearCacheConfiguration"/>
                    </property>
                </bean>
                <bean class="org.apache.ignite.configuration.CacheConfiguration">
                    <property name="name" value="system-cacheDefs"/>
                    <property name="atomicityMode" value="ATOMIC"/>
                    <property name="cacheMode" value="REPLICATED"/>
                    <property name="memoryMode" value="ONHEAP_TIERED"/>
                    <property name="backups" value="1"/>
                    <property name="copyOnRead" value="false"/>
                    <property name="nearConfiguration">
                        <bean class="org.apache.ignite.configuration.NearCacheConfiguration"/>
                    </property>
                </bean>
            </array>
        </property>
    </bean>


</beans>



Reply via email to