New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GEODE-9625: Only serialize transaction metadata when grouping enabled. #6892
Conversation
geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java
Show resolved
Hide resolved
geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java
Outdated
Show resolved
Hide resolved
transactionId = event.getTransactionId(); | ||
this.isLastEventInTransaction = isLastEventInTransaction; | ||
|
||
if (transactionMetadataDisposition != Exclude) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, I did not see toData() and fromData() are changed. Why serialization and replication would save data?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The disposition is now only set to anything other than Exclude
by when TX grouping is enabled. The transactionId
is null
when transactionMetadataDisposition
is Exclude
. In toData
the transactionId
part is only serialized if it isn't null
.
geode-core/src/main/java/org/apache/geode/internal/cache/wan/GatewaySenderEventImpl.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySenderEventProcessor.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all the unit tests too!
For all changes:
Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
Has your PR been rebased against the latest commit within the target branch (typically
develop
)?Is your initial contribution a single, squashed commit?
Does
gradlew build
run cleanly?Have you written or updated unit tests to verify your changes?
If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?