Yes. It seems like safe to use. Seems like some race cause fail or deadlock
on the first try of exchange and after timeout, ignite run second try which
is successful. As I see in my tests (60 ignite activation per build),
second try is stable.
  But it cause unnecessary 10-15 seconds delay on each activation if run
tests on portable drive.

On Thursday, January 17, 2019, Ilya Kasnacheev <[email protected]>
wrote:
> Hello!
>> As I investigate during reproduction, evrething works fine when I run
test on local drive (SSD in case of my laptop), but if I copy project to
external HDD mounted over USB3.0, problem present. So it may be race caused
by condition on slow IO. Initialy I got problem when I build my project on
external drive.
> "Failed to wait for PME" is not a problem but a symptom. It is a simple
timeout. If you are hitting this timeout due to slow I/O you will see PME
messages which will then go away. This is by design.
> Nevertheless I will try to run your reproducer.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> ср, 16 янв. 2019 г. в 21:28, Andrey Davydov <[email protected]>:
>>
>> I create small reproducer project/ It is available on:
>>
https://drive.google.com/file/d/1A2_i1YBI7OGtJM0b8bxuIJrTI61ZQXoR/view?usp=sharing
>>
>> Thera are project, and some logs and dumps in archive.
>> There is only one DemoTest.java to run to reproduce.
>> test run 3 ignite nodes with configuration very similar to our real
project without any logic or additional services.
>> IMPORTANT. As I investigate during reproduction, evrething works fine
when I run test on local drive (SSD in case of my laptop), but if I copy
project to external HDD mounted over USB3.0, problem present. So it may be
race caused by condition on slow IO. Initialy I got problem when I build my
project on external drive.
>> Andrey.
>>
>>
>> On Wed, Jan 9, 2019 at 8:43 PM Andrey Davydov <[email protected]>
wrote:
>>>
>>>
>>>
>>> Hello,
>>>
>>> I found in test logs of my project that Ignite warns about failed
partition maps exchange. In test environment 3 Ignite 2.7 server nodes run
in the same JVM8 on Win10, using localhost networking.
>>>
>>>
>>>
>>> 2019-01-09 20:15:27,719 [sys-#164%TestNode-2%] INFO
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture:102
- Affinity changes applied in 10 ms.
>>>
>>> 2019-01-09 20:15:27,719 [sys-#163%TestNode-1%] INFO
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture:102
- Affinity changes applied in 10 ms.
>>>
>>> 2019-01-09 20:15:27,724 [sys-#164%TestNode-2%] INFO
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture:102
- Full map updating for 5 groups performed in 4 ms.
>>>
>>> 2019-01-09 20:15:27,724 [sys-#163%TestNode-1%] INFO
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture:102
- Full map updating for 5 groups performed in 5 ms.
>>>
>>> 2019-01-09 20:15:27,725 [sys-#163%TestNode-1%] INFO
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture:102
- Finish exchange future [startVer=AffinityTopologyVersion [topVer=3,
minorTopVer=1], resVer=AffinityTopologyVersion [topVer=3, minorTopVer=1],
err=null]
>>>
>>> 2019-01-09 20:15:27,725 [sys-#164%TestNode-2%] INFO
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture:102
- Finish exchange future [startVer=AffinityTopologyVersion [topVer=3,
minorTopVer=1], resVer=AffinityTopologyVersion [topVer=3, minorTopVer=1],
err=null]
>>>
>>> 2019-01-09 20:15:28,710 [db-checkpoint-thread-#157%TestNode-1%] INFO
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager:102
- Checkpoint started [checkpointId=443748a9-c1a5-4b3b-96e4-04a0862829ec,
startPtr=FileWALPointer [idx=0, fileOff=929726, len=31143],
checkpointLockWait=0ms, checkpointLockHoldTime=6ms,
walCpRecordFsyncDuration=248ms, pages=204, reason='node started']
>>>
>>> 2019-01-09 20:15:28,713 [db-checkpoint-thread-#151%TestNode-0%] INFO
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager:102
- Checkpoint started [checkpointId=cbc928e1-4ecd-40ae-9791-c6ba20c3669b,
startPtr=FileWALPointer [idx=0, fileOff=929726, len=31143],
checkpointLockWait=0ms, checkpointLockHoldTime=8ms,
walCpRecordFsyncDuration=257ms, pages=204, reason='node started']
>>>
>>> 2019-01-09 20:15:28,715 [db-checkpoint-thread-#146%TestNode-2%] INFO
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager:102
- Checkpoint started [checkpointId=ef4c3d02-ca01-4d67-8128-48d4dc99aabc,
startPtr=FileWALPointer [idx=0, fileOff=929726, len=31143],
checkpointLockWait=0ms, checkpointLockHoldTime=22ms,
walCpRecordFsyncDuration=289ms, pages=204, reason='node started']
>>>
>>> 2019-01-09 20:15:30,788 [db-checkpoint-thread-#157%TestNode-1%] INFO
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager:102
- Checkpoint finished [cpId=443748a9-c1a5-4b3b-96e4-04a0862829ec,
pages=204, markPos=FileWALPointer [idx=0, fileOff=929726, len=31143],
walSegmentsCleared=0, walSegmentsCovered=[], markDuration=1103ms,
pagesWrite=84ms, fsync=1992ms, total=3179ms]
>>>
>>> 2019-01-09 20:15:30,858 [db-checkpoint-thread-#151%TestNode-0%] INFO
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager:102
- Checkpoint finished [cpId=cbc928e1-4ecd-40ae-9791-c6ba20c3669b,
pages=204, markPos=FileWALPointer [idx=0, fileOff=929726, len=31143],
walSegmentsCleared=0, walSegmentsCovered=[], markDuration=1213ms,
pagesWrite=79ms, fsync=2066ms, total=3358ms]
>>>
>>> 2019-01-09 20:15:30,998 [db-checkpoint-thread-#146%TestNode-2%] INFO
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager:102
- Checkpoint finished [cpId=ef4c3d02-ca01-4d67-8128-48d4dc99aabc,
pages=204, markPos=FileWALPointer [idx=0, fileOff=929726, len=31143],
walSegmentsCleared=0, walSegmentsCovered=[], markDuration=1262ms,
pagesWrite=79ms, fsync=2203ms, total=3544ms]
>>>
>>> 2019-01-09 20:15:37,510 [exchange-worker-#44%TestNode-0%] WARN
org.apache.ignite.internal.diagnostic:118 - Failed to wait for partition
map exchange [topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1],
node=454d2051-cea6-4f2c-99a7-7c5698494175]. Dumping pending objects that
might be the cause:
>>>
>>> 2019-01-09 20:15:37,510 [exchange-worker-#44%TestNode-0%] WARN
org.apache.ignite.internal.diagnostic:118 - Ready affinity version:
AffinityTopologyVersion [topVer=-1, minorTopVer=0]
>>>
>>> 2019-01-09 20:15:37,515 [exchange-worker-#44%TestNode-0%] WARN
org.apache.ignite.internal.diagnostic:118 - Last exchange future: …
>>>
>>> 2019-01-09 20:15:37,515 [exchange-worker-#44%TestNode-0%] WARN
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager:118
- First 10 pending exchange futures [total=0]
>>>
>>> 2019-01-09 20:15:37,518 [exchange-worker-#44%TestNode-0%] WARN
org.apache.ignite.internal.diagnostic:118 - Last 10 exchange futures
(total: 1):
>>>
>>> 2019-01-09 20:15:37,519 [exchange-worker-#44%TestNode-0%] WARN
org.apache.ignite.internal.diagnostic:118 - >>>
GridDhtPartitionsExchangeFuture [topVer=AffinityTopologyVersion [topVer=3,
minorTopVer=1], evt=DISCOVERY_CUSTOM_EVT, evtNode=TcpDiscoveryNode
[id=454d2051-cea6-4f2c-99a7-7c5698494175, addrs=[127.0.0.1], sockAddrs=[/
127.0.0.1:47500], discPort=47500, order=1, intOrder=1,
lastExchangeTime=1547054137330, loc=true, ver=2.7.0#20181130-sha1:256ae401,
isClient=false], done=false]
>>>
>>> 2019-01-09 20:15:37,520 [exchange-worker-#44%TestNode-0%] WARN
org.apache.ignite.internal.diagnostic:118 - Latch manager state:
ExchangeLatchManager [serverLatches={}, clientLatches={}]
>>>
>>> 2019-01-09 20:15:37,535 [exchange-worker-#132%TestNode-2%] WARN
org.apache.ignite.internal.diagnostic:118 - Failed to wait for partition
map exchange [topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1],
node=a8e212dc-303e-4bc6-8bb6-fa2bc4c0478d]. Dumping pending objects that
might be the cause:
>>>
>>> 2019-01-09 20:15:37,535 [exchange-worker-#132%TestNode-2%] WARN
org.apache.ignite.internal.diagnostic:118 - Ready affinity version:
AffinityTopologyVersion [topVer=-1, minorTopVer=0]
>>>
>>> 2019-01-09 20:15:37,536 [exchange-worker-#132%TestNode-2%] WARN
org.apache.ignite.internal.diagnostic:118 - Last exchange future:
>>>
>>> 2019-01-09 20:15:37,537 [exchange-worker-#132%TestNode-2%] WARN
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager:118
- First 10 pending exchange futures [total=0]
>>>
>>> 2019-01-09 20:15:37,538 [exchange-worker-#132%TestNode-2%] WARN
org.apache.ignite.internal.diagnostic:118 - Last 10 exchange futures
(total: 1):
>>>
>>> 2019-01-09 20:15:37,539 [exchange-worker-#132%TestNode-2%] WARN
org.apache.ignite.internal.diagnostic:118 - >>>
GridDhtPartitionsExchangeFuture [topVer=AffinityTopologyVersion [topVer=3,
minorTopVer=1], evt=DISCOVERY_CUSTOM_EVT, evtNode=TcpDiscoveryNode
[id=454d2051-cea6-4f2c-99a7-7c5698494175, addrs=[127.0.0.1], sockAddrs=[/
127.0.0.1:47500], discPort=47500, order=1, intOrder=1,
lastExchangeTime=1547054124462, loc=false,
ver=2.7.0#20181130-sha1:256ae401, isClient=false], done=false]
>>>
>>> 2019-01-09 20:15:37,540 [exchange-worker-#132%TestNode-2%] WARN
org.apache.ignite.internal.diagnostic:118 - Latch manager state:
ExchangeLatchManager [serverLatches={}, clientLatches={}]
>>>
>>>
>>>
>>> After that, everything works fine, but it cause every test to take more
10 seconds to run. And I am afraid to use it in prod before I understand
problem.
>>>
>>>
>>>
>>> Andrey.
>>>
>>>

Reply via email to