Ok.

I am able to reproduce the "issue" unless we have a misunderstanding and we
are talking about the same thing...

My thick client runs inside a container in a closed network NOT bridged and
NOT host. I added a flag to my application that allows it to add the
address resolver to the config.

1- If I disable address resolution and I connect with visor to the cluster
and try to print detailed statistics for that particular client, visor
freezes indefinitely at the Data Region Snapshot.
Control C doesn't kill the visor either. It just stuck. This also happens
when running the cache command. Just freezes indefinitely.

I attached the jstack output to the email but it is also here:
https://www.dropbox.com/s/wujcee1gd87gk6o/jstack.out?dl=0

2- If I enable address resolution for the thick client then all the
commands work ok. I also see an "Accepted incoming communication connection"
log in the client.









On Mon, 29 Jun 2020 at 15:30, Ilya Kasnacheev <ilya.kasnach...@gmail.com>
wrote:

> Hello!
>
> The easiest way is jstack <process id of visor>
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> пн, 29 июн. 2020 г. в 20:20, John Smith <java.dev....@gmail.com>:
>
>> How?
>>
>> On Mon, 29 Jun 2020 at 12:03, Ilya Kasnacheev <ilya.kasnach...@gmail.com>
>> wrote:
>>
>>> Hello!
>>>
>>> Try collecting thread dump from Visor as it freezes.
>>>
>>> Regards,
>>> --
>>> Ilya Kasnacheev
>>>
>>>
>>> пн, 29 июн. 2020 г. в 18:11, John Smith <java.dev....@gmail.com>:
>>>
>>>> How though?
>>>>
>>>> 1- Entered node command
>>>> 2- Got list of nodes, including thick clients
>>>> 3- Selected thick client
>>>> 4- Entered Y for detailed statistics
>>>> 5- Snapshot details displayed
>>>> 6- Data region stats frozen
>>>>
>>>> I think the address resolution is working for this as well. I need to
>>>> confirm. Because I fixed the resolver as per your solution and visor no
>>>> longer freezes on #6 above.
>>>>
>>>> On Mon, 29 Jun 2020 at 10:54, Ilya Kasnacheev <
>>>> ilya.kasnach...@gmail.com> wrote:
>>>>
>>>>> Hello!
>>>>>
>>>>> This usually means there's no connectivity between node and Visor.
>>>>>
>>>>> Regards,
>>>>> --
>>>>> Ilya Kasnacheev
>>>>>
>>>>>
>>>>> пн, 29 июн. 2020 г. в 17:01, John Smith <java.dev....@gmail.com>:
>>>>>
>>>>>> Also I think for Visor as well?
>>>>>>
>>>>>> When I do top or node commands, I can see the thick client. But when
>>>>>> I look at detailed statistics for that particular thick client it freezes
>>>>>> "indefinitely". Regular statistics it seems ok.
>>>>>>
>>>>>> On Mon, 29 Jun 2020 at 08:08, Ilya Kasnacheev <
>>>>>> ilya.kasnach...@gmail.com> wrote:
>>>>>>
>>>>>>> Hello!
>>>>>>>
>>>>>>> For thick clients, you need both 47100 and 47500, both directions
>>>>>>> (perhaps for 47500 only client -> server is sufficient, but for 47100, 
>>>>>>> both
>>>>>>> are needed).
>>>>>>>
>>>>>>> For thin clients, 10800 is enough. For control.sh, 11211.
>>>>>>>
>>>>>>> Regards,
>>>>>>> --
>>>>>>> Ilya Kasnacheev
>>>>>>>
>>>>>>>
>>>>>>> пт, 26 июн. 2020 г. в 22:06, John Smith <java.dev....@gmail.com>:
>>>>>>>
>>>>>>>> I'm askin in separate question so people can search for it if they
>>>>>>>> ever come across this...
>>>>>>>>
>>>>>>>> My server nodes are started as and I also connect the client as
>>>>>>>> such.
>>>>>>>>
>>>>>>>>                   <bean
>>>>>>>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
>>>>>>>>                       <property name="addresses">
>>>>>>>>                           <list>
>>>>>>>>                             <value>foo:47500</value>
>>>>>>>> ...
>>>>>>>>                           </list>
>>>>>>>>                       </property>
>>>>>>>>                   </bean>
>>>>>>>>
>>>>>>>> In my client code I used the basic address resolver
>>>>>>>>
>>>>>>>> And I put in the map
>>>>>>>>
>>>>>>>> "{internalHostIP}:47500", "{externalHostIp}:{externalPort}"
>>>>>>>>
>>>>>>>> igniteConfig.setAddressResolver(addrResolver);
>>>>>>>>
>>>>>>>>
>>>>>>>> QUESTIONS
>>>>>>>> ___________________
>>>>>>>>
>>>>>>>> 1- Port 47500 is used for discovery only?
>>>>>>>> 2- Port 47100 is used for actual coms to the nodes?
>>>>>>>> 3- In my container environment I have only mapped 47100, do I also
>>>>>>>> need to map for 47500 for the Tcp Discovery SPI?
>>>>>>>> 4- When I connect with Visor and I try to look at details for the
>>>>>>>> client node it blocks. I'm assuming that's because visor cannot connect
>>>>>>>> back to the client at 47100?
>>>>>>>> Se logs below
>>>>>>>>
>>>>>>>> LOGS
>>>>>>>> ___________________
>>>>>>>>
>>>>>>>> When I look at the client logs I get...
>>>>>>>>
>>>>>>>> IgniteConfiguration [
>>>>>>>> igniteInstanceName=xxxxxx,
>>>>>>>> ...
>>>>>>>> discoSpi=TcpDiscoverySpi [
>>>>>>>>   addrRslvr=null, <--- Do I need to use BasicResolver or here???
>>>>>>>> ...
>>>>>>>>   commSpi=TcpCommunicationSpi [
>>>>>>>> ...
>>>>>>>>     locAddr=null,
>>>>>>>>     locHost=null,
>>>>>>>>     locPort=47100,
>>>>>>>>     addrRslvr=null, <--- Do I need to use BasicResolver or here???
>>>>>>>> ...
>>>>>>>>     ],
>>>>>>>> ...
>>>>>>>>     addrRslvr=BasicAddressResolver [
>>>>>>>>       inetAddrMap={},
>>>>>>>>       inetSockAddrMap={/internalIp:47100=/externalIp:2389} <----
>>>>>>>>     ],
>>>>>>>> ...
>>>>>>>>     clientMode=true,
>>>>>>>> ...
>>>>>>>>
>>>>>>>>
>>>>>>>>

Attachment: jstack.out
Description: Binary data

Reply via email to