[
https://issues.apache.org/jira/browse/IGNITE-500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15616309#comment-15616309
]
Anton Vinogradov commented on IGNITE-500:
-----------------------------------------
Semen, thanks for review and fixes.
1){noformat}as I understand new streaming by 'current topology + affinity' is
needed only when IsolatedUpdater is used (i.e. allowOverwrite=false)?{noformat}
Correct.
2){noformat}I think you need fix DataStreamerImpl.nodes to use
'cctx.topology().nodes' only for IsolatedUpdater{noformat}
It's already works this way
{noformat}
if (!allowOverwrite())
res = cctx.isLocal() ?
aff.mapKeyToPrimaryAndBackups(cacheName, key, topVer) :
cctx.topology().nodes(key.partition(), topVer);
{noformat}
is that what you mention about?
3){noformat}, also you do not need to add new field in DataStreamerRequest,
allowOverwriet is true is updater 'instance of IsolatedUpdater'{noformat}
Updater is an IsolatedUpdater instance from another node.
Possible, in future IsolatedUpdater will be refactored to IsolatedUpdaterV2 or
relocated to another package and "instance of IsolatedUpdater" check at old
nodes will fail.
4){noformat}in DataStreamerImpl constructor you create cache if it does not
exists only for clients. Why this is not needed for server nodes?{noformat}
Fixed & added test.
5){noformat}in Ignite code 'catch (Throwable ex)' is not usually used, why you
need catch Throwable? If this is really needed then you must re-throw
Errors.{noformat}
This catchs AssertionErrors as well. Agree that this should be refactored, can
you give me some tips how to do that in proper way?
6){noformat}please add test with server nodes restart in
CacheLoadingConcurrentGridStartSelfTest{noformat}
In this case streamer should fail with exception, this checked at another
tests, for example IgniteClientReconnectStreamerTest.
7){noformat}I did not understand changes in GridCompoundFuture, please
explain{noformat}
Compound future can fail on exception from another node and it was hard to
analyze where Compound future actually failed, so I extended exception with
"current" stack trace.
Yes, Better solution in to extend stack trace of exceptions gained from another
nodes.
Fixed.
8){noformat}Also for debug purpose please add topology version in data streamer
future (which is created in GridCacheMvccManager) and print all these futures
in GridCachePartitionExchangeManager.dumpPendingObjects.{noformat}
Done.
> CacheLoadingConcurrentGridStartSelfTest fails
> ---------------------------------------------
>
> Key: IGNITE-500
> URL: https://issues.apache.org/jira/browse/IGNITE-500
> Project: Ignite
> Issue Type: Sub-task
> Reporter: Yakov Zhdanov
> Assignee: Anton Vinogradov
> Priority: Critical
> Labels: Muted_test, important, user-request
> Fix For: 1.8
>
> Attachments: ignite-500.log
>
>
> http://apacheignite.readme.io/v1.0/discuss/550865a8e35e9c3b0083af3e
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)