[
https://issues.apache.org/jira/browse/GEODE-4285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dan Smith updated GEODE-4285:
-----------------------------
Fix Version/s: 1.5.0
> Temporary failure with "Unable to determine PDXType" using WAN
> --------------------------------------------------------------
>
> Key: GEODE-4285
> URL: https://issues.apache.org/jira/browse/GEODE-4285
> Project: Geode
> Issue Type: Bug
> Components: serialization
> Reporter: Dan Smith
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.5.0
>
>
> We tracked down a race condition in distributing PDX types to the remote side
> of a WAN site.
> When using a parallel sender, all primaries on the sending side are
> dispatching the same PDX type in parallel.
> On the receiving side, the first gateway batch will get a distributed lock in
> PeerTypeRegistration.addRemoteType
> {code}
> if (!r.containsKey(typeId)) {
> // This type could actually be for this distributed system,
> // so we need to make sure the type is published while holding
> // the distributed lock.
> lock();
> try {
> r.putIfAbsent(typeId, type);
> } finally {
> unlock();
> }
> }
> {code}
> However, the second gateway batch that is received will continue on without
> getting the distributed lock because r.containsKey() will return true.
> The second batch could have values that require this type. But without
> getting the lock, those fails will get to members that need the type
> potentially before the first batch is finished distributing the type.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)