[ https://issues.apache.org/jira/browse/GEODE-8530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17202333#comment-17202333 ]
ASF subversion and git services commented on GEODE-8530: -------------------------------------------------------- Commit de473c3c75f2545cae304f73d0c7f6ec1ba4f6c2 in geode-native's branch refs/heads/develop from Jakov Varenina [ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=de473c3 ] GEODE-8530: Fix for coredump during tx commit (#656) Client is fixed in a way that ignores all regions enlisted within transaction that client doesn't have configured. This behavior is aligned with the java client, since same thing is done there. * Minor fixes introduced: - added missing new line - replaced std::string with const auto - formatting corrected > Native client crash indicating coredump > --------------------------------------- > > Key: GEODE-8530 > URL: https://issues.apache.org/jira/browse/GEODE-8530 > Project: Geode > Issue Type: Bug > Components: native client > Reporter: Jakov Varenina > Assignee: Jakov Varenina > Priority: Major > Labels: pull-request-available > > Faulty scenario: > 1. Client initiates transaction. > 2. Client put entry in region1 that has CacheWriter configured > 3. Server CacheWriter receives a notification for region1, and triggers put > operation to region2 which is not defined on client. > 4. client commit transaction > When client commit transaction it then get region2 enlisted in transaction, > which is not defined on client and therefore coredump happens. > This scenario works for java client. Java client only ignores region that > aren't defined on client: > {code:java} > private boolean hookupRegion(DistributionManager dm) { > this.internalRegion = getRegionByPath(dm, regionPath); > if (this.internalRegion == null && this.parentRegionPath != null) { > this.internalRegion = getRegionByPath(dm, this.parentRegionPath); > this.regionPath = this.parentRegionPath; > } > if (this.internalRegion == null && dm.getSystem().isLoner()) { > // If there are additional regions that the server enlisted in the tx, > // which the client does not have, the client can just ignore the > region > // see bug 51922 > return false; > } > return true; > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)