You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/02/09 20:18:04 UTC

[jira] [Commented] (GEODE-4372) RemoteOperationMessage and subclasses are confusing

    [ https://issues.apache.org/jira/browse/GEODE-4372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16358901#comment-16358901 ] 

ASF subversion and git services commented on GEODE-4372:
--------------------------------------------------------

Commit 268556670e8c76cb6119e00876d6b9e1c93d0b2c in geode's branch refs/heads/develop from [~dschneider]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=2685566 ]

GEODE-4372: clean up RemoteOperationMessage classes (#1338)


* throw RemoteOperationException instead of ForceReattemptException when cache is closing. All ForceReattemptException throwing by RemoteOperationMessage has been removed.

* now uses SERIAL_EXECUTOR for all RemoteOperationMessages.
Previously most of these messages where processed in the partitioned message
thread pool even though most all of these messages where not partitioned.
It is possible that RemotePutAll and RemoteRemoveAll will have some trouble
being SERIAL_EXECUTOR.

* added comments for all RemoteOperationMessages describing what
they are used for

* Improved RemoteOperationMessageTest

* added a BucketTXRegionStub to calculate bucket region size on a stub.

* removed GemFireCacheImpl.getInstance call

* added RemoteOperationResponse unit test

* renamed handleAsUnexpected to handleCause

* renamed waitForCacheException to waitForRemoteResponse

* moved RemoteOperation classes to tx package



> RemoteOperationMessage and subclasses are confusing
> ---------------------------------------------------
>
>                 Key: GEODE-4372
>                 URL: https://issues.apache.org/jira/browse/GEODE-4372
>             Project: Geode
>          Issue Type: Improvement
>          Components: transactions
>            Reporter: Darrel Schneider
>            Assignee: Darrel Schneider
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> The RemoteOperationMessage is actually part of geode transactions but it is very hard to figure this out by looking at the class. It claims in many places to be part of the implementation of PartitionedRegions but is not. It also throws ForceReattemptException (which should only be done when trying to send a message to a PartitionedRegion bucket) and then does not handle that exception and ends up throwing an InternalGemFireException.
> Action items:
>  # repackage these messages to be in a tx package
>  # remove references to PartitionedRegion in comments
>  # stop throwing ForceReattemptException
>  # change code that uses these messages that is not transactional to use some other message



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)